# 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`.
double_invalid_test: Skip # Contains illegaly formatted double.
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_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.
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/void_type_function_types_test: Skip # Not yet supported.
