diff --git a/docs/language/Dart.g b/docs/language/Dart.g index 3ed9c16bd76..b3d3825f062 100644 --- a/docs/language/Dart.g +++ b/docs/language/Dart.g @@ -25,10 +25,17 @@ import java.util.Stack; } @parser::members { - private String filePath = null; - private boolean errorHasOccurred = false; + static String filePath = null; + static boolean errorHasOccurred = false; - /** Parse library, return true if success, false if errors occurred. */ + /// Must be invoked before the first error is reported for a library. + /// Will print the name of the library and indicate that it has errors. + static void prepareForErrors() { + errorHasOccurred = true; + System.err.println("Parse errors in " + filePath + ":"); + } + + /// Parse library, return true if success, false if errors occurred. public boolean parseLibrary(String filePath) throws RecognitionException { this.filePath = filePath; errorHasOccurred = false; @@ -36,7 +43,8 @@ import java.util.Stack; return !errorHasOccurred; } - // Grammar debugging friendly output, 'The Definitive ANTLR Reference', p247. + /// Produce grammar debugging friendly output, as described in 'The + /// Definitive ANTLR Reference', p247. public String getErrorMessage(RecognitionException e, String[] tokenNames) { List stack = getRuleInvocationStack(e, this.getClass().getName()); String msg = null; @@ -50,10 +58,7 @@ import java.util.Stack; else { msg = super.getErrorMessage(e, tokenNames); } - if (!errorHasOccurred) { - errorHasOccurred = true; - System.err.println("Parse error in " + filePath + ":"); - } + if (!errorHasOccurred) prepareForErrors(); return stack + " " + msg; } @@ -107,6 +112,13 @@ import java.util.Stack; public static final int BRACE_THREE_SINGLE = 4; public static final int BRACE_THREE_DOUBLE = 5; + /// This override ensures that lexer errors are recognized as errors, + /// but does not change the format of the reported error. + public String getErrorMessage(RecognitionException e, String[] tokenNames) { + if (!DartParser.errorHasOccurred) DartParser.prepareForErrors(); + return super.getErrorMessage(e, tokenNames); + } + // Enable the parser to handle string interpolations via brace matching. // The top of the `braceLevels` stack describes the most recent unmatched // '{'. This is needed in order to enable/disable certain lexer rules. @@ -270,6 +282,7 @@ normalFormalParameterNoMetadata | simpleFormalParameter ; +// NB: It is an anomaly that a functionFormalParameter cannot be FINAL. functionFormalParameter : COVARIANT? type? identifierNotFunction formalParameterPart ; @@ -279,6 +292,7 @@ simpleFormalParameter | COVARIANT? identifier ; +// NB: It is an anomaly that VAR can be a return type (`var this.x()`). fieldFormalParameter : finalConstVarOrType? THIS '.' identifier formalParameterPart? ; @@ -335,13 +349,20 @@ methodSignature // rule, such that const factories in general are allowed. // TODO(eernst): Close that issue when this is integrated into the spec. +// TODO(eernst): Note that `EXTERNAL? STATIC? functionSignature` includes +// `STATIC functionSignature`, but a static function cannot be abstract. +// We might want to make that a syntax error rather than a static semantic +// check. + declaration : (EXTERNAL CONST? FACTORY constructorName '(') => EXTERNAL factoryConstructorSignature | EXTERNAL constantConstructorSignature | (EXTERNAL constructorName '(') => EXTERNAL constructorSignature - | ((EXTERNAL STATIC?)? type? GET) => (EXTERNAL STATIC?)? getterSignature - | ((EXTERNAL STATIC?)? type? SET) => (EXTERNAL STATIC?)? setterSignature + | ((EXTERNAL STATIC?)? type? GET identifier) => + (EXTERNAL STATIC?)? getterSignature + | ((EXTERNAL STATIC?)? type? SET identifier) => + (EXTERNAL STATIC?)? setterSignature | (EXTERNAL? type? OPERATOR) => EXTERNAL? operatorSignature | (STATIC (FINAL | CONST)) => STATIC (FINAL | CONST) type? staticFinalDeclarationList @@ -912,7 +933,8 @@ statement // check. nonLabelledStatement : (LBRACE) => block - | (declaredIdentifier ('='|','|';')) => localVariableDeclaration + | (metadata declaredIdentifier ('='|','|';')) => + localVariableDeclaration | (AWAIT? FOR) => forStatement | whileStatement | doStatement @@ -935,7 +957,7 @@ expressionStatement ; localVariableDeclaration - : initializedVariableDeclaration ';' + : metadata initializedVariableDeclaration ';' ; initializedVariableDeclaration @@ -955,8 +977,9 @@ forStatement ; forLoopParts - : (declaredIdentifier IN) => declaredIdentifier IN expression - | (identifier IN) => identifier IN expression + : (metadata declaredIdentifier IN) => + metadata declaredIdentifier IN expression + | (metadata identifier IN) => metadata identifier IN expression | forInitializerStatement expression? ';' expressionList? ; @@ -1042,7 +1065,7 @@ assertStatement ; assertClause - : ASSERT '(' expression (',' expression)? ')' + : ASSERT '(' expression (',' expression)? ','? ')' ; libraryName diff --git a/tests/language/language_parser.status b/tests/language/language_parser.status deleted file mode 100644 index 14aef5d666b..00000000000 --- a/tests/language/language_parser.status +++ /dev/null @@ -1,302 +0,0 @@ -# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -# for details. All rights reserved. Use of this source code is governed by a -# BSD-style license that can be found in the LICENSE file. - -# This file specifies the status of tests for runs with spec_parser.dart. -# Note that there are overlaps between groups, because a single test may -# be skipped for more than one reason. As features are added, groups are -# expected to be eliminated entirely, and this would not work if all -# duplicates were removed. - -[ $compiler == parser ] - -# Negative tests which contain syntax errors. -field3_negative_test: Skip # Test has syntax error. -getter_declaration_negative_test: Skip # Test has syntax error. -interface_injection1_negative_test: Skip # Test has syntax error. -interface_injection2_negative_test: Skip # Test has syntax error. -is_not_class1_negative_test: Skip # Test has syntax error. -is_not_class4_negative_test: Skip # Test has syntax error. -issue1578_negative_test: Skip # Test has syntax error. -label8_negative_test: Skip # Test has syntax error. -list_literal_negative_test: Skip # Test has syntax error. -map_literal_negative_test: Skip # Test has syntax error. -new_expression1_negative_test: Skip # Test has syntax error. -new_expression2_negative_test: Skip # Test has syntax error. -new_expression3_negative_test: Skip # Test has syntax error. -operator1_negative_test: Skip # Test has syntax error. -operator2_negative_test: Skip # Test has syntax error. -prefix18_negative_test: Skip # Test has syntax error. -string_escape4_negative_test: Skip # Test has syntax error. -string_interpolate1_negative_test: Skip # Test has syntax error. -string_interpolate2_negative_test: Skip # Test has syntax error. -switch1_negative_test: Skip # Test has syntax error. -test_negative_test: Skip # Test has syntax error. -unary_plus_negative_test: Skip # Test has syntax error. -unhandled_exception_negative_test: Skip # Test has syntax error. - -# Multi-tests containing compile-time errors. -abstract_syntax_test: Skip # Not yet supported. -arg_param_trailing_comma_test: Skip # Not yet supported. -argument_definition_test: Skip # Not yet supported. -assert_initializer_test: Skip # Not yet supported. -assert_trailing_comma_test: Skip # Not yet supported. -assign_static_type_test: Skip # Not yet supported. -assignable_expression_test: Skip # Not yet supported. -async_await_syntax_test: Skip # Not yet supported. -async_return_types_test: Skip # Not yet supported. -async_test: Skip # Not yet supported. -await_backwards_compatibility_test: Skip # Not yet supported. -bad_constructor_test: Skip # Not yet supported. -bad_override_test: Skip # Not yet supported. -bad_raw_string_test: Skip # Not yet supported. -bad_typedef_test: Skip # Not yet supported. -black_listed_test: Skip # Not yet supported. -built_in_identifier_illegal_test: Skip # Not yet supported. -canonical_const2_test: Skip # Not yet supported. -canonical_const_test: Skip # Not yet supported. -cascade_test: Skip # Not yet supported. -check_member_static_test: Skip # Not yet supported. -class_cycle2_test: Skip # Not yet supported. -class_cycle_test: Skip # Not yet supported. -class_keyword_test: Skip # Not yet supported. -class_syntax_test: Skip # Not yet supported. -compile_time_constant10_test: Skip # Not yet supported. -compile_time_constant11_test: Skip # Not yet supported. -compile_time_constant13_test: Skip # Not yet supported. -compile_time_constant_arguments_test: Skip # Not yet supported. -compile_time_constant_c_test: Skip # Not yet supported. -compile_time_constant_checked2_test: Skip # Not yet supported. -compile_time_constant_checked3_test: Skip # Not yet supported. -compile_time_constant_checked4_test: Skip # Not yet supported. -compile_time_constant_checked5_test: Skip # Not yet supported. -compile_time_constant_checked_test: Skip # Not yet supported. -compile_time_constant_o_test: Skip # Not yet supported. -compile_time_constant_p_test: Skip # Not yet supported. -compile_time_constant_r_test: Skip # Not yet supported. -compile_time_constant_test: Skip # Not yet supported. -conditional_method_invocation_test: Skip # Not yet supported. -conditional_property_access_test: Skip # Not yet supported. -conditional_property_assignment_test: Skip # Not yet supported. -const_conditional_test: Skip # Not yet supported. -const_constructor2_test: Skip # Not yet supported. -const_constructor3_test: Skip # Not yet supported. -const_constructor_mixin2_test: Skip # Not yet supported. -const_constructor_mixin3_test: Skip # Not yet supported. -const_constructor_mixin_test: Skip # Not yet supported. -const_constructor_nonconst_field_test: Skip # Not yet supported. -const_constructor_super_test: Skip # Not yet supported. -const_constructor_syntax_test: Skip # Not yet supported. -const_constructor_test: Skip # Not yet supported. -const_error_multiply_initialized_test: Skip # Not yet supported. -const_evaluation_test: Skip # Not yet supported. -const_factory_redirection_test: Skip # Not yet supported. -const_factory_with_body_test: Skip # Not yet supported. -const_for_in_variable_test: Skip # Not yet supported. -const_getter_test: Skip # Not yet supported. -const_init2_test: Skip # Not yet supported. -const_init_test: Skip # Not yet supported. -const_instance_field_test: Skip # Not yet supported. -const_locals_test: Skip # Not yet supported. -const_map2_test: Skip # Not yet supported. -const_map3_test: Skip # Not yet supported. -const_native_factory_test: Skip # Not yet supported. -const_nested_test: Skip # Not yet supported. -const_qq_test: Skip # Not yet supported. -const_string_test: Skip # Not yet supported. -const_switch2_test: Skip # Not yet supported. -const_syntax_test: Skip # Not yet supported. -const_types_test: Skip # Not yet supported. -constant_locals_test: Skip # Not yet supported. -constant_type_literal_test: Skip # Not yet supported. -constants_test: Skip # Not yet supported. -constructor10_test: Skip # Not yet supported. -constructor_duplicate_final_test: Skip # Not yet supported. -constructor_duplicate_initializers_test: Skip # Not yet supported. -constructor_initializer_test: Skip # Not yet supported. -constructor_name_test: Skip # Not yet supported. -constructor_redirect2_test: Skip # Not yet supported. -constructor_redirect_test: Skip # Not yet supported. -constructor_return_test: Skip # Not yet supported. -covariant_test: Skip # Not yet supported. -ct_const2_test: Skip # Not yet supported. -ct_const4_test: Skip # Not yet supported. -ct_const_test: Skip # Not yet supported. -cyclic_class_member_test: Skip # Not yet supported. -cyclic_constructor_test: Skip # Not yet supported. -cyclic_typedef_test: Skip # Not yet supported. -deferred_constraints_constants_test: Skip # Not yet supported. -deferred_duplicate_prefix1_test: Skip # Not yet supported. -deferred_duplicate_prefix2_test: Skip # Not yet supported. -deferred_duplicate_prefix3_test: Skip # Not yet supported. -deferred_inheritance_constraints_test: Skip # Not yet supported. -deferred_load_constants_test: Skip # Not yet supported. -deferred_no_prefix_test: Skip # Not yet supported. -deferred_type_dependency_test: Skip # Not yet supported. -duplicate_constructor_test: Skip # Not yet supported. -duplicate_export_test: Skip # Not yet supported. -duplicate_implements_test: Skip # Not yet supported. -duplicate_interface_negative_test: Skip # Not yet supported. -dynamic2_test: Skip # Not yet supported. -enum_is_keyword_test: Skip # Not yet supported. -enum_syntax_test: Skip # Not yet supported. -export_private_test: Skip # Not yet supported. -external_test: Skip # Not yet supported. -factory2_negative_test: Skip # Not yet supported. -factory3_negative_test: Skip # Not yet supported. -factory_implementation_test: Skip # Not yet supported. -factory_negative_test: Skip # Not yet supported. -factory_redirection2_test: Skip # Not yet supported. -factory_redirection3_cyclic_test: Skip # Not yet supported. -factory_redirection_test: Skip # Not yet supported. -fauxverride_test: Skip # Not yet supported. -field_decl_missing_var_type_test: Skip # Not yet supported. -field_override3_test: Skip # Not yet supported. -field_override4_test: Skip # Not yet supported. -final_initializer_instance_reference_test: Skip # Not yet supported. -final_is_not_const_test: Skip # Not yet supported. -final_syntax_test: Skip # Not yet supported. -function_syntax_test: Skip # Not yet supported. -function_type_alias5_test: Skip # Not yet supported. -function_type_alias6_test: Skip # Not yet supported. -function_type_alias7_test: Skip # Not yet supported. -function_type_alias9_test: Skip # Not yet supported. -function_type_parameter2_negative_test: Skip # Not yet supported. -function_type_parameter_negative_test: Skip # Not yet supported. -function_type_test: Skip # Not yet supported. -generic_function_typedef2_test: Skip # Not yet supported. -generic_function_typedef_test: Skip # Not yet supported. -generic_metadata_test: Skip # Not yet supported. -get_set_syntax_test: Skip # Not yet supported. -getter_no_setter2_test: Skip # Not yet supported. -getter_no_setter_test: Skip # Not yet supported. -getter_override2_test: Skip # Not yet supported. -getter_override_test: Skip # Not yet supported. -getter_parameters_test: Skip # Not yet supported. -identical_const_test: Skip # Not yet supported. -if_null_assignment_behavior_test: Skip # Not yet supported. -illegal_declaration_test: Skip # Not yet supported. -illegal_initializer_test: Skip # Not yet supported. -illegal_invocation_test: Skip # Not yet supported. -import_private_test: Skip # Not yet supported. -interface_cycle_test: Skip # Not yet supported. -internal_library_test: Skip # Not yet supported. -keyword_type_expression_test: Skip # Not yet supported. -library_ambiguous_test: Skip # Not yet supported. -list_literal1_test: Skip # Not yet supported. -list_literal_syntax_test: Skip # Not yet supported. -literal_unary_plus_test: Skip # Not yet supported. -malformed2_test: Skip # Not yet supported. -malformed_inheritance_test: Skip # Not yet supported. -malformed_test: Skip # Not yet supported. -map_literal1_test: Skip # Not yet supported. -method_override7_test: Skip # Not yet supported. -method_override8_test: Skip # Not yet supported. -methods_as_constants2_test: Skip # Not yet supported. -missing_const_constructor_test: Skip # Not yet supported. -missing_part_of_tag_test: Skip # Not yet supported. -mixin_black_listed_test: Skip # Not yet supported. -mixin_cyclic_test: Skip # Not yet supported. -mixin_forwarding_constructor4_test: Skip # Not yet supported. -mixin_illegal_constructor_test: Skip # Not yet supported. -mixin_illegal_cycles_test: Skip # Not yet supported. -mixin_illegal_object_test: Skip # Not yet supported. -mixin_illegal_super_use_test: Skip # Not yet supported. -mixin_illegal_superclass_test: Skip # Not yet supported. -mixin_illegal_syntax_test: Skip # Not yet supported. -mixin_invalid_inheritance1_test: Skip # Not yet supported. -mixin_invalid_inheritance2_test: Skip # Not yet supported. -mixin_super_constructor_named_test: Skip # Not yet supported. -mixin_super_constructor_positionals_test: Skip # Not yet supported. -multiline_newline_test: Skip # Not yet supported. -named_constructor_test: Skip # Not yet supported. -named_parameters_aggregated_test: Skip # Not yet supported. -named_parameters_default_eq_test: Skip # Not yet supported. -null_is_test: Skip # Not yet supported. -null_test: Skip # Not yet supported. -number_identifier_test: Skip # Not yet supported. -override_field_test: Skip # Not yet supported. -override_inheritance_mixed_test: Skip # Not yet supported. -override_method_with_field_test: Skip # Not yet supported. -parameter_default_test: Skip # Not yet supported. -parameter_initializer6_negative_test: Skip # Not yet supported. -parser_quirks_test: Skip # Not yet supported. -prefix_assignment_test: Skip # Not yet supported. -prefix_identifier_reference_test: Skip # Not yet supported. -prefix_unqualified_invocation_test: Skip # Not yet supported. -private_super_constructor_test: Skip # Not yet supported. -redirecting_factory_default_values_test: Skip # Not yet supported. -redirecting_factory_infinite_steps_test: Skip # Not yet supported. -ref_before_declaration_test: Skip # Not yet supported. -regress_20394_test: Skip # Not yet supported. -regress_23038_test: Skip # Not yet supported. -regress_23051_test: Skip # Not yet supported. -regress_26855_test: Skip # Not yet supported. -regress_27164_test: Skip # Not yet supported. -regress_27617_test: Skip # Not yet supported. -regress_28217_test: Skip # Not yet supported. -reify_typevar_static_test: Skip # Not yet supported. -scope_variable_test: Skip # Not yet supported. -setter_override2_test: Skip # Not yet supported. -setter_override_test: Skip # Not yet supported. -static_final_field2_test: Skip # Not yet supported. -static_parameter_test: Skip # Not yet supported. -static_top_level_test: Skip # Not yet supported. -string_interpolation1_test: Skip # Not yet supported. -string_interpolation2_test: Skip # Not yet supported. -string_interpolation3_test: Skip # Not yet supported. -string_interpolation4_test: Skip # Not yet supported. -string_interpolation5_test: Skip # Not yet supported. -string_interpolation6_test: Skip # Not yet supported. -string_interpolation9_test: Skip # Not yet supported. -super_call3_test: Skip # Not yet supported. -super_conditional_operator_test: Skip # Not yet supported. -switch8_test: Skip # Not yet supported. -switch_bad_case_test: Skip # Not yet supported. -switch_case_test: Skip # Not yet supported. -sync_generator2_test: Skip # Not yet supported. -syntax_test: Skip # Not yet supported. -this_conditional_operator_test: Skip # Not yet supported. -this_test: Skip # Not yet supported. -toplevel_collision1_test: Skip # Not yet supported. -toplevel_collision2_test: Skip # Not yet supported. -try_catch_on_syntax_test: Skip # Not yet supported. -try_catch_syntax_test: Skip # Not yet supported. -try_catch_test: Skip # Not yet supported. -type_check_const_function_typedef2_test: Skip # Not yet supported. -type_parameter_test: Skip # Not yet supported. -type_variable_conflict2_test: Skip # Not yet supported. -type_variable_conflict_test: Skip # Not yet supported. -type_variable_scope3_test: Skip # Not yet supported. -unbalanced_brace_test: Skip # Not yet supported. -unsigned_right_shift_test: Skip # Not yet supported. -unsupported_operators_test: Skip # Not yet supported. -variable_declaration_metadata_test: Skip # Not yet supported. - -# Syntax errors caused by tests being multi-tests. -main_test: Skip # Not yet supported. -method_override2_test: Skip # Not yet supported. -mixin_supertype_subclass2_test: Skip # Not yet supported. -mixin_supertype_subclass4_test: Skip # Not yet supported. -mixin_supertype_subclass_test: Skip # Not yet supported. -override_inheritance_generic_test: Skip # Not yet supported. -type_variable_bounds2_test: Skip # Not yet supported. - -# Tests containing conditional imports. -conditional_import_string_test: Skip # Not yet supported. -conditional_import_test: Skip # Not yet supported. -config_import_corelib_test: Skip # Not yet supported. -config_import_test: Skip # Not yet supported. - -# Tests using assert in initializer list. -assertion_initializer_test: Skip # Not yet supported. -assertion_initializer_const_error_test: Skip # Not yet supported. -assertion_initializer_const_error2_test: Skip # Not yet supported. -assertion_initializer_const_function_test: Skip # Not yet supported. -assertion_initializer_const_function_error_test: Skip # Not yet supported. - -# Not working for miscellaneous other reasons. -deep_nesting1_negative_test: Skip # Stack overflow, not important here. -deep_nesting2_negative_test: Skip # Stack overflow, not important here. -issue_1751477_test: Skip # Slow: 9 levels, exponential blowup => 430 secs. -metadata_test: Skip # Syntax error, uses metadata on function expression. diff --git a/tests/language/language_spec_parser.status b/tests/language/language_spec_parser.status new file mode 100644 index 00000000000..64be7ae7167 --- /dev/null +++ b/tests/language/language_spec_parser.status @@ -0,0 +1,493 @@ +# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +# for details. All rights reserved. Use of this source code is governed by a +# BSD-style license that can be found in the LICENSE file. + +[ $compiler == spec_parser ] + +# Negative tests with non-syntax compile-time errors. +const_counter_negative_test: Skip # Negative, not syntax. +const_optional_args_negative_test: Skip # Negative, not syntax. +constructor3_negative_test: Skip # Negative, not syntax. +constructor_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +constructor_redirect1_negative_test: Skip # Negative, not syntax. +constructor_redirect2_negative_test: Skip # Negative, not syntax. +constructor_setter_negative_test: Skip # Negative, not syntax. +duplicate_export_negative_test: Skip # Negative, not syntax. +export_ambiguous_main_negative_test: Skip # Negative, not syntax. +extend_type_parameter2_negative_test: Skip # Negative, not syntax. +extend_type_parameter_negative_test: Skip # Negative, not syntax. +factory2_negative_test: Skip # Negative, not syntax. +factory_negative_test: Skip # Negative, not syntax. +field1_negative_test: Skip # Negative, not syntax. +field2_negative_test: Skip # Negative, not syntax. +field3a_negative_test: Skip # Negative, not syntax. +field4_negative_test: Skip # Negative, not syntax. +field5_negative_test: Skip # Negative, not syntax. +field6_negative_test: Skip # Negative, not syntax. +field6a_negative_test: Skip # Negative, not syntax. +field_method4_negative_test: Skip # Negative, not syntax. +import_combinators_negative_test: Skip # Negative, not syntax. +inst_field_initializer1_negative_test: Skip # Negative, not syntax. +instance_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +instance_method2_negative_test: Skip # Negative, not syntax. +instance_method_negative_test: Skip # Negative, not syntax. +interface2_negative_test: Skip # Negative, not syntax. +interface_static_method_negative_test: Skip # Negative, not syntax. +interface_static_non_final_fields_negative_test: Skip # Negative, not syntax. +label2_negative_test: Skip # Negative, not syntax. +label3_negative_test: Skip # Negative, not syntax. +label5_negative_test: Skip # Negative, not syntax. +label6_negative_test: Skip # Negative, not syntax. +library_negative_test: Skip # Negative, not syntax. +list_literal2_negative_test: Skip # Negative, not syntax. +map_literal2_negative_test: Skip # Negative, not syntax. +no_such_method_negative_test: Skip # Negative, not syntax. +non_const_super_negative_test: Skip # Negative, not syntax. +override_field_method1_negative_test: Skip # Negative, not syntax. +override_field_method2_negative_test: Skip # Negative, not syntax. +override_field_method4_negative_test: Skip # Negative, not syntax. +override_field_method5_negative_test: Skip # Negative, not syntax. +parameter_initializer1_negative_test: Skip # Negative, not syntax. +parameter_initializer2_negative_test: Skip # Negative, not syntax. +parameter_initializer3_negative_test: Skip # Negative, not syntax. +parameter_initializer4_negative_test: Skip # Negative, not syntax. +prefix10_negative_test: Skip # Negative, not syntax. +prefix11_negative_test: Skip # Negative, not syntax. +prefix12_negative_test: Skip # Negative, not syntax. +prefix13_negative_test: Skip # Negative, not syntax. +prefix15_negative_test: Skip # Negative, not syntax. +prefix1_negative_test: Skip # Negative, not syntax. +prefix2_negative_test: Skip # Negative, not syntax. +prefix3_negative_test: Skip # Negative, not syntax. +prefix4_negative_test: Skip # Negative, not syntax. +prefix5_negative_test: Skip # Negative, not syntax. +prefix6_negative_test: Skip # Negative, not syntax. +prefix7_negative_test: Skip # Negative, not syntax. +prefix8_negative_test: Skip # Negative, not syntax. +private_member1_negative_test: Skip # Negative, not syntax. +private_member2_negative_test: Skip # Negative, not syntax. +private_member3_negative_test: Skip # Negative, not syntax. +script1_negative_test: Skip # Negative, not syntax. +script2_negative_test: Skip # Negative, not syntax. +setter_declaration2_negative_test: Skip # Negative, not syntax. +setter_declaration_negative_test: Skip # Negative, not syntax. +source_self_negative_test: Skip # Negative, not syntax. +static_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +string_unicode1_negative_test: Skip # Negative, not syntax. +string_unicode2_negative_test: Skip # Negative, not syntax. +string_unicode3_negative_test: Skip # Negative, not syntax. +switch3_negative_test: Skip # Negative, not syntax. +switch4_negative_test: Skip # Negative, not syntax. +switch5_negative_test: Skip # Negative, not syntax. +switch7_negative_test: Skip # Negative, not syntax. + +# Tests using debug break (e.g., `break "hit"`), which is not Dart syntax. +vm/debug_break_enabled_vm_test: Fail # Uses debug break. + +# Tests containing non-syntax compile-time errors. +final_attempt_reinitialization_test/01: Fail # Not syntax. +final_attempt_reinitialization_test/02: Fail # Not syntax. +part_refers_to_core_library_test/01: Fail # Not syntax. +missing_const_constructor_test/02: Fail # Not syntax. +missing_const_constructor_test/05: Fail # Not syntax. +missing_const_constructor_test/06: Fail # Not syntax. +missing_const_constructor_test/03: Fail # Not syntax. +missing_const_constructor_test/04: Fail # Not syntax. +override_method_with_field_test/01: Fail # Not syntax. +compile_time_constant_p_test/01: Fail # Not syntax. +null_test/02: Fail # Not syntax. +null_test/01: Fail # Not syntax. +null_test/03: Fail # Not syntax. +regress_28217_test/none: Fail # Not syntax. +regress_28217_test/01: Fail # Not syntax. +override_inheritance_mixed_test/01: Fail # Not syntax. +override_inheritance_mixed_test/03: Fail # Not syntax. +override_inheritance_mixed_test/02: Fail # Not syntax. +override_inheritance_mixed_test/04: Fail # Not syntax. +toplevel_collision2_test/00: Fail # Not syntax. +toplevel_collision2_test/01: Fail # Not syntax. +mixin_forwarding_constructor4_test/02: Fail # Not syntax. +mixin_forwarding_constructor4_test/01: Fail # Not syntax. +mixin_forwarding_constructor4_test/03: Fail # Not syntax. +final_is_not_const_test/01: Fail # Not syntax. +duplicate_implements_test/02: Fail # Not syntax. +duplicate_implements_test/03: Fail # Not syntax. +duplicate_implements_test/04: Fail # Not syntax. +duplicate_implements_test/01: Fail # Not syntax. +switch_case_test/00: Fail # Not syntax. +switch_case_test/02: Fail # Not syntax. +switch_case_test/01: Fail # Not syntax. +final_syntax_test/01: Fail # Not syntax. +final_syntax_test/02: Fail # Not syntax. +final_syntax_test/09: Fail # Not syntax. +switch_bad_case_test/01: Fail # Not syntax. +const_constructor_syntax_test/01: Fail # Not syntax. +const_constructor_syntax_test/02: Fail # Not syntax. +switch_bad_case_test/02: Fail # Not syntax. +const_constructor_syntax_test/03: Fail # Not syntax. +const_constructor_syntax_test/04: Fail # Not syntax. +const_constructor_syntax_test/05: Fail # Not syntax. +scope_variable_test/01: Fail # Not syntax. +dynamic2_test/00: Fail # Not syntax. +dynamic2_test/01: Fail # Not syntax. +constant_type_literal_test/01: Fail # Not syntax. +type_variable_conflict_test/02: Fail # Not syntax. +type_variable_conflict_test/05: Fail # Not syntax. +type_variable_conflict_test/03: Fail # Not syntax. +type_variable_conflict_test/01: Fail # Not syntax. +type_variable_conflict_test/04: Fail # Not syntax. +type_variable_conflict2_test/02: Fail # Not syntax. +type_variable_conflict_test/06: Fail # Not syntax. +type_variable_conflict2_test/06: Fail # Not syntax. +type_variable_conflict2_test/08: Fail # Not syntax. +constructor_name_test/01: Fail # Not syntax. +type_variable_conflict2_test/10: Fail # Not syntax. +mixin_cyclic_test/01: Fail # Not syntax. +mixin_cyclic_test/02: Fail # Not syntax. +toplevel_collision1_test/00: Fail # Not syntax. +toplevel_collision1_test/02: Fail # Not syntax. +regress_23038_test/01: Fail # Not syntax. +toplevel_collision1_test/01: Fail # Not syntax. +malformed_inheritance_test/05: Fail # Not syntax. +malformed_inheritance_test/07: Fail # Not syntax. +malformed_inheritance_test/01: Fail # Not syntax. +malformed_inheritance_test/08: Fail # Not syntax. +malformed_inheritance_test/09: Fail # Not syntax. +malformed_inheritance_test/03: Fail # Not syntax. +malformed_inheritance_test/10: Fail # Not syntax. +internal_library_test/02: Fail # Not syntax. +malformed_inheritance_test/11: Fail # Not syntax. +malformed_inheritance_test/12: Fail # Not syntax. +constructor_redirect_test/01: Fail # Not syntax. +internal_library_test/01: Fail # Not syntax. +conditional_property_access_test/09: Fail # Not syntax. +const_constructor_nonconst_field_test/01: Fail # Not syntax. +fauxverride_test/03: Fail # Not syntax. +fauxverride_test/05: Fail # Not syntax. +override_field_test/01: Fail # Not syntax. +cyclic_class_member_test/01: Fail # Not syntax. +function_type_alias6_test/00: Fail # Not syntax. +const_for_in_variable_test/01: Fail # Not syntax. +const_types_test/08: Fail # Not syntax. +const_types_test/07: Fail # Not syntax. +const_types_test/11: Fail # Not syntax. +const_types_test/10: Fail # Not syntax. +const_types_test/19: Fail # Not syntax. +const_types_test/09: Fail # Not syntax. +const_types_test/15: Fail # Not syntax. +const_types_test/14: Fail # Not syntax. +const_types_test/16: Fail # Not syntax. +const_types_test/21: Fail # Not syntax. +const_types_test/12: Fail # Not syntax. +const_types_test/26: Fail # Not syntax. +const_types_test/25: Fail # Not syntax. +const_types_test/27: Fail # Not syntax. +const_types_test/17: Fail # Not syntax. +const_types_test/24: Fail # Not syntax. +const_types_test/22: Fail # Not syntax. +const_types_test/20: Fail # Not syntax. +const_types_test/18: Fail # Not syntax. +const_types_test/23: Fail # Not syntax. +const_types_test/29: Fail # Not syntax. +const_types_test/28: Fail # Not syntax. +const_types_test/30: Fail # Not syntax. +const_types_test/41: Fail # Not syntax. +prefix_assignment_test/02: Fail # Not syntax. +prefix_assignment_test/01: Fail # Not syntax. +multiline_newline_test/06: Fail # Not syntax. +multiline_newline_test/04r: Fail # Not syntax. +multiline_newline_test/04: Fail # Not syntax. +multiline_newline_test/05r: Fail # Not syntax. +multiline_newline_test/05: Fail # Not syntax. +multiline_newline_test/06r: Fail # Not syntax. +method_override7_test/02: Fail # Not syntax. +method_override7_test/01: Fail # Not syntax. +import_private_test/01: Fail # Not syntax. +method_override7_test/00: Fail # Not syntax. +deferred_load_constants_test/02: Fail # Not syntax. +deferred_load_constants_test/05: Fail # Not syntax. +deferred_load_constants_test/04: Fail # Not syntax. +deferred_load_constants_test/03: Fail # Not syntax. +deferred_load_constants_test/01: Fail # Not syntax. +const_constructor_mixin3_test/01: Fail # Not syntax. +export_private_test/01: Fail # Not syntax. +cyclic_typedef_test/10: Fail # Not syntax. +constructor_redirect2_test/03: Fail # Not syntax. +redirecting_factory_default_values_test/01: Fail # Not syntax. +cyclic_typedef_test/01: Fail # Not syntax. +redirecting_factory_default_values_test/02: Fail # Not syntax. +function_type_alias9_test/00: Fail # Not syntax. +cyclic_typedef_test/03: Fail # Not syntax. +cyclic_typedef_test/07: Fail # Not syntax. +cyclic_typedef_test/02: Fail # Not syntax. +cyclic_typedef_test/04: Fail # Not syntax. +mixin_black_listed_test/08: Fail # Not syntax. +mixin_black_listed_test/06: Fail # Not syntax. +cyclic_typedef_test/08: Fail # Not syntax. +mixin_black_listed_test/04: Fail # Not syntax. +mixin_black_listed_test/02: Fail # Not syntax. +cyclic_typedef_test/09: Fail # Not syntax. +cyclic_typedef_test/05: Fail # Not syntax. +mixin_black_listed_test/03: Fail # Not syntax. +cyclic_typedef_test/11: Fail # Not syntax. +mixin_black_listed_test/05: Fail # Not syntax. +cyclic_typedef_test/06: Fail # Not syntax. +mixin_black_listed_test/01: Fail # Not syntax. +mixin_black_listed_test/07: Fail # Not syntax. +deferred_duplicate_prefix2_test/01: Fail # Not syntax. +duplicate_interface_negative_test: Fail # Not syntax. +function_type_alias5_test/00: Fail # Not syntax. +function_type_alias5_test/01: Fail # Not syntax. +named_parameters_aggregated_test/03: Fail # Not syntax. +named_parameters_aggregated_test/04: Fail # Not syntax. +function_type_alias5_test/02: Fail # Not syntax. +named_parameters_aggregated_test/01: Fail # Not syntax. +named_parameters_aggregated_test/06: Fail # Not syntax. +regress_27617_test/1: Fail # Not syntax. +named_parameters_default_eq_test/02: Fail # Not syntax. +named_parameters_default_eq_test/01: Fail # Not syntax. +try_catch_syntax_test/05: Fail # Not syntax. +try_catch_syntax_test/17: Fail # Not syntax. +try_catch_syntax_test/16: Fail # Not syntax. +final_initializer_instance_reference_test/01: Fail # Not syntax. +constructor10_test/00: Fail # Not syntax. +constructor10_test/01: Fail # Not syntax. +constructor10_test/02: Fail # Not syntax. +mixin_illegal_superclass_test/01: Fail # Not syntax. +mixin_illegal_superclass_test/05: Fail # Not syntax. +mixin_illegal_superclass_test/04: Fail # Not syntax. +mixin_illegal_superclass_test/02: Fail # Not syntax. +mixin_illegal_superclass_test/03: Fail # Not syntax. +mixin_illegal_superclass_test/07: Fail # Not syntax. +mixin_illegal_superclass_test/09: Fail # Not syntax. +mixin_illegal_superclass_test/08: Fail # Not syntax. +mixin_illegal_superclass_test/06: Fail # Not syntax. +mixin_illegal_superclass_test/13: Fail # Not syntax. +mixin_illegal_superclass_test/10: Fail # Not syntax. +mixin_illegal_superclass_test/16: Fail # Not syntax. +mixin_illegal_superclass_test/12: Fail # Not syntax. +mixin_illegal_superclass_test/15: Fail # Not syntax. +mixin_illegal_superclass_test/11: Fail # Not syntax. +mixin_illegal_superclass_test/14: Fail # Not syntax. +mixin_illegal_superclass_test/17: Fail # Not syntax. +mixin_illegal_superclass_test/24: Fail # Not syntax. +mixin_illegal_superclass_test/18: Fail # Not syntax. +mixin_illegal_superclass_test/19: Fail # Not syntax. +mixin_illegal_superclass_test/20: Fail # Not syntax. +mixin_illegal_superclass_test/26: Fail # Not syntax. +mixin_illegal_superclass_test/21: Fail # Not syntax. +mixin_illegal_superclass_test/25: Fail # Not syntax. +mixin_illegal_superclass_test/23: Fail # Not syntax. +mixin_illegal_superclass_test/22: Fail # Not syntax. +mixin_illegal_superclass_test/27: Fail # Not syntax. +mixin_illegal_superclass_test/29: Fail # Not syntax. +mixin_illegal_superclass_test/28: Fail # Not syntax. +mixin_illegal_superclass_test/30: Fail # Not syntax. +mixin_invalid_inheritance2_test/03: Fail # Not syntax. +compile_time_constant_test/01: Fail # Not syntax. +compile_time_constant_test/02: Fail # Not syntax. +mixin_invalid_inheritance2_test/01: Fail # Not syntax. +mixin_invalid_inheritance2_test/02: Fail # Not syntax. +setter_override_test/03: Fail # Not syntax. +setter_override_test/00: Fail # Not syntax. +const_map3_test/00: Fail # Not syntax. +mixin_illegal_super_use_test/02: Fail # Not syntax. +mixin_illegal_super_use_test/01: Fail # Not syntax. +mixin_illegal_super_use_test/06: Fail # Not syntax. +mixin_illegal_super_use_test/05: Fail # Not syntax. +mixin_illegal_super_use_test/04: Fail # Not syntax. +mixin_illegal_super_use_test/07: Fail # Not syntax. +mixin_illegal_super_use_test/10: Fail # Not syntax. +mixin_illegal_super_use_test/03: Fail # Not syntax. +mixin_illegal_super_use_test/08: Fail # Not syntax. +mixin_illegal_super_use_test/11: Fail # Not syntax. +mixin_illegal_super_use_test/09: Fail # Not syntax. +const_switch2_test/01: Fail # Not syntax. +constructor_duplicate_initializers_test/01: Fail # Not syntax. +constructor_duplicate_initializers_test/03: Fail # Not syntax. +constructor_duplicate_initializers_test/02: Fail # Not syntax. +external_test/10: Fail # Not syntax. +external_test/13: Fail # Not syntax. +external_test/20: Fail # Not syntax. +factory_redirection_test/07: Fail # Not syntax. +factory_redirection_test/04: Fail # Not syntax. +deferred_constraints_constants_test/reference2: Fail # Not syntax. +deferred_constraints_constants_test/reference1: Fail # Not syntax. +deferred_constraints_constants_test/default_argument1: Fail # Not syntax. +deferred_constraints_constants_test/metadata3: Fail # Not syntax. +deferred_constraints_constants_test/default_argument2: Fail # Not syntax. +deferred_constraints_constants_test/constructor1: Fail # Not syntax. +deferred_constraints_constants_test/metadata1: Fail # Not syntax. +deferred_constraints_constants_test/constructor2: Fail # Not syntax. +regress_20394_test/01: Fail # Not syntax. +redirecting_factory_infinite_steps_test/02: Fail # Not syntax. +const_map2_test/00: Fail # Not syntax. +library_ambiguous_test/05: Fail # Not syntax. +function_type_parameter2_negative_test: Fail # Not syntax. +function_type_parameter_negative_test: Fail # Not syntax. +duplicate_constructor_test/01: Fail # Not syntax. +mixin_super_constructor_positionals_test/01: Fail # Not syntax. +covariant_test/02: Fail # Not syntax. +covariant_test/08: Fail # Not syntax. +covariant_test/12: Fail # Not syntax. +covariant_test/16: Fail # Not syntax. +covariant_test/14: Fail # Not syntax. +covariant_test/22: Fail # Not syntax. +covariant_test/36: Fail # Not syntax. +covariant_test/28: Fail # Not syntax. +covariant_test/34: Fail # Not syntax. +covariant_test/32: Fail # Not syntax. +const_conditional_test/03: Fail # Not syntax. +const_conditional_test/01: Fail # Not syntax. +const_conditional_test/02: Fail # Not syntax. +const_conditional_test/05: Fail # Not syntax. +const_conditional_test/08: Fail # Not syntax. +const_conditional_test/10: Fail # Not syntax. +const_conditional_test/06: Fail # Not syntax. +const_conditional_test/04: Fail # Not syntax. +const_conditional_test/07: Fail # Not syntax. +const_conditional_test/09: Fail # Not syntax. +mixin_super_constructor_named_test/01: Fail # Not syntax. +async_test/setter1: Fail # Not syntax. +async_test/constructor3: Fail # Not syntax. +cyclic_constructor_test/01: Fail # Not syntax. +constants_test/04: Fail # Not syntax. +constants_test/05: Fail # Not syntax. +constants_test/03: Fail # Not syntax. +prefix_unqualified_invocation_test/02: Fail # Not syntax. +prefix_unqualified_invocation_test/01: Fail # Not syntax. +mixin_invalid_inheritance1_test/01: Fail # Not syntax. +mixin_invalid_inheritance1_test/03: Fail # Not syntax. +mixin_invalid_inheritance1_test/02: Fail # Not syntax. +enum_syntax_test/02: Fail # Not syntax. +enum_syntax_test/05: Fail # Not syntax. +enum_syntax_test/03: Fail # Not syntax. +enum_syntax_test/04: Fail # Not syntax. +enum_syntax_test/06: Fail # Not syntax. +enum_syntax_test/20: Fail # Not syntax. +enum_syntax_test/09: Fail # Not syntax. +enum_syntax_test/22: Fail # Not syntax. +enum_syntax_test/10: Fail # Not syntax. +enum_syntax_test/11: Fail # Not syntax. +enum_syntax_test/30: Fail # Not syntax. +enum_syntax_test/21: Fail # Not syntax. +regress_26855_test/0: Fail # Not syntax. +regress_26855_test/2: Fail # Not syntax. +regress_26855_test/1: Fail # Not syntax. +regress_26855_test/4: Fail # Not syntax. +regress_26855_test/3: Fail # Not syntax. +const_error_multiply_initialized_test/01: Fail # Not syntax. +const_error_multiply_initialized_test/02: Fail # Not syntax. +const_error_multiply_initialized_test/03: Fail # Not syntax. +const_error_multiply_initialized_test/04: Fail # Not syntax. +field_override3_test/01: Fail # Not syntax. +field_override3_test/02: Fail # Not syntax. +field_override3_test/00: Fail # Not syntax. +field_override3_test/03: Fail # Not syntax. +factory_redirection3_cyclic_test/01: Fail # Not syntax. +ref_before_declaration_test/00: Fail # Not syntax. +ref_before_declaration_test/01: Fail # Not syntax. +ref_before_declaration_test/02: Fail # Not syntax. +ref_before_declaration_test/06: Fail # Not syntax. +ref_before_declaration_test/03: Fail # Not syntax. +ref_before_declaration_test/07: Fail # Not syntax. +ref_before_declaration_test/05: Fail # Not syntax. +ref_before_declaration_test/04: Fail # Not syntax. +constructor_return_test/01: Fail # Not syntax. +constructor_return_test/05: Fail # Not syntax. +constructor_return_test/03: Fail # Not syntax. +constructor_return_test/04: Fail # Not syntax. +constructor_return_test/02: Fail # Not syntax. +check_member_static_test/02: Fail # Not syntax. +const_constructor_mixin2_test/01: Fail # Not syntax. +try_catch_test/01: Fail # Not syntax. +conditional_method_invocation_test/11: Fail # Not syntax. +conditional_property_assignment_test/21: Fail # Not syntax. +conditional_property_assignment_test/20: Fail # Not syntax. +conditional_property_assignment_test/22: Fail # Not syntax. +parameter_initializer6_negative_test: Fail # Not syntax. +mixin_illegal_object_test/02: Fail # Not syntax. +interface_cycle_test/01: Fail # Not syntax. +mixin_illegal_object_test/01: Fail # Not syntax. +interface_cycle_test/02: Fail # Not syntax. +mixin_illegal_constructor_test/01: Fail # Not syntax. +mixin_illegal_constructor_test/04: Fail # Not syntax. +mixin_illegal_constructor_test/03: Fail # Not syntax. +mixin_illegal_constructor_test/02: Fail # Not syntax. +mixin_illegal_constructor_test/09: Fail # Not syntax. +mixin_illegal_constructor_test/08: Fail # Not syntax. +mixin_illegal_constructor_test/12: Fail # Not syntax. +mixin_illegal_constructor_test/06: Fail # Not syntax. +mixin_illegal_constructor_test/07: Fail # Not syntax. +mixin_illegal_constructor_test/10: Fail # Not syntax. +mixin_illegal_constructor_test/05: Fail # Not syntax. +mixin_illegal_constructor_test/11: Fail # Not syntax. +constructor_duplicate_final_test/03: Fail # Not syntax. +private_super_constructor_test/01: Fail # Not syntax. +field_override4_test/02: Fail # Not syntax. +mixin_illegal_cycles_test/04: Fail # Not syntax. +mixin_illegal_cycles_test/03: Fail # Not syntax. +mixin_illegal_cycles_test/01: Fail # Not syntax. +mixin_illegal_cycles_test/02: Fail # Not syntax. +mixin_illegal_cycles_test/05: Fail # Not syntax. +mixin_illegal_cycles_test/06: Fail # Not syntax. +function_type_alias7_test/02: Fail # Not syntax. +function_type_alias7_test/01: Fail # Not syntax. +function_type_alias7_test/00: Fail # Not syntax. +method_override8_test/00: Fail # Not syntax. +method_override8_test/01: Fail # Not syntax. +reify_typevar_static_test/00: Fail # Not syntax. +constant_locals_test/03: Fail # Not syntax. +constant_locals_test/02: Fail # Not syntax. +constant_locals_test/05: Fail # Not syntax. +constant_locals_test/04: Fail # Not syntax. +constant_locals_test/01: Fail # Not syntax. +const_constructor_mixin_test/01: Fail # Not syntax. +deferred_duplicate_prefix1_test/01: Fail # Not syntax. +compile_time_constant_r_test/01: Fail # Not syntax. +super_call3_test/01: Fail # Not syntax. +super_call3_test/02: Fail # Not syntax. +compile_time_constant_r_test/02: Fail # Not syntax. +compile_time_constant_r_test/03: Fail # Not syntax. +syntax_test/51: Fail # Not syntax. +await_backwards_compatibility_test/await4: Fail # Not syntax. +const_constructor_test/01: Fail # Not syntax. +await_backwards_compatibility_test/await3: Fail # Not syntax. +missing_part_of_tag_test/01: Fail # Not syntax. +sync_generator2_test/09: Fail # Not syntax. +sync_generator2_test/20: Fail # Not syntax. +sync_generator2_test/11: Fail # Not syntax. +sync_generator2_test/41: Fail # Not syntax. +sync_generator2_test/52: Fail # Not syntax. +const_syntax_test/01: Fail # Not syntax. +const_syntax_test/06: Fail # Not syntax. +const_syntax_test/05: Fail # Not syntax. +const_syntax_test/02: Fail # Not syntax. +const_syntax_test/07: Fail # Not syntax. +const_syntax_test/09: Fail # Not syntax. +const_syntax_test/08: Fail # Not syntax. +const_syntax_test/11: Fail # Not syntax. +const_syntax_test/10: Fail # Not syntax. +const_syntax_test/12: Fail # Not syntax. +const_constructor_super_test/01: Fail # Not syntax. +const_constructor_super_test/02: Fail # Not syntax. +prefix_identifier_reference_test/01: Fail # Not syntax. +prefix_identifier_reference_test/02: Fail # Not syntax. +prefix_identifier_reference_test/03: Fail # Not syntax. +deferred_duplicate_prefix3_test/01: Fail # Not syntax. +deferred_inheritance_constraints_test/implements: Fail # Not syntax. +prefix_identifier_reference_test/05: Fail # Not syntax. +prefix_identifier_reference_test/04: Fail # Not syntax. +deferred_inheritance_constraints_test/mixin: Fail # Not syntax. +deferred_inheritance_constraints_test/extends: Fail # Not syntax. + +# Tests containing conditional imports. +conditional_import_string_test: Fail # Not yet supported. +conditional_import_test: Fail # Not yet supported. +config_import_corelib_test: Fail # Not yet supported. +config_import_test: Fail # Not yet supported. + +# Not working for miscellaneous other reasons. +deep_nesting1_negative_test: Skip # Stack overflow. +deep_nesting2_negative_test: Skip # Stack overflow. +issue_1751477_test: Skip # Times out: 9 levels, exponential blowup => 430 secs. diff --git a/tests/language_2/language_2_parser.status b/tests/language_2/language_2_parser.status deleted file mode 100644 index 1104bd333a4..00000000000 --- a/tests/language_2/language_2_parser.status +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -# for details. All rights reserved. Use of this source code is governed by a -# BSD-style license that can be found in the LICENSE file. - -# This file specifies the status of tests for runs with spec_parser.dart. -# Note that there are overlaps between groups, because a single test may -# be skipped for more than one reason. As features are added, groups are -# expected to be eliminated entirely, and this would not work if all -# duplicates were removed. - -[ $compiler == parser ] - -# Tests containing intentional syntax errors. -double_invalid_test: Skip # Contains illegaly formatted double. -getter_declaration_negative_test: Skip # Contains getter with argument. -issue1578_negative_test: Skip # Line noise. -is_not_class4_negative_test: Skip # Contains `a is A is A`. -is_not_class1_negative_test: Skip # Contains `a is "A"`. -interface_injection2_negative_test: Skip # `class C implements S;`. -interface_injection1_negative_test: Skip # `abstract class I implements S;`. -label8_negative_test: Skip # Contains misplaced label. -operator1_negative_test: Skip # Contains static operator declaration. -operator2_negative_test: Skip # Contains operator === declaration. -string_escape4_negative_test: Skip # Single line string literal with \n. -string_interpolate1_negative_test: Skip # Interpolation syntax error. -string_interpolate2_negative_test: Skip # Interpolation syntax error. -unary_plus_negative_test: Skip # Uses non-existing unary plus. - -# Tests containing `native` (not part of the Dart grammar). -const_native_factory_test: Skip # Uses `native`. - -# Wrong tests. -built_in_identifier_prefix_test: Skip # A built-in identifier can _not_ be a prefix. - -# Multi-tests containing compile-time errors. -abstract_syntax_test: Skip # Not yet supported. -arg_param_trailing_comma_test: Skip # Not yet supported. -assert_trailing_comma_test: Skip # Not yet supported. -assign_static_type_test: Skip # Not yet supported. -assignable_expression_test: Skip # Not yet supported. -async_await_syntax_test: Skip # Not yet supported. -async_return_types_test: Skip # Not yet supported. -await_backwards_compatibility_test: Skip # Not yet supported. -bad_constructor_test: Skip # Not yet supported. -bad_override_test: Skip # Not yet supported. -bad_raw_string_test: Skip # Not yet supported. -bad_typedef_test: Skip # Not yet supported. -black_listed_test: Skip # Not yet supported. -built_in_identifier_illegal_test: Skip # Not yet supported. -canonical_const2_test: Skip # Not yet supported. -canonical_const_test: Skip # Not yet supported. -cascade_test: Skip # Not yet supported. -class_cycle2_test: Skip # Not yet supported. -class_cycle_test: Skip # Not yet supported. -class_keyword_test: Skip # Not yet supported. -class_syntax_test: Skip # Not yet supported. -compile_time_constant10_test: Skip # Not yet supported. -compile_time_constant11_test: Skip # Not yet supported. -compile_time_constant13_test: Skip # Not yet supported. -const_syntax_test: Skip # Not yet supported. -constants_test: Skip # Not yet supported. -constructor_name_test: Skip # Not yet supported. -constructor_redirect2_test: Skip # Not yet supported. -covariant_test: Skip # Not yet supported. -cyclic_typedef_test: Skip # Not yet supported. -deferred_type_dependency_test: Skip # Not yet supported. -deferred_no_prefix_test: Skip # Not yet supported. -deferred_constraints_constants_test: Skip # Not yet supported. -function_syntax_test: Skip # Not yet supported. -get_set_syntax_test: Skip # Not yet supported. -mixin_super_constructor_named_test: Skip # Not yet supported. -mixin_super_constructor_positionals_test: Skip # Not yet supported. -mixin_super_constructor_named_test: Skip # Not yet supported. -mixin_super_constructor_positionals_test: Skip # Not yet supported. -getter_parameters_test: Skip # Not yet supported. -interface_cycle_test: Skip # Not yet supported. -illegal_declaration_test: Skip # Not yet supported. -illegal_initializer_test: Skip # Not yet supported. -keyword_type_expression_test: Skip # Not yet supported. -method_override2_test: Skip # Not yet supported. -mixin_supertype_subclass2_test: Skip # Not yet supported. -mixin_supertype_subclass4_test: Skip # Not yet supported. -mixin_supertype_subclass_test: Skip # Not yet supported. -named_constructor_test: Skip # Not yet supported. -named_parameters_aggregated_test: Skip # Not yet supported. -null_test: Skip # Not yet supported. -number_identifier_test: Skip # Not yet supported. -static_final_field2_test: Skip # Not yet supported. -static_parameter_test: Skip # Not yet supported. -static_top_level_test: Skip # Not yet supported. -string_interpolation1_test: Skip # Not yet supported. -string_interpolation2_test: Skip # Not yet supported. -string_interpolation3_test: Skip # Not yet supported. -string_interpolation4_test: Skip # Not yet supported. -string_interpolation5_test: Skip # Not yet supported. -string_interpolation6_test: Skip # Not yet supported. -string_interpolation9_test: Skip # Not yet supported. -unbalanced_brace_test: Skip # Not yet supported. -unsigned_right_shift_test: Skip # Not yet supported (but this will be OK!). -unsupported_operators_test: Skip # Not yet supported. -variable_declaration_metadata_test: Skip # Not yet supported. -generic_function_typedef2_test: Skip # Not yet supported. - -# Tests using assert in initializer list. -assertion_initializer_test: Skip # Not yet supported. -assertion_initializer_const_error_test: Skip # Not yet supported. -assertion_initializer_const_error2_test: Skip # Not yet supported. -assertion_initializer_const_function_test: Skip # Not yet supported. -assertion_initializer_const_function_error_test: Skip # Not yet supported. - -# Tests using generalized void. -void_type_function_types_test: Skip # Not yet supported. - -# Tests that fail because of the deep nesting. -deep_nesting1_negative_test: Skip # Issue: nesting. -deep_nesting2_negative_test: Skip # Issue: nesting. -issue_1751477_test: Skip # Issue: nesting. \ No newline at end of file diff --git a/tests/language_2/language_2_spec_parser.status b/tests/language_2/language_2_spec_parser.status new file mode 100644 index 00000000000..abb36623ac0 --- /dev/null +++ b/tests/language_2/language_2_spec_parser.status @@ -0,0 +1,791 @@ +# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +# for details. All rights reserved. Use of this source code is governed by a +# BSD-style license that can be found in the LICENSE file. + +[ $compiler == spec_parser ] + +# Negative tests with non-syntax compile-time errors. +bad_initializer1_negative_test: Skip # Negative, not syntax. +bad_initializer2_negative_test: Skip # Negative, not syntax. +bad_named_constructor_negative_test: Skip # Negative, not syntax. +body_less_constructor_wrong_arg_negative_test: Skip # Negative, not syntax. +closure_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +const_optional_args_negative_test: Skip # Negative, not syntax. +constructor3_negative_test: Skip # Negative, not syntax. +constructor_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +constructor_redirect1_negative_test/01: Skip # Negative, not syntax. +constructor_redirect1_negative_test/none: Skip # Negative, not syntax. +constructor_redirect2_negative_test: Skip # Negative, not syntax. +constructor_setter_negative_test: Skip # Negative, not syntax. +duplicate_export_negative_test: Skip # Negative, not syntax. +duplicate_interface_negative_test: Skip # Negative, not syntax. +inst_field_initializer1_negative_test: Skip # Negative, not syntax. +instance_call_wrong_argument_count_negative_test: Skip # Negative, not syntax. +instance_method2_negative_test: Skip # Negative, not syntax. +instance_method_negative_test: Skip # Negative, not syntax. +interface2_negative_test: Skip # Negative, not syntax. +interface_static_method_negative_test: Skip # Negative, not syntax. +interface_static_non_final_fields_negative_test: Skip # Negative, not syntax. +label2_negative_test: Skip # Negative, not syntax. +label3_negative_test: Skip # Negative, not syntax. +label5_negative_test: Skip # Negative, not syntax. +label6_negative_test: Skip # Negative, not syntax. +library_negative_test: Skip # Negative, not syntax. +list_literal2_negative_test: Skip # Negative, not syntax. +map_literal2_negative_test: Skip # Negative, not syntax. +no_such_method_negative_test: Skip # Negative, not syntax. +non_const_super_negative_test: Skip # Negative, not syntax. +override_field_method1_negative_test: Skip # Negative, not syntax. +override_field_method2_negative_test: Skip # Negative, not syntax. +override_field_method4_negative_test: Skip # Negative, not syntax. +override_field_method5_negative_test: Skip # Negative, not syntax. +parameter_initializer1_negative_test: Skip # Negative, not syntax. +parameter_initializer2_negative_test: Skip # Negative, not syntax. +parameter_initializer3_negative_test: Skip # Negative, not syntax. +parameter_initializer4_negative_test: Skip # Negative, not syntax. +parameter_initializer6_negative_test: Skip # Negative, not syntax. +prefix10_negative_test: Skip # Negative, not syntax. +prefix11_negative_test: Skip # Negative, not syntax. +prefix12_negative_test: Skip # Negative, not syntax. +prefix13_negative_test: Skip # Negative, not syntax. +prefix15_negative_test: Skip # Negative, not syntax. +prefix1_negative_test: Skip # Negative, not syntax. +prefix2_negative_test: Skip # Negative, not syntax. +prefix3_negative_test: Skip # Negative, not syntax. +prefix4_negative_test: Skip # Negative, not syntax. +prefix5_negative_test: Skip # Negative, not syntax. +prefix6_negative_test: Skip # Negative, not syntax. +prefix7_negative_test: Skip # Negative, not syntax. +prefix8_negative_test: Skip # Negative, not syntax. +private_member1_negative_test: Skip # Negative, not syntax. +private_member2_negative_test: Skip # Negative, not syntax. +private_member3_negative_test: Skip # Negative, not syntax. +script1_negative_test: Skip # Negative, not syntax. +script2_negative_test: Skip # Negative, not syntax. +string_unicode1_negative_test: Skip # Negative, not syntax. +string_unicode2_negative_test: Skip # Negative, not syntax. +string_unicode3_negative_test: Skip # Negative, not syntax. +string_unicode4_negative_test: Skip # Negative, not syntax. +unhandled_exception_negative_test: Skip # Negative, not syntax. + +# Tests containing intentional syntax errors. +double_invalid_test: Skip # Contains illegaly formatted double. + +# Tests containing `native` (not part of the Dart grammar). +const_native_factory_test: Skip # Uses `native`. + +# Wrong tests. +built_in_identifier_prefix_test: Skip # A built-in identifier can _not_ be a prefix. + +# Tests containing non-syntax compile-time errors. +abstract_beats_arguments_test: Fail # Not syntax. +abstract_exact_selector_test/01: Fail # Not syntax. +abstract_factory_constructor_test/00: Fail # Not syntax. +abstract_getter_test/01: Fail # Not syntax. +abstract_override_adds_optional_args_concrete_subclass_test: Fail # Not syntax. +abstract_override_adds_optional_args_concrete_test: Fail # Not syntax. +abstract_override_adds_optional_args_supercall_test: Fail # Not syntax. +abstract_syntax_test/00: Fail # Not syntax. +abstract_syntax_test/01: Fail # Dart.g does not make it a syntax error to have an abstract static method. +additional_interface_adds_optional_args_concrete_subclass_test: Fail # Not syntax. +additional_interface_adds_optional_args_concrete_test: Fail # Not syntax. +additional_interface_adds_optional_args_supercall_test: Fail # Not syntax. +assign_static_type_test/01: Fail # Not syntax. +assign_static_type_test/02: Fail # Not syntax. +assign_static_type_test/03: Fail # Not syntax. +assign_static_type_test/04: Fail # Not syntax. +assign_static_type_test/05: Fail # Not syntax. +assign_static_type_test/06: Fail # Not syntax. +assign_to_type_test/01: Fail # Not syntax. +assign_to_type_test/02: Fail # Not syntax. +assign_to_type_test/03: Fail # Not syntax. +assign_to_type_test/04: Fail # Not syntax. +assign_top_method_test: Fail # Not syntax. +async_await_syntax_test/a05g: Fail # Dart.g does not make it a syntax error to have yield in an async function. +async_await_syntax_test/a05h: Fail # Dart.g does not make it a syntax error to have yield* in an async function. +async_await_syntax_test/a06b: Fail # Dart.g does not make it a syntax error to have await for in a sync* function. +async_await_syntax_test/a10a: Fail # Not syntax. +async_await_syntax_test/b06b: Fail # Dart.g does not make it a syntax error to have await on a for (not for-in). +async_await_syntax_test/b10a: Fail # Not syntax. +async_await_syntax_test/b10b: Fail # Dart.g does not make it a syntax error to have yield in an async function. +async_await_syntax_test/c10a: Fail # Not syntax. +async_await_syntax_test/c11a: Fail # Dart.g does not make it a syntax error to have yield in an async function. Analyzer error may be wrong. +async_await_syntax_test/c11b: Fail # Dart.g does not make it a syntax error to have yield* in an async function. Analyzer error may be wrong. +async_await_syntax_test/d08b: Fail # Not syntax. +async_await_syntax_test/d10a: Fail # Not syntax. +async_await_syntax_test/e1: Fail # Dart.g does not make it a syntax error to have async on a factory. +async_await_syntax_test/e2: Fail # Dart.g does not make it a syntax error to have async* on a factory. +async_await_syntax_test/e3: Fail # Dart.g does not make it a syntax error to have sync* on a factory. +async_await_syntax_test/e7: Fail # Dart.g does not make it a syntax error to have async on a generative constructor. +async_await_syntax_test/e8: Fail # Dart.g does not make it a syntax error to have async* on a generative constructor. +async_await_syntax_test/e9: Fail # Dart.g does not make it a syntax error to have sync* on a generative constructor. +async_or_generator_return_type_stacktrace_test/01: Fail # Not syntax. +async_or_generator_return_type_stacktrace_test/02: Fail # Not syntax. +async_or_generator_return_type_stacktrace_test/03: Fail # Not syntax. +async_return_types_test/nestedFuture: Fail # Not syntax. +async_return_types_test/return_value_sync_star: Fail # Not syntax. +async_return_types_test/tooManyTypeParameters: Fail # Not syntax. +async_return_types_test/wrongReturnType: Fail # Not syntax. +async_return_types_test/wrongTypeParameter: Fail # Not syntax. +await_backwards_compatibility_test/await3: Fail # Dart.g does not make it a syntax error to use await as a keyword in regular function. +await_backwards_compatibility_test/await4: Fail # Dart.g does not make it a syntax error to use await as a keyword in regular function. +bad_constructor_test/00: Fail # Not syntax. +bad_constructor_test/04: Fail # Not syntax. +bad_constructor_test/06: Fail # Not syntax. +bad_named_parameters2_test/01: Fail # Not syntax. +bad_named_parameters_test/01: Fail # TODO: marked as compile-time error, is not syntax, but seems wrong. +bad_named_parameters_test/02: Fail # Not syntax. +bad_named_parameters_test/03: Fail # Not syntax. +bad_named_parameters_test/04: Fail # Not syntax. +bad_named_parameters_test/05: Fail # Not syntax. +bad_override_test/01: Fail # Not syntax. +bad_override_test/02: Fail # Not syntax. +bad_override_test/03: Fail # Not syntax. +bad_override_test/04: Fail # Not syntax. +bad_override_test/05: Fail # Not syntax. +bad_override_test/06: Fail # Not syntax. +bit_operations_test/01: Fail # Not syntax. +bit_operations_test/02: Fail # Not syntax. +bit_operations_test/03: Fail # Not syntax. +bit_operations_test/04: Fail # Not syntax. +black_listed_test/01: Fail # Not syntax. +black_listed_test/03: Fail # Not syntax. +black_listed_test/05: Fail # Not syntax. +black_listed_test/07: Fail # Not syntax. +black_listed_test/09: Fail # Not syntax. +black_listed_test/13: Fail # Not syntax. +built_in_identifier_illegal_test/04: Fail # Dart.g does not make it a syntax error to declare a class `dynamic`. +call_constructor_on_unresolvable_class_test/01: Fail # Not syntax. +call_constructor_on_unresolvable_class_test/02: Fail # Not syntax. +call_constructor_on_unresolvable_class_test/03: Fail # Not syntax. +call_non_method_field_test/01: Fail # Not syntax. +call_non_method_field_test/02: Fail # Not syntax. +call_nonexistent_constructor_test/01: Fail # Not syntax. +call_nonexistent_constructor_test/02: Fail # Not syntax. +call_nonexistent_static_test/*: Fail # Not syntax. +call_nonexistent_static_test/none: Pass +call_through_getter_test/01: Fail # Not syntax. +call_through_getter_test/02: Fail # Not syntax. +call_type_literal_test/01: Fail # Not syntax. +case_expression_with_assignment_test/01: Fail # Not syntax. +cast_test/04: Fail # Not syntax. +cast_test/05: Fail # Not syntax. +checked_null_test/01: Fail # Not syntax. +checked_setter2_test: Fail # Not syntax. +checked_setter3_test/01: Fail # Not syntax. +checked_setter3_test/02: Fail # Not syntax. +checked_setter3_test/03: Fail # Not syntax. +checked_setter_test: Fail # Not syntax. +class_cycle2_test/01: Fail # Not syntax. +class_cycle2_test/02: Fail # Not syntax. +class_cycle_test/00: Fail # Not syntax. +class_cycle_test/01: Fail # Not syntax. +class_cycle_test/02: Fail # Not syntax. +class_cycle_test/03: Fail # Not syntax. +class_keyword_test/02: Fail # Dart.g does not make it an error to have a string interpolation `$id` where id is a reserved word. Maybe it should? +class_literal_static_test/*: Fail # Not syntax. +class_literal_static_test/none: Pass +class_literal_test/*: Fail # Not syntax. +class_literal_test/none: Pass +class_override_test: Fail # Not syntax. +closure_internals_test/01: Fail # Not syntax. +closure_internals_test/02: Fail # Not syntax. +closure_internals_test/03: Fail # Not syntax. +closure_invoked_through_interface_target_field_test: Fail # Not syntax. +closure_invoked_through_interface_target_getter_test: Fail # Not syntax. +compile_time_constant10_test/01: Fail # Not syntax. +compile_time_constant10_test/02: Fail # Not syntax. +compile_time_constant13_test/02: Fail # Not syntax. +compile_time_constant13_test/03: Fail # Not syntax. +compile_time_constant13_test/04: Fail # Not syntax. +compile_time_constant13_test/05: Fail # Not syntax. +compile_time_constant_arguments_test/*: Fail # Not syntax. +compile_time_constant_arguments_test/none: Pass +compile_time_constant_c_test/02: Fail # Not syntax. +compile_time_constant_c_test/03: Fail # Not syntax. +compile_time_constant_k_test/01: Fail # Not syntax. +compile_time_constant_k_test/02: Fail # Not syntax. +compile_time_constant_k_test/03: Fail # Not syntax. +const_switch2_test/01: Fail # Not syntax. +const_syntax_test/01: Fail # Dart.g and the spec do not make it an error to omit the initializer on a local const. +const_syntax_test/02: Fail # Dart.g and the spec do not make it an error to omit the initializer on a local const. +const_syntax_test/05: Fail # Not syntax. +const_syntax_test/06: Fail # Not syntax. +const_syntax_test/07: Fail # Not syntax. +const_syntax_test/08: Fail # Not syntax. +const_syntax_test/09: Fail # Not syntax. +const_syntax_test/10: Fail # Not syntax. +const_syntax_test/11: Fail # Not syntax. +const_syntax_test/12: Fail # Not syntax. +const_types_test: Fail # Not syntax. +constant_locals_test/01: Fail # Dart.g does not make it a syntax error to omit the initializer on a local const (the spec doesn't either). +constant_locals_test/02: Fail # Not syntax. +constant_locals_test/03: Fail # Not syntax. +constant_locals_test/04: Fail # Not syntax. +constant_locals_test/05: Fail # Not syntax. +constant_type_literal_test/01: Fail # Not syntax. +constants_test/03: Fail # Not syntax. +constants_test/04: Fail # Not syntax. +constants_test/05: Fail # Not syntax. +constructor10_test/00: Fail # Not syntax. +constructor10_test/01: Fail # Not syntax. +constructor10_test/02: Fail # Not syntax. +constructor_call_as_function_test/01: Fail # Not syntax (and will be OK, with optional new/const). +constructor_duplicate_final_test/01: Fail # Not syntax. +constructor_duplicate_final_test/02: Fail # Not syntax. +constructor_duplicate_final_test/03: Fail # Not syntax. +constructor_duplicate_initializers_test/01: Fail # Not syntax. +constructor_duplicate_initializers_test/02: Fail # Not syntax. +constructor_duplicate_initializers_test/03: Fail # Not syntax. +constructor_name_test/01: Fail # Not syntax. +constructor_named_arguments_test/01: Fail # Not syntax. +constructor_redirect2_test/03: Fail # Dart.g does not make it an error to have an initializing formal parameter in a redirecting construct (same in spec). +constructor_redirect_test/01: Fail # Not syntax. +constructor_return_test/01: Fail # Not syntax. +constructor_return_test/02: Fail # Not syntax. +constructor_return_test/03: Fail # Dart.g and the spec do not make it an error to use `=>` with a constructor, even though it can't return. +constructor_return_test/04: Fail # Not syntax. +constructor_return_test/05: Fail # Dart.g and the spec do not make it an error to use `=>` with a constructor, even though it can't return. +covariant_test/02: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: top-level setter). +covariant_test/08: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: top-level setter). +covariant_test/12: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: top-level method). +covariant_test/14: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: top-level method). +covariant_test/16: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: top-level method). +covariant_test/22: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: static setter). +covariant_test/28: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: static setter). +covariant_test/32: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: static method). +covariant_test/34: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: static method). +covariant_test/36: Fail # Dart.g does not make it a syntax error to use `covariant` on any parameter (here: static method). +crash_6725_test/01: Fail # Not syntax. +create_unresolved_type_test/01: Fail # Not syntax. +cyclic_class_member_test/01: Fail # Not syntax. +cyclic_constructor_test/01: Fail # Not syntax. +cyclic_type_variable_test/*: Fail # Not syntax. +cyclic_type_variable_test/none: Pass +cyclic_typedef_test/01: Fail # Not syntax. +cyclic_typedef_test/02: Fail # Not syntax. +cyclic_typedef_test/03: Fail # Not syntax. +cyclic_typedef_test/04: Fail # Not syntax. +cyclic_typedef_test/05: Fail # Not syntax. +cyclic_typedef_test/06: Fail # Not syntax. +cyclic_typedef_test/07: Fail # Not syntax. +cyclic_typedef_test/08: Fail # Not syntax. +cyclic_typedef_test/09: Fail # Not syntax. +cyclic_typedef_test/10: Fail # Not syntax. +cyclic_typedef_test/11: Fail # Not syntax. +cyclic_typedef_test/13: Fail # Not syntax. +default_factory2_test/01: Fail # Not syntax. +default_factory_test/01: Fail # Not syntax. +deferred_constraints_constants_test/constructor1: Fail # Not syntax. +deferred_constraints_constants_test/constructor2: Fail # Not syntax. +deferred_constraints_constants_test/default_argument1: Fail # Not syntax. +deferred_constraints_constants_test/default_argument2: Fail # Not syntax. +deferred_constraints_constants_test/metadata1: Fail # Not syntax. +deferred_constraints_constants_test/metadata3: Fail # Not syntax. +deferred_constraints_constants_test/reference1: Fail # Not syntax. +deferred_constraints_constants_test/reference2: Fail # Not syntax. +deferred_constraints_type_annotation_test/as_operation: Fail # Not syntax. +deferred_constraints_type_annotation_test/catch_check: Fail # Not syntax. +deferred_constraints_type_annotation_test/is_check: Fail # Not syntax. +deferred_constraints_type_annotation_test/new_before_load: Fail # Not syntax. +deferred_constraints_type_annotation_test/new_generic2: Fail # Not syntax. +deferred_constraints_type_annotation_test/new_generic3: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation1: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_generic1: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_generic2: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_generic3: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_generic4: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_null: Fail # Not syntax. +deferred_constraints_type_annotation_test/type_annotation_top_level: Fail # Not syntax. +deferred_duplicate_prefix1_test/01: Fail # Not syntax. +deferred_duplicate_prefix2_test/01: Fail # Not syntax. +deferred_duplicate_prefix3_test/01: Fail # Not syntax. +deferred_inheritance_constraints_test/extends: Fail # Not syntax. +deferred_inheritance_constraints_test/implements: Fail # Not syntax. +deferred_inheritance_constraints_test/mixin: Fail # Not syntax. +deferred_inheritance_constraints_test/redirecting_constructor: Fail # Not syntax. +deferred_load_constants_test/*: Fail # Not syntax. +deferred_load_constants_test/none: Pass +deferred_super_dependency_test/01: Fail # Not syntax. +double_to_string_as_exponential2_test/01: Fail # Not syntax. +double_to_string_as_exponential2_test/02: Fail # Not syntax. +double_to_string_as_exponential2_test/03: Fail # Not syntax. +double_to_string_as_fixed2_test/01: Fail # Not syntax. +double_to_string_as_fixed2_test/02: Fail # Not syntax. +double_to_string_as_fixed2_test/03: Fail # Not syntax. +double_to_string_as_precision2_test/01: Fail # Not syntax. +double_to_string_as_precision2_test/02: Fail # Not syntax. +double_to_string_as_precision2_test/03: Fail # Not syntax. +duplicate_constructor_test/01: Fail # Not syntax. +duplicate_implements_test/01: Fail # Not syntax. +duplicate_implements_test/02: Fail # Not syntax. +duplicate_implements_test/03: Fail # Not syntax. +duplicate_implements_test/04: Fail # Not syntax. +dynamic2_test/00: Fail # Not syntax. +dynamic2_test/01: Fail # Not syntax. +dynamic_field_test/01: Fail # Not syntax. +dynamic_field_test/02: Fail # Not syntax. +dynamic_prefix_core_test/01: Fail # Not syntax. +empty_block_case_test: Fail # Not syntax (it's about fall-through). +enum_private_test/02: Fail # Not syntax. +enum_syntax_test/02: Fail # Not syntax. +enum_syntax_test/03: Fail # Not syntax. +enum_syntax_test/04: Fail # Not syntax. +enum_syntax_test/05: Fail # Not syntax. +enum_syntax_test/06: Fail # Not syntax. +enum_syntax_test/09: Fail # Not syntax. +enum_syntax_test/10: Fail # Not syntax. +enum_syntax_test/11: Fail # Not syntax. +enum_syntax_test/20: Fail # Not syntax. +enum_syntax_test/21: Fail # Not syntax. +enum_syntax_test/22: Fail # Not syntax. +enum_syntax_test/30: Fail # Not syntax. +error_stacktrace_test/00: Fail # Not syntax. +export_ambiguous_main_test: Fail # Not syntax. +export_private_test/01: Fail # Not syntax. +extend_type_parameter_test/00: Fail # Not syntax. +extend_type_parameter_test/01: Fail # Not syntax. +external_test/10: Fail # Not syntax. +external_test/13: Fail # Not syntax (but it could be). +external_test/20: Fail # Not syntax. +external_test/21: Fail # Not syntax. +external_test/24: Fail # Not syntax. +f_bounded_quantification_test/01: Fail # Not syntax. +f_bounded_quantification_test/02: Fail # Not syntax. +factory1_test/00: Fail # Not syntax. +factory1_test/01: Fail # Not syntax. +factory2_test/01: Fail # Not syntax. +factory2_test/03: Fail # Not syntax. +factory2_test/none: Fail # Not syntax (test mixes multi-test and /*@..*/). +factory3_test/01: Fail # Not syntax. +factory3_test/none: Fail # Not syntax (test mixes multi-test and /*@..*/). +factory4_test/00: Fail # Not syntax. +factory5_test/00: Fail # Not syntax. +factory6_test/00: Fail # Not syntax. +factory_redirection3_cyclic_test/01: Fail # Not syntax. +factory_redirection_test/01: Fail # Not syntax. +factory_redirection_test/02: Fail # Not syntax. +factory_redirection_test/03: Fail # Not syntax. +factory_redirection_test/04: Fail # Not syntax. +factory_redirection_test/05: Fail # Not syntax. +factory_redirection_test/06: Fail # Not syntax. +factory_redirection_test/07: Fail # Not syntax. +factory_redirection_test/08: Fail # Not syntax. +factory_redirection_test/09: Fail # Not syntax. +factory_redirection_test/10: Fail # Not syntax. +factory_redirection_test/11: Fail # Not syntax. +factory_redirection_test/12: Fail # Not syntax. +factory_redirection_test/13: Fail # Not syntax. +factory_redirection_test/14: Fail # Not syntax. +factory_redirection_test/none: Fail # Not syntax? +factory_return_type_checked_test/00: Fail # Not syntax. +factory_test/00: Fail # Not syntax. +fauxverride_test/03: Fail # Not syntax. +fauxverride_test/05: Fail # Not syntax. +field1_test: Fail # Not syntax. +field2_test: Fail # Not syntax. +field3_test/01: Fail # Not syntax. +field4_test: Fail # Not syntax. +field5_test: Fail # Not syntax. +field6_test/00: Fail # Not syntax. +field6_test/01: Fail # Not syntax. +field_initialization_order_test/01: Fail # Not syntax. +field_method4_test: Fail # Not syntax. +for_in3_test: Fail # Not syntax. +generic_constructor_mixin2_test/01: Fail # Not syntax. +generic_constructor_mixin3_test/01: Fail # Not syntax. +generic_constructor_mixin_test/01: Fail # Not syntax. +generic_field_mixin6_test/01: Fail # Not syntax. +generic_function_type_as_type_argument_test/01: Fail # Not syntax. +generic_function_type_as_type_argument_test/02: Fail # Not syntax. +generic_function_typedef2_test/04: Fail # Not syntax. +generic_function_typedef2_test/05: Fail # Not syntax. +generic_function_typedef2_test/06: Fail # Not syntax. +generic_metadata_test/02: Fail # Dart.g already allows metadata with type arguments (expected to be added to spec). +generic_metadata_test/03: Fail # Dart.g already allows metadata with type arguments (expected to be added to spec). +generic_methods_bounds_test/01: Fail # Not syntax. +generic_methods_dynamic_test/01: Fail # Not syntax. +generic_methods_dynamic_test/03: Fail # Not syntax. +generic_methods_generic_function_result_test/01: Fail # Not syntax. +generic_methods_overriding_test/01: Fail # Not syntax. +generic_methods_overriding_test/03: Fail # Not syntax. +generic_methods_recursive_bound_test/02: Fail # Not syntax. +getter_no_setter2_test/*: Fail # Not syntax. +getter_no_setter2_test/none: Pass +getter_no_setter_test/*: Fail # Not syntax. +getter_no_setter_test/none: Pass +getter_override2_test/02: Fail # Not syntax. +getter_override_test/*: Fail # Not syntax. +getter_override_test/none: Pass +getters_setters2_test/02: Fail # Not syntax. +identical_const_test/01: Fail # Not syntax. +identical_const_test/02: Fail # Not syntax. +identical_const_test/03: Fail # Not syntax. +identical_const_test/04: Fail # Not syntax. +if_null_assignment_behavior_test/03: Fail # Not syntax. +if_null_assignment_behavior_test/13: Fail # Not syntax. +if_null_assignment_behavior_test/15: Fail # Not syntax. +if_null_assignment_behavior_test/29: Fail # Not syntax. +if_null_assignment_behavior_test/30: Fail # Not syntax. +if_null_assignment_static_test/02: Fail # Not syntax. +if_null_assignment_static_test/04: Fail # Not syntax. +if_null_assignment_static_test/06: Fail # Not syntax. +if_null_assignment_static_test/07: Fail # Not syntax. +if_null_assignment_static_test/09: Fail # Not syntax. +if_null_assignment_static_test/11: Fail # Not syntax. +if_null_assignment_static_test/13: Fail # Not syntax. +if_null_assignment_static_test/14: Fail # Not syntax. +if_null_assignment_static_test/16: Fail # Not syntax. +if_null_assignment_static_test/18: Fail # Not syntax. +if_null_assignment_static_test/20: Fail # Not syntax. +if_null_assignment_static_test/21: Fail # Not syntax. +if_null_assignment_static_test/23: Fail # Not syntax. +if_null_assignment_static_test/25: Fail # Not syntax. +if_null_assignment_static_test/27: Fail # Not syntax. +if_null_assignment_static_test/28: Fail # Not syntax. +if_null_assignment_static_test/30: Fail # Not syntax. +if_null_assignment_static_test/32: Fail # Not syntax. +if_null_assignment_static_test/34: Fail # Not syntax. +if_null_assignment_static_test/35: Fail # Not syntax. +if_null_assignment_static_test/37: Fail # Not syntax. +if_null_assignment_static_test/39: Fail # Not syntax. +if_null_assignment_static_test/41: Fail # Not syntax. +if_null_assignment_static_test/42: Fail # Not syntax. +if_null_precedence_test/06: Fail # Not syntax. +if_null_precedence_test/07: Fail # Not syntax. +illegal_invocation_test/01: Fail # Not syntax. +implicit_this_test/01: Fail # Not syntax. +implicit_this_test/02: Fail # Not syntax. +implicit_this_test/04: Fail # Not syntax. +import_private_test/01: Fail # Not syntax. +import_self_test/01: Fail # Not syntax. +inferrer_constructor5_test/01: Fail # Not syntax. +initializing_formal_final_test: Fail # Not syntax. +initializing_formal_type_annotation_test/01: Fail # Not syntax. +initializing_formal_type_annotation_test/02: Fail # Not syntax. +initializing_formal_type_test: Fail # Not syntax. +interface_cycle_test/01: Fail # Not syntax. +interface_cycle_test/02: Fail # Not syntax. +interface_test/00: Fail # Not syntax. +internal_library_test/01: Fail # Not syntax. +internal_library_test/02: Fail # Not syntax. +is_malformed_type_test/*: Fail # Not syntax. +is_malformed_type_test/none: Pass +is_not_class2_test/01: Fail # Not syntax. +isnot_malformed_type_test/01: Fail # Not syntax. +issue11724_test/01: Fail # Not syntax. +issue1363_test/01: Fail # Not syntax. +issue15606_test/01: Fail # Not syntax. +issue18628_1_test/01: Fail # Not syntax. +issue18628_2_test/01: Fail # Not syntax. +least_upper_bound_expansive_test/*: Fail # Not syntax. +least_upper_bound_expansive_test/none: Pass +least_upper_bound_test/03: Fail # Not syntax. +least_upper_bound_test/04: Fail # Not syntax. +least_upper_bound_test/10: Fail # Not syntax. +least_upper_bound_test/19: Fail # Not syntax. +least_upper_bound_test/20: Fail # Not syntax. +least_upper_bound_test/23: Fail # Not syntax. +least_upper_bound_test/24: Fail # Not syntax. +least_upper_bound_test/29: Fail # Not syntax. +least_upper_bound_test/30: Fail # Not syntax. +least_upper_bound_test/32: Fail # Not syntax. +library_ambiguous_test/*: Fail # Not syntax. +library_ambiguous_test/none: Pass +list_literal1_test/01: Fail # Not syntax. +list_literal4_test/00: Fail # Not syntax. +list_literal4_test/01: Fail # Not syntax. +list_literal4_test/03: Fail # Not syntax. +list_literal4_test/04: Fail # Not syntax. +list_literal4_test/05: Fail # Not syntax. +list_literal_syntax_test/01: Fail # Not syntax. +list_literal_syntax_test/02: Fail # Not syntax. +list_literal_syntax_test/03: Fail # Not syntax. +map_literal1_test/01: Fail # Not syntax. +map_literal3_test/01: Fail # Not syntax. +map_literal3_test/02: Fail # Not syntax. +map_literal3_test/03: Fail # Not syntax. +map_literal3_test/04: Fail # Not syntax. +map_literal4_test/*: Fail # Not syntax. +map_literal4_test/none: Pass +method_override2_test/*: Fail # Not syntax. +method_override2_test/none: Pass +method_override3_test/*: Fail # Not syntax. +method_override3_test/none: Pass +method_override7_test/*: Fail # Not syntax. +method_override7_test/none: Pass +method_override8_test/00: Fail # Not syntax. +method_override8_test/01: Fail # Not syntax. +method_override8_test/03: Fail # Not syntax. +mixin_of_mixin_test/*: Fail # Not syntax. +mixin_of_mixin_test/none: Pass +mixin_super_2_test/*: Fail # Not syntax. +mixin_super_2_test/none: Pass +mixin_super_bound_test/01: Fail # Not syntax. +mixin_super_bound_test/02: Fail # Not syntax. +mixin_super_constructor_named_test/01: Fail # Not syntax. +mixin_super_constructor_positionals_test/01: Fail # Not syntax. +mixin_supertype_subclass_test/02: Fail # Not syntax. +mixin_supertype_subclass_test/05: Fail # Not syntax. +mixin_type_parameters_errors_test/*: Fail # Not syntax. +mixin_type_parameters_errors_test/none: Pass +mixin_with_two_implicit_constructors_test: Fail # Not syntax. +multiline_newline_test/04: Fail # Not syntax. +multiline_newline_test/04r: Fail # Not syntax. +multiline_newline_test/05: Fail # Not syntax. +multiline_newline_test/05r: Fail # Not syntax. +multiline_newline_test/06: Fail # Not syntax. +multiline_newline_test/06r: Fail # Not syntax. +named_constructor_test/01: Fail # Not syntax (think `new prefix.id()`). +named_constructor_test/03: Fail # Not syntax (think `new C.id()`). +named_parameters2_test: Fail # Not syntax. +named_parameters3_test: Fail # Not syntax. +named_parameters4_test: Fail # Not syntax. +named_parameters_aggregated_test/01: Fail # Dart.g does not make it a syntax error to have a default value on an optional positional parameter in an old-style typedef. +named_parameters_aggregated_test/03: Fail # Dart.g does not make it a syntax error to have a default value on an optional named parameter in an old-style function typed parameter. +named_parameters_aggregated_test/04: Fail # Not syntax. +named_parameters_aggregated_test/05: Fail # Not syntax. +named_parameters_aggregated_test/06: Fail # Not syntax. +named_parameters_default_eq_test/01: Fail # Dart.g does not make it a syntax error to have a default value on an optional positional parameter in an old-style typedef. +named_parameters_default_eq_test/02: Fail # Not syntax. +named_parameters_test/*: Fail # Not syntax. +named_parameters_test/none: Pass +named_parameters_type_test/*: Fail # Not syntax. +named_parameters_type_test/none: Pass +new_expression_type_args_test/*: Fail # Not syntax. +new_expression_type_args_test/none: Pass +new_prefix_test/01: Fail # Not syntax. +no_such_constructor_test/01: Fail # Not syntax. +not_enough_positional_arguments_test/*: Fail # Not syntax. +not_enough_positional_arguments_test/none: Pass +null_test/01: Fail # Not syntax. +null_test/02: Fail # Not syntax. +null_test/03: Fail # Not syntax. +number_identifier_test/05: Fail # Not syntax. +number_identifier_test/08: Fail # Not syntax. +number_identifier_test/09: Fail # Not syntax. +on_catch_malformed_type_test: Fail # Not syntax. +operator5_test: Fail # Not syntax. +operator_equals_test: Fail # Not syntax. +optimized_constant_array_string_access_test: Fail # Not syntax. +optional_named_parameters_test/*: Fail # Not syntax. +optional_named_parameters_test/none: Pass +override_field_test/*: Fail # Not syntax. +override_field_test/none: Pass +override_inheritance_abstract_test/02: Fail # Not syntax. +override_inheritance_abstract_test/03: Fail # Not syntax. +override_inheritance_abstract_test/04: Fail # Not syntax. +override_inheritance_abstract_test/08: Fail # Not syntax. +override_inheritance_abstract_test/09: Fail # Not syntax. +override_inheritance_abstract_test/10: Fail # Not syntax. +override_inheritance_abstract_test/11: Fail # Not syntax. +override_inheritance_abstract_test/12: Fail # Not syntax. +override_inheritance_abstract_test/13: Fail # Not syntax.. +override_inheritance_abstract_test/14: Fail # Not syntax. +override_inheritance_abstract_test/17: Fail # Not syntax. +override_inheritance_abstract_test/19: Fail # Not syntax. +override_inheritance_abstract_test/20: Fail # Not syntax. +override_inheritance_abstract_test/21: Fail # Not syntax. +override_inheritance_abstract_test/22: Fail # Not syntax. +override_inheritance_abstract_test/23: Fail # Not syntax. +override_inheritance_abstract_test/24: Fail # Not syntax. +override_inheritance_abstract_test/25: Fail # Not syntax. +override_inheritance_abstract_test/26: Fail # Not syntax. +override_inheritance_abstract_test/28: Fail # Not syntax. +override_inheritance_field_test/05: Fail # Not syntax. +override_inheritance_field_test/07: Fail # Not syntax. +override_inheritance_field_test/08: Fail # Not syntax. +override_inheritance_field_test/09: Fail # Not syntax. +override_inheritance_field_test/10: Fail # Not syntax. +override_inheritance_field_test/11: Fail # Not syntax. +override_inheritance_field_test/28: Fail # Not syntax. +override_inheritance_field_test/30: Fail # Not syntax. +override_inheritance_field_test/31: Fail # Not syntax. +override_inheritance_field_test/32: Fail # Not syntax. +override_inheritance_field_test/33: Fail # Not syntax. +override_inheritance_field_test/33a: Fail # Not syntax. +override_inheritance_field_test/34: Fail # Not syntax. +override_inheritance_field_test/44: Fail # Not syntax. +override_inheritance_field_test/47: Fail # Not syntax. +override_inheritance_field_test/48: Fail # Not syntax. +override_inheritance_field_test/53: Fail # Not syntax. +override_inheritance_field_test/54: Fail # Not syntax. +override_inheritance_generic_test/04: Fail # Not syntax. +override_inheritance_generic_test/06: Fail # Not syntax. +override_inheritance_generic_test/07: Fail # Not syntax. +override_inheritance_generic_test/08: Fail # Not syntax. +override_inheritance_generic_test/09: Fail # Not syntax. +override_inheritance_generic_test/10: Fail # Not syntax. +override_inheritance_method_test/04: Fail # Not syntax. +override_inheritance_method_test/05: Fail # Not syntax. +override_inheritance_method_test/06: Fail # Not syntax. +override_inheritance_method_test/11: Fail # Not syntax. +override_inheritance_method_test/12: Fail # Not syntax. +override_inheritance_method_test/13: Fail # Not syntax. +override_inheritance_method_test/14: Fail # Not syntax. +override_inheritance_method_test/19: Fail # Not syntax. +override_inheritance_method_test/20: Fail # Not syntax. +override_inheritance_method_test/21: Fail # Not syntax. +override_inheritance_method_test/27: Fail # Not syntax. +override_inheritance_method_test/30: Fail # Not syntax. +override_inheritance_method_test/31: Fail # Not syntax. +override_inheritance_method_test/32: Fail # Not syntax. +override_inheritance_method_test/33: Fail # Not syntax. +override_inheritance_mixed_test/01: Fail # Not syntax. +override_inheritance_mixed_test/02: Fail # Not syntax. +override_inheritance_mixed_test/03: Fail # Not syntax. +override_inheritance_mixed_test/04: Fail # Not syntax. +override_inheritance_mixed_test/06: Fail # Not syntax. +override_inheritance_mixed_test/07: Fail # Not syntax. +override_inheritance_mixed_test/08: Fail # Not syntax. +override_inheritance_mixed_test/09: Fail # Not syntax. +override_inheritance_no_such_method_test/01: Fail # Not syntax. +override_inheritance_no_such_method_test/02: Fail # Not syntax. +override_inheritance_no_such_method_test/06: Fail # Not syntax. +override_inheritance_no_such_method_test/07: Fail # Not syntax. +override_inheritance_no_such_method_test/09: Fail # Not syntax. +override_inheritance_no_such_method_test/10: Fail # Not syntax. +override_inheritance_no_such_method_test/12: Fail # Not syntax. +override_inheritance_no_such_method_test/13: Fail # Not syntax (but it will be OK in the future, and we will then be able to remove this status entry). +override_method_with_field_test/01: Fail # Not syntax. +override_method_with_field_test/02: Fail # Not syntax. +part2_test/01: Fail # Not syntax. +part_refers_to_core_library_test/01: Fail # Not syntax. +positional_parameters_type_test/01: Fail # Not syntax. +positional_parameters_type_test/02: Fail # Not syntax. +prefix16_test/00: Fail # Not syntax. +prefix16_test/01: Fail # Not syntax. +prefix22_test/00: Fail # Not syntax. +prefix23_test/00: Fail # Not syntax. +prefix_assignment_test/01: Fail # Not syntax. +prefix_assignment_test/02: Fail # Not syntax. +prefix_identifier_reference_test/*: Fail # Not syntax. +prefix_identifier_reference_test/none: Pass +prefix_unqualified_invocation_test/01: Fail # Not syntax. +prefix_unqualified_invocation_test/02: Fail # Not syntax. +private_access_test/*: Fail # Not syntax. +private_access_test/none: Pass +regress_22936_test: Fail # Not syntax. +regress_23038_test/01: Fail # Not syntax. +regress_23089_test: Fail # Not syntax. +regress_26133_test: Fail # Not syntax. +regress_26855_test/0: Fail # Not syntax (misplaced initializing formal). +regress_26855_test/1: Fail # Not syntax (misplaced initializing formal). +regress_26855_test/2: Fail # Not syntax (misplaced initializing formal). +regress_26855_test/3: Fail # Not syntax (misplaced initializing formal). +regress_26855_test/4: Fail # Not syntax (misplaced initializing formal). +regress_27572_test: Fail # Not syntax. +regress_27617_test/1: Fail # Not syntax. +regress_28217_test/01: Fail # Not syntax. +regress_28217_test/none: Fail # Not syntax. +regress_29784_test/*: Fail # Not syntax. +regress_29784_test/none: Pass +scope_variable_test/01: Fail # Not syntax. +static_field3_test/*: Fail # Not syntax. +static_field3_test/none: Pass +static_field_test/*: Fail # Not syntax. +static_field_test/none: Pass +static_final_field2_test/01: Fail # Not syntax. +static_getter_no_setter1_test/01: Fail # Not syntax. +static_getter_no_setter2_test/01: Fail # Not syntax. +static_initializer_type_error_test: Fail # Not syntax. +static_setter_get_test/01: Fail # Not syntax. +string_interpolation_test/01: Fail # Not syntax. +string_no_operator_test/*: Fail # Not syntax. +string_no_operator_test/none: Pass +string_test/01: Fail # Not syntax. +substring_test/01: Fail # Not syntax. +super_assign_test/01: Fail # Not syntax. +super_bound_closure_test/01: Fail # Not syntax. +try_catch_on_syntax_test/07: Fail # Not syntax. +try_catch_on_syntax_test/10: Fail # Not syntax. +try_catch_on_syntax_test/11: Fail # Not syntax. +try_catch_syntax_test/05: Fail # Not syntax. +try_catch_syntax_test/08: Fail # Not syntax. +try_catch_syntax_test/16: Fail # Not syntax. +try_catch_syntax_test/17: Fail # Not syntax. +try_catch_test/01: Fail # Not syntax. +type_check_const_function_typedef2_test: Fail # Not syntax. +type_checks_in_factory_method_test/01: Fail # Not syntax. +type_literal_prefix_call_test/00: Fail # Not syntax (will be legal with optional new/const). +type_parameter_test/*: Fail # Not syntax. +type_parameter_test/none: Pass +type_promotion_assign_test/*: Fail # Not syntax. +type_promotion_assign_test/none: Pass +type_promotion_closure_test/01: Fail # Not syntax. +type_promotion_closure_test/02: Fail # Not syntax. +type_promotion_closure_test/03: Fail # Not syntax. +type_promotion_closure_test/04: Fail # Not syntax. +type_promotion_closure_test/06: Fail # Not syntax. +type_promotion_closure_test/07: Fail # Not syntax. +type_promotion_closure_test/09: Fail # Not syntax. +type_promotion_closure_test/10: Fail # Not syntax. +type_promotion_closure_test/11: Fail # Not syntax. +type_promotion_closure_test/12: Fail # Not syntax. +type_promotion_closure_test/13: Fail # Not syntax. +type_promotion_closure_test/14: Fail # Not syntax. +type_promotion_closure_test/15: Fail # Not syntax. +type_promotion_closure_test/16: Fail # Not syntax. +type_promotion_local_test/*: Fail # Not syntax. +type_promotion_local_test/none: Pass +type_promotion_logical_and_test/*: Fail # Not syntax. +type_promotion_logical_and_test/none: Pass +type_promotion_more_specific_test/02: Fail # Not syntax. +type_promotion_more_specific_test/06: Fail # Not syntax. +type_promotion_more_specific_test/07: Fail # Not syntax. +type_promotion_more_specific_test/09: Fail # Not syntax. +type_promotion_multiple_test/*: Fail # Not syntax. +type_promotion_multiple_test/none: Pass +type_promotion_parameter_test/*: Fail # Not syntax. +type_promotion_parameter_test/none: Pass +type_variable_bounds2_test: Fail # Not syntax. +type_variable_bounds3_test/00: Fail # Not syntax. +type_variable_bounds4_test/01: Fail # Not syntax. +type_variable_bounds_test/*: Fail # Not syntax. +type_variable_bounds_test/none: Pass +type_variable_conflict2_test/*: Fail # Not syntax. +type_variable_conflict2_test/none: Pass +type_variable_conflict_test/*: Fail # Not syntax. +type_variable_conflict_test/none: Pass +type_variable_identifier_expression_test: Fail # Not syntax. +type_variable_scope2_test: Fail # Not syntax. +type_variable_scope3_test/00: Fail # Not syntax. +type_variable_scope_test/*: Fail # Not syntax. +type_variable_scope_test/none: Pass +type_variable_static_context_test: Fail # Not syntax. +typed_selector2_test: Fail # Not syntax. +unbound_getter_test: Fail # Not syntax. +unresolved_default_constructor_test/01: Fail # Not syntax. +unresolved_in_factory_test: Fail # Not syntax. +unresolved_top_level_method_test: Fail # Not syntax. +unresolved_top_level_var_test: Fail # Not syntax. +vm/type_vm_test/*: Fail # Not syntax. +vm/type_vm_test/none: Pass +void_block_return_test/00: Fail # Not syntax. +wrong_number_type_arguments_test/*: Fail # Not syntax. +wrong_number_type_arguments_test/none: Pass + +# Tests using assert in initializer list. +assertion_initializer_test: Skip # Not yet supported. +assertion_initializer_const_error_test: Skip # Not yet supported. +assertion_initializer_const_error2_test: Skip # Not yet supported. +assertion_initializer_const_function_test: Skip # Not yet supported. +assertion_initializer_const_function_error_test: Skip # Not yet supported. + +# Tests using debug break (which is not Dart syntax). +vm/debug_break_enabled_vm_test/01: Fail # Uses debug break. +vm/debug_break_enabled_vm_test/none: Fail # Uses debug break. + +# Tests using generalized void. +void_type_function_types_test: Skip # Not yet supported. + +# Tests that fail because of the deep nesting. +deep_nesting1_negative_test: Skip # Stack overflow. +deep_nesting2_negative_test: Skip # Stack overflow. +issue_1751477_test: Skip # Times out: 9 levels, exponential blowup => 430 secs. + +# Tests that succeed, but are marked as failing elsewhere. +closure_type_test: Pass # Marked as RuntimeError for all in language_2.status. + +# Looks like the test should be changed. +arg_param_trailing_comma_test/107: Fail # `void operator []=(a,);` expected to be a compile-time error diff --git a/tests/language_strong/language_strong_parser.status b/tests/language_strong/language_strong_spec_parser.status similarity index 99% rename from tests/language_strong/language_strong_parser.status rename to tests/language_strong/language_strong_spec_parser.status index 50bb5e90489..8f4eb878268 100644 --- a/tests/language_strong/language_strong_parser.status +++ b/tests/language_strong/language_strong_spec_parser.status @@ -8,7 +8,7 @@ # expected to be eliminated entirely, and this would not work if all # duplicates were removed. -[ $compiler == parser ] +[ $compiler == spec_parser ] # Files causing near-stuck parsing (due to exponential complexity) issue_1751477_test: Skip # Slow. diff --git a/tools/spec_parser/SpecParser.java b/tools/spec_parser/SpecParser.java index 011c27e19ca..fc22deb1f96 100644 --- a/tools/spec_parser/SpecParser.java +++ b/tools/spec_parser/SpecParser.java @@ -2,44 +2,114 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import java.io.*; +import java.util.*; import org.antlr.runtime.*; +class ParsingResult { + public int numberOfFileArguments; + public int numberOfFailures; +} + /// Class for `main` which will parse files given as command line arguments. public class SpecParser { - private static void helpAndExit() { - System.err.println("Expected arguments: [--verbose] ..."); - System.exit(1); + private static void normalExit() { + // Terminate with exit code indicating normal termination. + System.exit(0); } - public static void main(String[] args) throws Exception { - boolean verbose = false; - int numberOfFileArguments = 0; - int numberOfFailures = 0; + private static void compileTimeErrorExit() { + // Terminate with exit code indicating compile-time error. + System.exit(254); + } - if (args.length == 0) helpAndExit(); - numberOfFileArguments = args.length; - for (int i = 0; i < args.length; i++) { - String filePath = args[i]; - if (filePath.equals("--verbose")) { - verbose = true; - numberOfFileArguments--; - if (numberOfFileArguments == 0) helpAndExit(); + private static void helpAndExit() { + System.err.println("Expected arguments: [--verbose] ..."); + compileTimeErrorExit(); + } + + /// Receive command lines from standard input and produce feedback about + /// the outcome on standard output and standard error, as expected by + /// tools/test.py when running with `--batch`. + public static void runAsBatch() throws IOException, RecognitionException { + ParsingResult result = new ParsingResult(); + long startTime = System.currentTimeMillis(); + InputStreamReader input = new InputStreamReader(System.in); + BufferedReader bufferedInput = new BufferedReader(input); + String cmdLine; + + System.out.println(">>> BATCH START"); + while ((cmdLine = bufferedInput.readLine()) != null) { + if (cmdLine.length() == 0) { + System.out.println( + ">>> BATCH END (" + + (result.numberOfFileArguments - result.numberOfFailures) + + "/" + result.numberOfFileArguments + ") " + + (System.currentTimeMillis() - startTime) + "ms"); + if (result.numberOfFailures > 0) compileTimeErrorExit(); + normalExit(); + } + + String[] lineArgs = cmdLine.split("\\s+"); + result = parseFiles(lineArgs); + // Write stderr end token and flush. + System.err.println(">>> EOF STDERR"); + String resultPassString = result.numberOfFailures == 0 ? "PASS" : "FAIL"; + System.out.println(">>> TEST " + resultPassString + " " + + (System.currentTimeMillis() - startTime) + "ms"); + startTime = System.currentTimeMillis(); + } + } + + /// From [arguments], obey the flags ("--") if known and ignore + /// them if unknown; treat the remaining [arguments] as file paths and + /// parse each of them. Return a [ParsingResult] specifying how many files + /// were parsed, and how many of them failed to parse. + private static ParsingResult parseFiles(String[] arguments) + throws IOException, RecognitionException { + ParsingResult result = new ParsingResult(); + boolean verbose = false; + + result.numberOfFileArguments = arguments.length; + for (int i = 0; i < arguments.length; i++) { + String filePath = arguments[i]; + if (filePath.substring(0, 2).equals("--")) { + result.numberOfFileArguments--; + if (result.numberOfFileArguments == 0) return result; + if (filePath.equals("--verbose")) verbose = true; + if (filePath.equals("--batch")) runAsBatch(); + // Ignore all other flags. continue; } if (verbose) System.err.println("Parsing file: " + filePath); DartParser parser = new DartParser(new CommonTokenStream( new DartLexer(new ANTLRFileStream(filePath)))); - if (!parser.parseLibrary(filePath)) numberOfFailures++; + if (!parser.parseLibrary(filePath)) result.numberOfFailures++; } - if (numberOfFailures > 0) { - System.err.println("Parsed " + numberOfFileArguments + " files, " + - numberOfFailures + " failing."); - System.exit(1); - } else { - if (numberOfFileArguments == 1) { - System.out.println("Parsed successfully."); + return result; + } + + public static void main(String[] args) throws Exception { + if (args.length == 0) helpAndExit(); + ParsingResult result = parseFiles(args); + + if (result.numberOfFileArguments == 0) { + helpAndExit(); + } else if (result.numberOfFileArguments == 1) { + if (result.numberOfFailures > 0) { + System.err.println("Parsing failed"); + compileTimeErrorExit(); } else { - System.out.println("Parsed " + numberOfFileArguments + + System.out.println("Parsing succeeded."); + } + } else { + if (result.numberOfFailures > 0) { + System.err.println( + "Parsed " + result.numberOfFileArguments + " files, " + + result.numberOfFailures + " failed."); + compileTimeErrorExit(); + } else { + System.out.println("Parsed " + result.numberOfFileArguments + " files successfully."); } } diff --git a/tools/testing/dart/command.dart b/tools/testing/dart/command.dart index 772d2d9208e..2964b9d1c39 100644 --- a/tools/testing/dart/command.dart +++ b/tools/testing/dart/command.dart @@ -66,6 +66,12 @@ class Command { return new AnalysisCommand._(executable, arguments, environmentOverrides); } + static Command specParse(String executable, List arguments, + Map environmentOverrides) { + return new SpecParseCommand._( + executable, arguments, environmentOverrides); + } + static Command vm(String executable, List arguments, Map environmentOverrides) { return new VmCommand._(executable, arguments, environmentOverrides); @@ -397,6 +403,12 @@ class AnalysisCommand extends ProcessCommand { : super._('dart2analyzer', executable, arguments, environmentOverrides); } +class SpecParseCommand extends ProcessCommand { + SpecParseCommand._(String executable, List arguments, + Map environmentOverrides) + : super._('spec_parser', executable, arguments, environmentOverrides); +} + class VmCommand extends ProcessCommand { VmCommand._(String executable, List arguments, Map environmentOverrides) diff --git a/tools/testing/dart/compiler_configuration.dart b/tools/testing/dart/compiler_configuration.dart index a69f77b0aa5..bc8de5d47db 100644 --- a/tools/testing/dart/compiler_configuration.dart +++ b/tools/testing/dart/compiler_configuration.dart @@ -69,6 +69,9 @@ abstract class CompilerConfiguration { return new PrecompilerCompilerConfiguration(configuration, useDfe: true); + case Compiler.specParser: + return new SpecParserCompilerConfiguration(configuration); + case Compiler.none: return new NoneCompilerConfiguration(configuration); } @@ -273,7 +276,7 @@ class ComposedCompilerConfiguration extends CompilerConfiguration { } } -/// Common configuration for dart2js-based tools, such as, dart2js +/// Common configuration for dart2js-based tools, such as dart2js. class Dart2xCompilerConfiguration extends CompilerConfiguration { final String moniker; static Map> _bootstrapDependenciesCache = {}; @@ -327,7 +330,7 @@ class Dart2xCompilerConfiguration extends CompilerConfiguration { } } -/// Configuration for dart2js compiler. +/// Configuration for dart2js. class Dart2jsCompilerConfiguration extends Dart2xCompilerConfiguration { Dart2jsCompilerConfiguration(Configuration configuration) : super('dart2js', configuration); @@ -366,7 +369,7 @@ class Dart2jsCompilerConfiguration extends Dart2xCompilerConfiguration { } } -/// Configuration for dart2js compiler. +/// Configuration for dev-compiler. class DevCompilerConfiguration extends CompilerConfiguration { DevCompilerConfiguration(Configuration configuration) : super._subclass(configuration); @@ -788,6 +791,7 @@ class AppJitCompilerConfiguration extends CompilerConfiguration { } } +/// Configuration for dartanalyzer. class AnalyzerCompilerConfiguration extends CompilerConfiguration { AnalyzerCompilerConfiguration(Configuration configuration) : super._subclass(configuration); @@ -838,3 +842,32 @@ class AnalyzerCompilerConfiguration extends CompilerConfiguration { return []; } } + +/// Configuration for spec_parser. +class SpecParserCompilerConfiguration extends CompilerConfiguration { + SpecParserCompilerConfiguration(Configuration configuration) + : super._subclass(configuration); + + String computeCompilerPath() => 'tools/spec_parse.py'; + + CommandArtifact computeCompilationArtifact(String tempDir, + List arguments, Map environmentOverrides) { + arguments = arguments.toList(); + + // Since this is not a real compilation, no artifacts are produced. + return new CommandArtifact([ + Command.specParse( + computeCompilerPath(), arguments, environmentOverrides) + ], null, null); + } + + List computeRuntimeArguments( + RuntimeConfiguration runtimeConfiguration, + TestInformation info, + List vmOptions, + List sharedOptions, + List originalArguments, + CommandArtifact artifact) { + return []; + } +} diff --git a/tools/testing/dart/configuration.dart b/tools/testing/dart/configuration.dart index 5ad7decb4ff..2867a9f9653 100644 --- a/tools/testing/dart/configuration.dart +++ b/tools/testing/dart/configuration.dart @@ -517,6 +517,7 @@ class Compiler { static const appJit = const Compiler._('app_jit'); static const dartk = const Compiler._('dartk'); static const dartkp = const Compiler._('dartkp'); + static const specParser = const Compiler._('spec_parser'); static final List names = _all.keys.toList(); @@ -528,7 +529,8 @@ class Compiler { dartdevc, appJit, dartk, - dartkp + dartkp, + specParser, ], key: (Compiler compiler) => compiler.name); static Compiler find(String name) { @@ -584,6 +586,8 @@ class Compiler { case Compiler.precompiler: case Compiler.dartkp: return const [Runtime.dartPrecompiled]; + case Compiler.specParser: + return const [Runtime.none]; case Compiler.none: return const [ Runtime.vm, diff --git a/tools/testing/dart/environment.dart b/tools/testing/dart/environment.dart index 46d287d11b8..2e98e5f5a8c 100644 --- a/tools/testing/dart/environment.dart +++ b/tools/testing/dart/environment.dart @@ -31,6 +31,7 @@ final _variables = { "minified": new _Variable.bool((c) => c.isMinified), "mode": new _Variable((c) => c.mode.name, Mode.names), "runtime": new _Variable(_runtimeName, Runtime.names), + "spec_parser": new _Variable.bool((c) => c.compiler == Compiler.specParser), "strong": new _Variable.bool((c) => c.isStrong), "system": new _Variable((c) => c.system.name, System.names), "use_sdk": new _Variable.bool((c) => c.useSdk) diff --git a/tools/testing/dart/main.dart b/tools/testing/dart/main.dart index 2e9e70309dc..5386b566f93 100644 --- a/tools/testing/dart/main.dart +++ b/tools/testing/dart/main.dart @@ -11,6 +11,7 @@ /// 4. The Dart core library /// 5. Other standard dart libraries (DOM bindings, UI libraries, /// IO libraries etc.) +/// 6. The Dart specification parser. /// /// This script is normally invoked by test.py. (test.py finds the Dart VM and /// passes along all command line arguments to this script.) diff --git a/tools/testing/dart/options.dart b/tools/testing/dart/options.dart index 7fef9f2498b..f8ad441e56c 100644 --- a/tools/testing/dart/options.dart +++ b/tools/testing/dart/options.dart @@ -109,7 +109,10 @@ dartk: Compile the Dart source into Kernel before running dartkp: Compile the Dart source into Kernel and then Kernel into AOT snapshot before running the test. - (Only valid with runtime dart_precompiled.)''', + (Only valid with runtime dart_precompiled.) + +spec_parser: Parse Dart code by running the specification parser. + (Only valid with runtime none.)''', abbr: 'c', values: Compiler.names, defaultsTo: Compiler.none.name), diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart index 1ed2c75f4ac..49898a245bc 100644 --- a/tools/testing/dart/test_suite.dart +++ b/tools/testing/dart/test_suite.dart @@ -624,6 +624,7 @@ class StandardTestSuite extends TestSuite { '$directory/${name}_dartdevc.status', '$directory/${name}_kernel.status', '$directory/${name}_precompiled.status', + '$directory/${name}_spec_parser.status', '$directory/${name}_vm.status', ];