# 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 ]
built_in_identifier_prefix_test: Skip # A built-in identifier can _not_ be a prefix.
closure_type_test: Pass # Marked as RuntimeError for all in language_2.status.
conditional_import_string_test: Fail # Uses conditional import.
conditional_import_test: Fail # Uses conditional import.
config_import_corelib_test: Fail # Uses conditional import.
config_import_test: Fail # Uses conditional import.
const_native_factory_test: Skip # Uses `native`.
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.
deep_nesting1_negative_test: Skip # Stack overflow.
deep_nesting2_negative_test: Skip # Stack overflow.
double_invalid_test: Skip # Contains illegaly formatted double.
duplicate_export_negative_test: Skip # Negative, not syntax.
duplicate_interface_negative_test: Skip # Negative, not syntax.
external_test/21: Fail # Test expects `runtime error`, it is a syntax error.
getter_declaration_negative_test: Fail # Negative, uses getter with parameter.
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_injection1_negative_test: Fail # Negative, uses interface injection.
interface_injection2_negative_test: Fail # Negative, uses interface injection.
interface_static_method_negative_test: Skip # Negative, not syntax.
interface_static_non_final_fields_negative_test: Skip # Negative, not syntax.
is_not_class1_negative_test: Fail # Negative, uses `a is "A"`.
is_not_class4_negative_test: Fail # Negative, uses `a is A is A`.
issue1578_negative_test: Fail # Negative, is line noise.
issue_1751477_test: Skip # Times out: 9 levels, exponential blowup => 430 secs.
list_literal2_negative_test: Skip # Negative, not syntax.
list_literal_negative_test: Fail # Negative, uses `new List<int>[1, 2]`.
map_literal2_negative_test: Skip # Negative, not syntax.
map_literal_negative_test: Fail # Negative, uses `new Map<int>{..}`.
new_expression1_negative_test: Fail # Negative, uses `new id`.
new_expression2_negative_test: Fail # Negative, uses `new id(`.
new_expression3_negative_test: Fail # Negative, uses `new id(...`.
no_such_method_negative_test: Skip # Negative, not syntax.
non_const_super_negative_test: Skip # Negative, not syntax.
operator1_negative_test: Fail # Negative, declares static operator.
operator2_negative_test: Fail # Negative, declares `operator ===`.
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.
prefix18_negative_test: Fail # Negative, uses `lib1.invalid` as library prefix.
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_escape4_negative_test: Fail # Negative, uses newline in string literal.
string_interpolate1_negative_test: Fail # Negative, misplaced '$'.
string_interpolate2_negative_test: Fail # Negative, misplaced '$'.
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.
switch1_negative_test: Fail # Negative, `default` clause not last.
test_negative_test: Fail # Negative, uses non-terminated string literal.
unary_plus_negative_test: Fail # Negative, uses non-existing unary plus.
vm/debug_break_enabled_vm_test/01: Fail # Uses debug break.
vm/debug_break_enabled_vm_test/none: Fail # Uses debug break.
void_type_function_types_test: Skip # Not yet supported.
