Add more parser tests for Fasta
Change-Id: I126f028ced01ac0624f080269a6a40d7de4a248d
Reviewed-on: https://dart-review.googlesource.com/54637
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
diff --git a/pkg/analyzer/test/generated/parser_forest_test.dart b/pkg/analyzer/test/generated/parser_forest_test.dart
index d383259..5c22fec 100644
--- a/pkg/analyzer/test/generated/parser_forest_test.dart
+++ b/pkg/analyzer/test/generated/parser_forest_test.dart
@@ -9,7 +9,17 @@
main() async {
defineReflectiveSuite(() {
+ // TODO(brianwilkerson) Implement the remaining parser tests.
+// defineReflectiveTests(ClassMemberParserTest_Forest);
+// defineReflectiveTests(ComplexParserTest_Forest);
+// defineReflectiveTests(ErrorParserTest_Forest);
defineReflectiveTests(ExpressionParserTest_Forest);
+// defineReflectiveTests(FormalParameterParserTest_Forest);
+// defineReflectiveTests(NonErrorParserTest_Forest);
+// defineReflectiveTests(RecoveryParserTest_Forest);
+// defineReflectiveTests(SimpleParserTest_Forest);
+ defineReflectiveTests(StatementParserTest_Forest);
+ defineReflectiveTests(TopLevelParserTest_Forest);
});
}
@@ -972,3 +982,1383 @@
super.test_parseUnaryExpression_tilda_super();
}
}
+
+/**
+ * Tests of the fasta parser based on [StatementParserTestMixin].
+ */
+@reflectiveTest
+class StatementParserTest_Forest extends FastaBodyBuilderTestCase
+ with StatementParserTestMixin {
+ StatementParserTest_Forest() : super(false);
+
+ @failingTest
+ void test_invalid_typeParamAnnotation() {
+ super.test_invalid_typeParamAnnotation();
+ }
+
+ @failingTest
+ void test_invalid_typeParamAnnotation2() {
+ super.test_invalid_typeParamAnnotation2();
+ }
+
+ @failingTest
+ void test_invalid_typeParamAnnotation3() {
+ super.test_invalid_typeParamAnnotation3();
+ }
+
+ @failingTest
+ void test_parseAssertStatement() {
+ super.test_parseAssertStatement();
+ }
+
+ @failingTest
+ void test_parseAssertStatement_messageLowPrecedence() {
+ super.test_parseAssertStatement_messageLowPrecedence();
+ }
+
+ @failingTest
+ void test_parseAssertStatement_messageString() {
+ super.test_parseAssertStatement_messageString();
+ }
+
+ @failingTest
+ void test_parseAssertStatement_trailingComma_message() {
+ super.test_parseAssertStatement_trailingComma_message();
+ }
+
+ @failingTest
+ void test_parseAssertStatement_trailingComma_noMessage() {
+ super.test_parseAssertStatement_trailingComma_noMessage();
+ }
+
+ @failingTest
+ void test_parseBlock_empty() {
+ super.test_parseBlock_empty();
+ }
+
+ @failingTest
+ void test_parseBlock_nonEmpty() {
+ super.test_parseBlock_nonEmpty();
+ }
+
+ @failingTest
+ void test_parseBreakStatement_label() {
+ super.test_parseBreakStatement_label();
+ }
+
+ @failingTest
+ void test_parseBreakStatement_noLabel() {
+ super.test_parseBreakStatement_noLabel();
+ }
+
+ @failingTest
+ void test_parseContinueStatement_label() {
+ super.test_parseContinueStatement_label();
+ }
+
+ @failingTest
+ void test_parseContinueStatement_noLabel() {
+ super.test_parseContinueStatement_noLabel();
+ }
+
+ @failingTest
+ void test_parseDoStatement() {
+ super.test_parseDoStatement();
+ }
+
+ @failingTest
+ void test_parseEmptyStatement() {
+ super.test_parseEmptyStatement();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_await() {
+ super.test_parseForStatement_each_await();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_genericFunctionType() {
+ super.test_parseForStatement_each_genericFunctionType();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_identifier() {
+ super.test_parseForStatement_each_identifier();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_noType_metadata() {
+ super.test_parseForStatement_each_noType_metadata();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_type() {
+ super.test_parseForStatement_each_type();
+ }
+
+ @failingTest
+ void test_parseForStatement_each_var() {
+ super.test_parseForStatement_each_var();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_c() {
+ super.test_parseForStatement_loop_c();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_cu() {
+ super.test_parseForStatement_loop_cu();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_ecu() {
+ super.test_parseForStatement_loop_ecu();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_i() {
+ super.test_parseForStatement_loop_i();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_i_withMetadata() {
+ super.test_parseForStatement_loop_i_withMetadata();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_ic() {
+ super.test_parseForStatement_loop_ic();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_icu() {
+ super.test_parseForStatement_loop_icu();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_iicuu() {
+ super.test_parseForStatement_loop_iicuu();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_iu() {
+ super.test_parseForStatement_loop_iu();
+ }
+
+ @failingTest
+ void test_parseForStatement_loop_u() {
+ super.test_parseForStatement_loop_u();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclarationStatement() {
+ super.test_parseFunctionDeclarationStatement();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclarationStatement_typeParameterComments() {
+ super.test_parseFunctionDeclarationStatement_typeParameterComments();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclarationStatement_typeParameters() {
+ super.test_parseFunctionDeclarationStatement_typeParameters();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclarationStatement_typeParameters_noReturnType() {
+ super.test_parseFunctionDeclarationStatement_typeParameters_noReturnType();
+ }
+
+ @failingTest
+ void test_parseIfStatement_else_block() {
+ super.test_parseIfStatement_else_block();
+ }
+
+ @failingTest
+ void test_parseIfStatement_else_statement() {
+ super.test_parseIfStatement_else_statement();
+ }
+
+ @failingTest
+ void test_parseIfStatement_noElse_block() {
+ super.test_parseIfStatement_noElse_block();
+ }
+
+ @failingTest
+ void test_parseIfStatement_noElse_statement() {
+ super.test_parseIfStatement_noElse_statement();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_list_empty() {
+ super.test_parseNonLabeledStatement_const_list_empty();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_list_nonEmpty() {
+ super.test_parseNonLabeledStatement_const_list_nonEmpty();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_map_empty() {
+ super.test_parseNonLabeledStatement_const_map_empty();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_map_nonEmpty() {
+ super.test_parseNonLabeledStatement_const_map_nonEmpty();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_object() {
+ super.test_parseNonLabeledStatement_const_object();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_const_object_named_typeParameters() {
+ super.test_parseNonLabeledStatement_const_object_named_typeParameters();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_constructorInvocation() {
+ super.test_parseNonLabeledStatement_constructorInvocation();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_false() {
+ super.test_parseNonLabeledStatement_false();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_functionDeclaration() {
+ super.test_parseNonLabeledStatement_functionDeclaration();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_functionDeclaration_arguments() {
+ super.test_parseNonLabeledStatement_functionDeclaration_arguments();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_functionExpressionIndex() {
+ super.test_parseNonLabeledStatement_functionExpressionIndex();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_functionInvocation() {
+ super.test_parseNonLabeledStatement_functionInvocation();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_invokeFunctionExpression() {
+ super.test_parseNonLabeledStatement_invokeFunctionExpression();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_localFunction_gftReturnType() {
+ super.test_parseNonLabeledStatement_localFunction_gftReturnType();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_null() {
+ super.test_parseNonLabeledStatement_null();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_startingWithBuiltInIdentifier() {
+ super.test_parseNonLabeledStatement_startingWithBuiltInIdentifier();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_true() {
+ super.test_parseNonLabeledStatement_true();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_typeCast() {
+ super.test_parseNonLabeledStatement_typeCast();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_final_namedFunction() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_final_namedFunction();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_gftType() {
+ super.test_parseNonLabeledStatement_variableDeclaration_gftType();
+ }
+
+ @failingTest
+ void
+ test_parseNonLabeledStatement_variableDeclaration_gftType_functionReturnType() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_functionReturnType();
+ }
+
+ @failingTest
+ void
+ test_parseNonLabeledStatement_variableDeclaration_gftType_gftReturnType() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_gftReturnType();
+ }
+
+ @failingTest
+ void
+ test_parseNonLabeledStatement_variableDeclaration_gftType_gftReturnType2() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_gftReturnType2();
+ }
+
+ @failingTest
+ void
+ test_parseNonLabeledStatement_variableDeclaration_gftType_noReturnType() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_noReturnType();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_gftType_returnType() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_returnType();
+ }
+
+ @failingTest
+ void
+ test_parseNonLabeledStatement_variableDeclaration_gftType_voidReturnType() {
+ super
+ .test_parseNonLabeledStatement_variableDeclaration_gftType_voidReturnType();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_typeParam() {
+ super.test_parseNonLabeledStatement_variableDeclaration_typeParam();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_typeParam2() {
+ super.test_parseNonLabeledStatement_variableDeclaration_typeParam2();
+ }
+
+ @failingTest
+ void test_parseNonLabeledStatement_variableDeclaration_typeParam3() {
+ super.test_parseNonLabeledStatement_variableDeclaration_typeParam3();
+ }
+
+ @failingTest
+ void test_parseStatement_emptyTypeArgumentList() {
+ super.test_parseStatement_emptyTypeArgumentList();
+ }
+
+ @failingTest
+ void test_parseStatement_function_gftReturnType() {
+ super.test_parseStatement_function_gftReturnType();
+ }
+
+ @failingTest
+ void test_parseStatement_functionDeclaration_noReturnType() {
+ super.test_parseStatement_functionDeclaration_noReturnType();
+ }
+
+ @failingTest
+ void
+ test_parseStatement_functionDeclaration_noReturnType_typeParameterComments() {
+ super
+ .test_parseStatement_functionDeclaration_noReturnType_typeParameterComments();
+ }
+
+ @failingTest
+ void test_parseStatement_functionDeclaration_noReturnType_typeParameters() {
+ super.test_parseStatement_functionDeclaration_noReturnType_typeParameters();
+ }
+
+ @failingTest
+ void test_parseStatement_functionDeclaration_returnType() {
+ super.test_parseStatement_functionDeclaration_returnType();
+ }
+
+ @failingTest
+ void test_parseStatement_functionDeclaration_returnType_typeParameters() {
+ super.test_parseStatement_functionDeclaration_returnType_typeParameters();
+ }
+
+ @failingTest
+ void test_parseStatement_multipleLabels() {
+ super.test_parseStatement_multipleLabels();
+ }
+
+ @failingTest
+ void test_parseStatement_noLabels() {
+ super.test_parseStatement_noLabels();
+ }
+
+ @failingTest
+ void test_parseStatement_singleLabel() {
+ super.test_parseStatement_singleLabel();
+ }
+
+ @failingTest
+ void test_parseSwitchStatement_case() {
+ super.test_parseSwitchStatement_case();
+ }
+
+ @failingTest
+ void test_parseSwitchStatement_empty() {
+ super.test_parseSwitchStatement_empty();
+ }
+
+ @failingTest
+ void test_parseSwitchStatement_labeledCase() {
+ super.test_parseSwitchStatement_labeledCase();
+ }
+
+ @failingTest
+ void test_parseSwitchStatement_labeledDefault() {
+ super.test_parseSwitchStatement_labeledDefault();
+ }
+
+ @failingTest
+ void test_parseSwitchStatement_labeledStatementInCase() {
+ super.test_parseSwitchStatement_labeledStatementInCase();
+ }
+
+ @failingTest
+ void test_parseTryStatement_catch() {
+ super.test_parseTryStatement_catch();
+ }
+
+ @failingTest
+ void test_parseTryStatement_catch_error_missingCatchParam() {
+ super.test_parseTryStatement_catch_error_missingCatchParam();
+ }
+
+ @failingTest
+ void test_parseTryStatement_catch_error_missingCatchParen() {
+ super.test_parseTryStatement_catch_error_missingCatchParen();
+ }
+
+ @failingTest
+ void test_parseTryStatement_catch_error_missingCatchTrace() {
+ super.test_parseTryStatement_catch_error_missingCatchTrace();
+ }
+
+ @failingTest
+ void test_parseTryStatement_catch_finally() {
+ super.test_parseTryStatement_catch_finally();
+ }
+
+ @failingTest
+ void test_parseTryStatement_finally() {
+ super.test_parseTryStatement_finally();
+ }
+
+ @failingTest
+ void test_parseTryStatement_multiple() {
+ super.test_parseTryStatement_multiple();
+ }
+
+ @failingTest
+ void test_parseTryStatement_on() {
+ super.test_parseTryStatement_on();
+ }
+
+ @failingTest
+ void test_parseTryStatement_on_catch() {
+ super.test_parseTryStatement_on_catch();
+ }
+
+ @failingTest
+ void test_parseTryStatement_on_catch_finally() {
+ super.test_parseTryStatement_on_catch_finally();
+ }
+
+ @failingTest
+ void test_parseVariableDeclaration_equals_builtIn() {
+ super.test_parseVariableDeclaration_equals_builtIn();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_const_noType() {
+ super.test_parseVariableDeclarationListAfterMetadata_const_noType();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_const_type() {
+ super.test_parseVariableDeclarationListAfterMetadata_const_type();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_const_typeComment() {
+ super.test_parseVariableDeclarationListAfterMetadata_const_typeComment();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_dynamic_typeComment() {
+ super.test_parseVariableDeclarationListAfterMetadata_dynamic_typeComment();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_final_noType() {
+ super.test_parseVariableDeclarationListAfterMetadata_final_noType();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_final_type() {
+ super.test_parseVariableDeclarationListAfterMetadata_final_type();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_final_typeComment() {
+ super.test_parseVariableDeclarationListAfterMetadata_final_typeComment();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_type_multiple() {
+ super.test_parseVariableDeclarationListAfterMetadata_type_multiple();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_type_single() {
+ super.test_parseVariableDeclarationListAfterMetadata_type_single();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_type_typeComment() {
+ super.test_parseVariableDeclarationListAfterMetadata_type_typeComment();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_var_multiple() {
+ super.test_parseVariableDeclarationListAfterMetadata_var_multiple();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_var_single() {
+ super.test_parseVariableDeclarationListAfterMetadata_var_single();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationListAfterMetadata_var_typeComment() {
+ super.test_parseVariableDeclarationListAfterMetadata_var_typeComment();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationStatementAfterMetadata_multiple() {
+ super.test_parseVariableDeclarationStatementAfterMetadata_multiple();
+ }
+
+ @failingTest
+ void test_parseVariableDeclarationStatementAfterMetadata_single() {
+ super.test_parseVariableDeclarationStatementAfterMetadata_single();
+ }
+
+ @failingTest
+ void test_parseWhileStatement() {
+ super.test_parseWhileStatement();
+ }
+
+ @failingTest
+ void test_parseYieldStatement_each() {
+ super.test_parseYieldStatement_each();
+ }
+
+ @failingTest
+ void test_parseYieldStatement_normal() {
+ super.test_parseYieldStatement_normal();
+ }
+}
+
+@reflectiveTest
+class TopLevelParserTest_Forest extends FastaBodyBuilderTestCase
+ with TopLevelParserTestMixin {
+ TopLevelParserTest_Forest() : super(false);
+
+ @failingTest
+ void test_function_literal_allowed_at_toplevel() {
+ super.test_function_literal_allowed_at_toplevel();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_ArgumentList_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_ArgumentList_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_IndexExpression_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_IndexExpression_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_ListLiteral_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_ListLiteral_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_ParenthesizedExpression_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_ParenthesizedExpression_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void
+ test_function_literal_allowed_in_StringInterpolation_in_ConstructorFieldInitializer() {
+ super
+ .test_function_literal_allowed_in_StringInterpolation_in_ConstructorFieldInitializer();
+ }
+
+ @failingTest
+ void test_import_as_show() {
+ super.test_import_as_show();
+ }
+
+ @failingTest
+ void test_import_show_hide() {
+ super.test_import_show_hide();
+ }
+
+ @failingTest
+ void test_import_withDocComment() {
+ super.test_import_withDocComment();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_abstract() {
+ super.test_parseClassDeclaration_abstract();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_empty() {
+ super.test_parseClassDeclaration_empty();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_extends() {
+ super.test_parseClassDeclaration_extends();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_extendsAndImplements() {
+ super.test_parseClassDeclaration_extendsAndImplements();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_extendsAndWith() {
+ super.test_parseClassDeclaration_extendsAndWith();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_extendsAndWithAndImplements() {
+ super.test_parseClassDeclaration_extendsAndWithAndImplements();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_implements() {
+ super.test_parseClassDeclaration_implements();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_metadata() {
+ super.test_parseClassDeclaration_metadata();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_native() {
+ super.test_parseClassDeclaration_native();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_nonEmpty() {
+ super.test_parseClassDeclaration_nonEmpty();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_typeAlias_implementsC() {
+ super.test_parseClassDeclaration_typeAlias_implementsC();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_typeAlias_withB() {
+ super.test_parseClassDeclaration_typeAlias_withB();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_typeParameters() {
+ super.test_parseClassDeclaration_typeParameters();
+ }
+
+ @failingTest
+ void test_parseClassDeclaration_withDocumentationComment() {
+ super.test_parseClassDeclaration_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseClassTypeAlias_withDocumentationComment() {
+ super.test_parseClassTypeAlias_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_abstractAsPrefix_parameterized() {
+ super.test_parseCompilationUnit_abstractAsPrefix_parameterized();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_builtIn_asFunctionName() {
+ super.test_parseCompilationUnit_builtIn_asFunctionName();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_builtIn_asFunctionName_withTypeParameter() {
+ super.test_parseCompilationUnit_builtIn_asFunctionName_withTypeParameter();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_builtIn_asGetter() {
+ super.test_parseCompilationUnit_builtIn_asGetter();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_directives_multiple() {
+ super.test_parseCompilationUnit_directives_multiple();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_directives_single() {
+ super.test_parseCompilationUnit_directives_single();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_empty() {
+ super.test_parseCompilationUnit_empty();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_exportAsPrefix() {
+ super.test_parseCompilationUnit_exportAsPrefix();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_exportAsPrefix_parameterized() {
+ super.test_parseCompilationUnit_exportAsPrefix_parameterized();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_operatorAsPrefix_parameterized() {
+ super.test_parseCompilationUnit_operatorAsPrefix_parameterized();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_pseudo_prefixed() {
+ super.test_parseCompilationUnit_pseudo_prefixed();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_script() {
+ super.test_parseCompilationUnit_script();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_skipFunctionBody_withInterpolation() {
+ super.test_parseCompilationUnit_skipFunctionBody_withInterpolation();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_topLevelDeclaration() {
+ super.test_parseCompilationUnit_topLevelDeclaration();
+ }
+
+ @failingTest
+ void test_parseCompilationUnit_typedefAsPrefix() {
+ super.test_parseCompilationUnit_typedefAsPrefix();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_abstractAsPrefix() {
+ super.test_parseCompilationUnitMember_abstractAsPrefix();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_class() {
+ super.test_parseCompilationUnitMember_class();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_classTypeAlias() {
+ super.test_parseCompilationUnitMember_classTypeAlias();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_constVariable() {
+ super.test_parseCompilationUnitMember_constVariable();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_expressionFunctionBody_tokens() {
+ super.test_parseCompilationUnitMember_expressionFunctionBody_tokens();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_finalVariable() {
+ super.test_parseCompilationUnitMember_finalVariable();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_external_noType() {
+ super.test_parseCompilationUnitMember_function_external_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_external_type() {
+ super.test_parseCompilationUnitMember_function_external_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_generic_noReturnType() {
+ super.test_parseCompilationUnitMember_function_generic_noReturnType();
+ }
+
+ @failingTest
+ void
+ test_parseCompilationUnitMember_function_generic_noReturnType_annotated() {
+ super
+ .test_parseCompilationUnitMember_function_generic_noReturnType_annotated();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_generic_returnType() {
+ super.test_parseCompilationUnitMember_function_generic_returnType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_generic_void() {
+ super.test_parseCompilationUnitMember_function_generic_void();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_gftReturnType() {
+ super.test_parseCompilationUnitMember_function_gftReturnType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_noReturnType() {
+ super.test_parseCompilationUnitMember_function_noReturnType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_noType() {
+ super.test_parseCompilationUnitMember_function_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_type() {
+ super.test_parseCompilationUnitMember_function_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_function_void() {
+ super.test_parseCompilationUnitMember_function_void();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_getter_external_noType() {
+ super.test_parseCompilationUnitMember_getter_external_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_getter_external_type() {
+ super.test_parseCompilationUnitMember_getter_external_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_getter_noType() {
+ super.test_parseCompilationUnitMember_getter_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_getter_type() {
+ super.test_parseCompilationUnitMember_getter_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_setter_external_noType() {
+ super.test_parseCompilationUnitMember_setter_external_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_setter_external_type() {
+ super.test_parseCompilationUnitMember_setter_external_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_setter_noType() {
+ super.test_parseCompilationUnitMember_setter_noType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_setter_type() {
+ super.test_parseCompilationUnitMember_setter_type();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typeAlias_abstract() {
+ super.test_parseCompilationUnitMember_typeAlias_abstract();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typeAlias_generic() {
+ super.test_parseCompilationUnitMember_typeAlias_generic();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typeAlias_implements() {
+ super.test_parseCompilationUnitMember_typeAlias_implements();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typeAlias_noImplements() {
+ super.test_parseCompilationUnitMember_typeAlias_noImplements();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typedef() {
+ super.test_parseCompilationUnitMember_typedef();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typedef_withDocComment() {
+ super.test_parseCompilationUnitMember_typedef_withDocComment();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_typedVariable() {
+ super.test_parseCompilationUnitMember_typedVariable();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variable() {
+ super.test_parseCompilationUnitMember_variable();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variable_gftType_gftReturnType() {
+ super.test_parseCompilationUnitMember_variable_gftType_gftReturnType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variable_gftType_noReturnType() {
+ super.test_parseCompilationUnitMember_variable_gftType_noReturnType();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variable_withDocumentationComment() {
+ super.test_parseCompilationUnitMember_variable_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variableGet() {
+ super.test_parseCompilationUnitMember_variableGet();
+ }
+
+ @failingTest
+ void test_parseCompilationUnitMember_variableSet() {
+ super.test_parseCompilationUnitMember_variableSet();
+ }
+
+ @failingTest
+ void test_parseDirective_export() {
+ super.test_parseDirective_export();
+ }
+
+ @failingTest
+ void test_parseDirective_export_withDocComment() {
+ super.test_parseDirective_export_withDocComment();
+ }
+
+ @failingTest
+ void test_parseDirective_import() {
+ super.test_parseDirective_import();
+ }
+
+ @failingTest
+ void test_parseDirective_library() {
+ super.test_parseDirective_library();
+ }
+
+ @failingTest
+ void test_parseDirective_library_1_component() {
+ super.test_parseDirective_library_1_component();
+ }
+
+ @failingTest
+ void test_parseDirective_library_2_components() {
+ super.test_parseDirective_library_2_components();
+ }
+
+ @failingTest
+ void test_parseDirective_library_3_components() {
+ super.test_parseDirective_library_3_components();
+ }
+
+ @failingTest
+ void test_parseDirective_library_withDocumentationComment() {
+ super.test_parseDirective_library_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseDirective_part() {
+ super.test_parseDirective_part();
+ }
+
+ @failingTest
+ void test_parseDirective_part_of_1_component() {
+ super.test_parseDirective_part_of_1_component();
+ }
+
+ @failingTest
+ void test_parseDirective_part_of_2_components() {
+ super.test_parseDirective_part_of_2_components();
+ }
+
+ @failingTest
+ void test_parseDirective_part_of_3_components() {
+ super.test_parseDirective_part_of_3_components();
+ }
+
+ @failingTest
+ void test_parseDirective_part_of_withDocumentationComment() {
+ super.test_parseDirective_part_of_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseDirective_part_withDocumentationComment() {
+ super.test_parseDirective_part_withDocumentationComment();
+ }
+
+ @failingTest
+ void test_parseDirective_partOf() {
+ super.test_parseDirective_partOf();
+ }
+
+ @failingTest
+ void test_parseDirectives_complete() {
+ super.test_parseDirectives_complete();
+ }
+
+ @failingTest
+ void test_parseDirectives_empty() {
+ super.test_parseDirectives_empty();
+ }
+
+ @failingTest
+ void test_parseDirectives_mixed() {
+ super.test_parseDirectives_mixed();
+ }
+
+ @failingTest
+ void test_parseDirectives_multiple() {
+ super.test_parseDirectives_multiple();
+ }
+
+ @failingTest
+ void test_parseDirectives_script() {
+ super.test_parseDirectives_script();
+ }
+
+ @failingTest
+ void test_parseDirectives_single() {
+ super.test_parseDirectives_single();
+ }
+
+ @failingTest
+ void test_parseDirectives_topLevelDeclaration() {
+ super.test_parseDirectives_topLevelDeclaration();
+ }
+
+ @failingTest
+ void test_parseEnumDeclaration_one() {
+ super.test_parseEnumDeclaration_one();
+ }
+
+ @failingTest
+ void test_parseEnumDeclaration_trailingComma() {
+ super.test_parseEnumDeclaration_trailingComma();
+ }
+
+ @failingTest
+ void test_parseEnumDeclaration_two() {
+ super.test_parseEnumDeclaration_two();
+ }
+
+ @failingTest
+ void test_parseEnumDeclaration_withDocComment_onEnum() {
+ super.test_parseEnumDeclaration_withDocComment_onEnum();
+ }
+
+ @failingTest
+ void test_parseEnumDeclaration_withDocComment_onValue() {
+ super.test_parseEnumDeclaration_withDocComment_onValue();
+ }
+
+ @failingTest
+ void test_parseExportDirective_configuration_multiple() {
+ super.test_parseExportDirective_configuration_multiple();
+ }
+
+ @failingTest
+ void test_parseExportDirective_configuration_single() {
+ super.test_parseExportDirective_configuration_single();
+ }
+
+ @failingTest
+ void test_parseExportDirective_hide() {
+ super.test_parseExportDirective_hide();
+ }
+
+ @failingTest
+ void test_parseExportDirective_hide_show() {
+ super.test_parseExportDirective_hide_show();
+ }
+
+ @failingTest
+ void test_parseExportDirective_noCombinator() {
+ super.test_parseExportDirective_noCombinator();
+ }
+
+ @failingTest
+ void test_parseExportDirective_show() {
+ super.test_parseExportDirective_show();
+ }
+
+ @failingTest
+ void test_parseExportDirective_show_hide() {
+ super.test_parseExportDirective_show_hide();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_function() {
+ super.test_parseFunctionDeclaration_function();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_functionWithTypeParameters() {
+ super.test_parseFunctionDeclaration_functionWithTypeParameters();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_functionWithTypeParameters_comment() {
+ super.test_parseFunctionDeclaration_functionWithTypeParameters_comment();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_getter() {
+ super.test_parseFunctionDeclaration_getter();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_getter_generic_comment_returnType() {
+ super.test_parseFunctionDeclaration_getter_generic_comment_returnType();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_metadata() {
+ super.test_parseFunctionDeclaration_metadata();
+ }
+
+ @failingTest
+ void test_parseFunctionDeclaration_setter() {
+ super.test_parseFunctionDeclaration_setter();
+ }
+
+ @failingTest
+ void test_parseGenericTypeAlias_noTypeParameters() {
+ super.test_parseGenericTypeAlias_noTypeParameters();
+ }
+
+ @failingTest
+ void test_parseGenericTypeAlias_typeParameters() {
+ super.test_parseGenericTypeAlias_typeParameters();
+ }
+
+ @failingTest
+ void test_parseImportDirective_configuration_multiple() {
+ super.test_parseImportDirective_configuration_multiple();
+ }
+
+ @failingTest
+ void test_parseImportDirective_configuration_single() {
+ super.test_parseImportDirective_configuration_single();
+ }
+
+ @failingTest
+ void test_parseImportDirective_deferred() {
+ super.test_parseImportDirective_deferred();
+ }
+
+ @failingTest
+ void test_parseImportDirective_hide() {
+ super.test_parseImportDirective_hide();
+ }
+
+ @failingTest
+ void test_parseImportDirective_noCombinator() {
+ super.test_parseImportDirective_noCombinator();
+ }
+
+ @failingTest
+ void test_parseImportDirective_prefix() {
+ super.test_parseImportDirective_prefix();
+ }
+
+ @failingTest
+ void test_parseImportDirective_prefix_hide_show() {
+ super.test_parseImportDirective_prefix_hide_show();
+ }
+
+ @failingTest
+ void test_parseImportDirective_prefix_show_hide() {
+ super.test_parseImportDirective_prefix_show_hide();
+ }
+
+ @failingTest
+ void test_parseImportDirective_show() {
+ super.test_parseImportDirective_show();
+ }
+
+ @failingTest
+ void test_parseLibraryDirective() {
+ super.test_parseLibraryDirective();
+ }
+
+ @failingTest
+ void test_parsePartDirective() {
+ super.test_parsePartDirective();
+ }
+
+ @failingTest
+ void test_parsePartOfDirective_name() {
+ super.test_parsePartOfDirective_name();
+ }
+
+ @failingTest
+ void test_parsePartOfDirective_uri() {
+ super.test_parsePartOfDirective_uri();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_noParameters() {
+ super.test_parseTypeAlias_function_noParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_noReturnType() {
+ super.test_parseTypeAlias_function_noReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_parameterizedReturnType() {
+ super.test_parseTypeAlias_function_parameterizedReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_parameters() {
+ super.test_parseTypeAlias_function_parameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_typeParameters() {
+ super.test_parseTypeAlias_function_typeParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_function_voidReturnType() {
+ super.test_parseTypeAlias_function_voidReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_noParameters() {
+ super.test_parseTypeAlias_genericFunction_noParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_noReturnType() {
+ super.test_parseTypeAlias_genericFunction_noReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_parameterizedReturnType() {
+ super.test_parseTypeAlias_genericFunction_parameterizedReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_parameters() {
+ super.test_parseTypeAlias_genericFunction_parameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters() {
+ super.test_parseTypeAlias_genericFunction_typeParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters_noParameters() {
+ super.test_parseTypeAlias_genericFunction_typeParameters_noParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters_noReturnType() {
+ super.test_parseTypeAlias_genericFunction_typeParameters_noReturnType();
+ }
+
+ @failingTest
+ void
+ test_parseTypeAlias_genericFunction_typeParameters_parameterizedReturnType() {
+ super
+ .test_parseTypeAlias_genericFunction_typeParameters_parameterizedReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters_parameters() {
+ super.test_parseTypeAlias_genericFunction_typeParameters_parameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters_typeParameters() {
+ super.test_parseTypeAlias_genericFunction_typeParameters_typeParameters();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_typeParameters_voidReturnType() {
+ super.test_parseTypeAlias_genericFunction_typeParameters_voidReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_voidReturnType() {
+ super.test_parseTypeAlias_genericFunction_voidReturnType();
+ }
+
+ @failingTest
+ void test_parseTypeAlias_genericFunction_withDocComment() {
+ super.test_parseTypeAlias_genericFunction_withDocComment();
+ }
+
+ @failingTest
+ void test_parseTypeVariable_withDocumentationComment() {
+ super.test_parseTypeVariable_withDocumentationComment();
+ }
+}
diff --git a/pkg/analyzer/test/src/fasta/body_builder_test_helper.dart b/pkg/analyzer/test/src/fasta/body_builder_test_helper.dart
index 30ddead..8c7841b 100644
--- a/pkg/analyzer/test/src/fasta/body_builder_test_helper.dart
+++ b/pkg/analyzer/test/src/fasta/body_builder_test_helper.dart
@@ -118,7 +118,7 @@
@override
CompilationUnit parseCompilationUnit(String source,
{List<ErrorCode> codes, List<ExpectedError> errors}) {
- throw new UnimplementedError();
+ return _parse(source, (parser, token) => parser.parseUnit(token.next));
}
@override
@@ -152,59 +152,8 @@
{List<ErrorCode> codes,
List<ExpectedError> errors,
int expectedEndOffset}) {
- ScannerResult scan = scanString(source);
-
- return CompilerContext.runWithOptions(options, (CompilerContext c) {
- KernelLibraryBuilder library = new KernelLibraryBuilder(
- entryPoint,
- entryPoint,
- kernelTarget.loader,
- null /* actualOrigin */,
- null /* enclosingLibrary */,
- );
- List<KernelTypeVariableBuilder> typeVariableBuilders =
- <KernelTypeVariableBuilder>[];
- List<KernelFormalParameterBuilder> formalParameterBuilders =
- <KernelFormalParameterBuilder>[];
- KernelProcedureBuilder procedureBuilder = new KernelProcedureBuilder(
- null /* metadata */,
- Modifier.staticMask /* or Modifier.varMask */,
- kernelTarget.dynamicType,
- "analyzerTest",
- typeVariableBuilders,
- formalParameterBuilders,
- kernel.ProcedureKind.Method,
- library,
- -1 /* charOffset */,
- -1 /* charOpenParenOffset */,
- -1 /* charEndOffset */);
-
- TypeInferrerDisabled typeInferrer =
- new TypeInferrerDisabled(new TypeSchemaEnvironment(
- kernelTarget.loader.coreTypes,
- kernelTarget.loader.hierarchy,
- // TODO(danrubel): Enable strong mode.
- false /* strong mode */,
- ));
-
- BodyBuilder builder = new AstBodyBuilder(
- library,
- procedureBuilder,
- library.scope,
- procedureBuilder.computeFormalParameterScope(library.scope),
- kernelTarget.loader.hierarchy,
- kernelTarget.loader.coreTypes,
- null /* classBuilder */,
- false /* isInstanceMember */,
- null /* uri */,
- typeInferrer,
- typeProvider,
- )..constantContext = ConstantContext.none; // .inferred ?
-
- Parser parser = new Parser(builder);
- parser.parseExpression(parser.syntheticPreviousToken(scan.tokens));
- return builder.pop();
- });
+ // TODO(brianwilkerson) Check error codes.
+ return _parse(source, (parser, token) => parser.parseExpression(token));
}
@override
@@ -341,7 +290,8 @@
@override
Statement parseStatement(String source,
{bool enableLazyAssignmentOperators, int expectedEndOffset}) {
- throw new UnimplementedError();
+ // TODO(brianwilkerson) Check error codes.
+ return _parse(source, (parser, token) => parser.parseStatement(token));
}
@override
@@ -463,4 +413,61 @@
}).toList();
return element;
}
+
+ T _parse<T>(
+ String source, void parseFunction(Parser parser, Token previousToken)) {
+ ScannerResult scan = scanString(source);
+
+ return CompilerContext.runWithOptions(options, (CompilerContext c) {
+ KernelLibraryBuilder library = new KernelLibraryBuilder(
+ entryPoint,
+ entryPoint,
+ kernelTarget.loader,
+ null /* actualOrigin */,
+ null /* enclosingLibrary */,
+ );
+ List<KernelTypeVariableBuilder> typeVariableBuilders =
+ <KernelTypeVariableBuilder>[];
+ List<KernelFormalParameterBuilder> formalParameterBuilders =
+ <KernelFormalParameterBuilder>[];
+ KernelProcedureBuilder procedureBuilder = new KernelProcedureBuilder(
+ null /* metadata */,
+ Modifier.staticMask /* or Modifier.varMask */,
+ kernelTarget.dynamicType,
+ "analyzerTest",
+ typeVariableBuilders,
+ formalParameterBuilders,
+ kernel.ProcedureKind.Method,
+ library,
+ -1 /* charOffset */,
+ -1 /* charOpenParenOffset */,
+ -1 /* charEndOffset */);
+
+ TypeInferrerDisabled typeInferrer =
+ new TypeInferrerDisabled(new TypeSchemaEnvironment(
+ kernelTarget.loader.coreTypes,
+ kernelTarget.loader.hierarchy,
+ // TODO(danrubel): Enable strong mode.
+ false /* strong mode */,
+ ));
+
+ BodyBuilder builder = new AstBodyBuilder(
+ library,
+ procedureBuilder,
+ library.scope,
+ procedureBuilder.computeFormalParameterScope(library.scope),
+ kernelTarget.loader.hierarchy,
+ kernelTarget.loader.coreTypes,
+ null /* classBuilder */,
+ false /* isInstanceMember */,
+ null /* uri */,
+ typeInferrer,
+ typeProvider,
+ )..constantContext = ConstantContext.none; // .inferred ?
+
+ Parser parser = new Parser(builder);
+ parseFunction(parser, parser.syntheticPreviousToken(scan.tokens));
+ return builder.pop();
+ });
+ }
}