From e26098062423180255d59c6d5300276d8b641014 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Tue, 28 Feb 2017 13:48:57 -0800 Subject: [PATCH] Parse SuperExpression with Fasta. R=paulberry@google.com BUG= Review-Url: https://codereview.chromium.org/2721973002 . --- .../test/generated/parser_fasta_test.dart | 192 ------------------ .../lib/src/fasta/analyzer/ast_builder.dart | 6 + 2 files changed, 6 insertions(+), 192 deletions(-) diff --git a/pkg/analyzer/test/generated/parser_fasta_test.dart b/pkg/analyzer/test/generated/parser_fasta_test.dart index 0fb3fe3cf52..23afba30326 100644 --- a/pkg/analyzer/test/generated/parser_fasta_test.dart +++ b/pkg/analyzer/test/generated/parser_fasta_test.dart @@ -407,22 +407,6 @@ class ClassMemberParserTest_Fasta extends FastaParserTestCase @reflectiveTest class ComplexParserTest_Fasta extends FastaParserTestCase with ComplexParserTestMixin { - @override - @failingTest - void test_additiveExpression_precedence_multiplicative_left_withSuper() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_additiveExpression_precedence_multiplicative_left_withSuper(); - } - - @override - @failingTest - void test_additiveExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_additiveExpression_super(); - } - @override @failingTest void test_assignableExpression_arguments_normal_chain() { @@ -455,38 +439,6 @@ class ComplexParserTest_Fasta extends FastaParserTestCase super.test_assignmentExpression_prefixedIdentifier(); } - @override - @failingTest - void test_assignmentExpression_propertyAccess() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_assignmentExpression_propertyAccess(); - } - - @override - @failingTest - void test_bitwiseAndExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_bitwiseAndExpression_super(); - } - - @override - @failingTest - void test_bitwiseOrExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_bitwiseOrExpression_super(); - } - - @override - @failingTest - void test_bitwiseXorExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_bitwiseXorExpression_super(); - } - @override @failingTest void test_cascade_withAssignment() { @@ -552,22 +504,6 @@ class ComplexParserTest_Fasta extends FastaParserTestCase super.test_multipleLabels_statement(); } - @override - @failingTest - void test_multiplicativeExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_multiplicativeExpression_super(); - } - - @override - @failingTest - void test_shiftExpression_super() { - // TODO(paulberry,ahe): AstBuilder doesn't implement - // handleSuperExpression(). - super.test_shiftExpression_super(); - } - @override @failingTest void test_topLevelFunction_nestedGenericFunction() { @@ -611,12 +547,6 @@ class ElementStoreProxy implements ElementStore { @reflectiveTest class ExpressionParserTest_Fasta extends FastaParserTestCase with ExpressionParserTestMixin { - @override - @failingTest - void test_parseAdditiveExpression_super() { - super.test_parseAdditiveExpression_super(); - } - @override @failingTest void test_parseAssignableExpression_expression_args_dot() { @@ -657,18 +587,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseAssignableExpression_identifier_question_dot(); } - @override - @failingTest - void test_parseAssignableExpression_super_dot() { - super.test_parseAssignableExpression_super_dot(); - } - - @override - @failingTest - void test_parseAssignableExpression_super_index() { - super.test_parseAssignableExpression_super_index(); - } - @override @failingTest void test_parseAssignableSelector_dot() { @@ -699,24 +617,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseAwaitExpression(); } - @override - @failingTest - void test_parseBitwiseAndExpression_super() { - super.test_parseBitwiseAndExpression_super(); - } - - @override - @failingTest - void test_parseBitwiseOrExpression_super() { - super.test_parseBitwiseOrExpression_super(); - } - - @override - @failingTest - void test_parseBitwiseXorExpression_super() { - super.test_parseBitwiseXorExpression_super(); - } - @override @failingTest void test_parseCascadeSection_i() { @@ -885,12 +785,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseConstExpression_mapLiteral_typed_genericComment(); } - @override - @failingTest - void test_parseEqualityExpression_super() { - super.test_parseEqualityExpression_super(); - } - @override @failingTest void test_parseExpression_assign_compound() { @@ -921,30 +815,12 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseExpression_invokeFunctionExpression(); } - @override - @failingTest - void test_parseExpression_superMethodInvocation() { - super.test_parseExpression_superMethodInvocation(); - } - @override @failingTest void test_parseExpression_superMethodInvocation_typeArgumentComments() { super.test_parseExpression_superMethodInvocation_typeArgumentComments(); } - @override - @failingTest - void test_parseExpression_superMethodInvocation_typeArguments() { - super.test_parseExpression_superMethodInvocation_typeArguments(); - } - - @override - @failingTest - void test_parseExpressionWithoutCascade_superMethodInvocation() { - super.test_parseExpressionWithoutCascade_superMethodInvocation(); - } - @override @failingTest void @@ -953,14 +829,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase .test_parseExpressionWithoutCascade_superMethodInvocation_typeArgumentComments(); } - @override - @failingTest - void - test_parseExpressionWithoutCascade_superMethodInvocation_typeArguments() { - super - .test_parseExpressionWithoutCascade_superMethodInvocation_typeArguments(); - } - @override @failingTest void test_parseFunctionExpression_typeParameterComments() { @@ -1130,12 +998,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseMapLiteralEntry_string(); } - @override - @failingTest - void test_parseMultiplicativeExpression_super() { - super.test_parseMultiplicativeExpression_super(); - } - @override @failingTest void test_parseNewExpression() { @@ -1220,12 +1082,6 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parsePrimaryExpression_parenthesized(); } - @override - @failingTest - void test_parsePrimaryExpression_super() { - super.test_parsePrimaryExpression_super(); - } - @override @failingTest void test_parsePrimaryExpression_this() { @@ -1256,24 +1112,12 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseRelationalExpression_is_nullable(); } - @override - @failingTest - void test_parseRelationalExpression_super() { - super.test_parseRelationalExpression_super(); - } - @override @failingTest void test_parseRethrowExpression() { super.test_parseRethrowExpression(); } - @override - @failingTest - void test_parseShiftExpression_super() { - super.test_parseShiftExpression_super(); - } - @override @failingTest void test_parseStringLiteral_interpolated() { @@ -1310,47 +1154,11 @@ class ExpressionParserTest_Fasta extends FastaParserTestCase super.test_parseUnaryExpression_decrement_super(); } - @override - @failingTest - void test_parseUnaryExpression_decrement_super_propertyAccess() { - super.test_parseUnaryExpression_decrement_super_propertyAccess(); - } - @override @failingTest void test_parseUnaryExpression_decrement_super_withComment() { super.test_parseUnaryExpression_decrement_super_withComment(); } - - @override - @failingTest - void test_parseUnaryExpression_increment_super_index() { - super.test_parseUnaryExpression_increment_super_index(); - } - - @override - @failingTest - void test_parseUnaryExpression_increment_super_propertyAccess() { - super.test_parseUnaryExpression_increment_super_propertyAccess(); - } - - @override - @failingTest - void test_parseUnaryExpression_minus_super() { - super.test_parseUnaryExpression_minus_super(); - } - - @override - @failingTest - void test_parseUnaryExpression_not_super() { - super.test_parseUnaryExpression_not_super(); - } - - @override - @failingTest - void test_parseUnaryExpression_tilda_super() { - super.test_parseUnaryExpression_tilda_super(); - } } /** diff --git a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart index fb2421a4b64..34c00aa8de0 100644 --- a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart +++ b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart @@ -444,6 +444,12 @@ class AstBuilder extends ScopeListener { push(ast.symbolLiteral(toAnalyzerToken(hashToken), components)); } + @override + void handleSuperExpression(Token token) { + debugEvent("SuperExpression"); + push(ast.superExpression(toAnalyzerToken(token))); + } + void handleType(Token beginToken, Token endToken) { debugEvent("Type"); TypeArgumentList arguments = pop();