# Copyright (c) 2012, 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 == dart2analyzer ]

# Runtime negative test. No static errors or warnings.
closure_call_wrong_argument_count_negative_test: skip

illegal_invocation_test/01: fail # Issue: 11892

# TBF: m([int p = 'String'])
assign_static_type_test/06: fail

# TBD: using built-in identifers
built_in_identifier_prefix_test: fail

# TBF: (o as C) is not rolled back
cast_test/04: fail
cast_test/05: fail

# TBF: It is a compile-time error if the superclass of a class C appears in the implements clause of C.
const_constructor_super_test/01: fail

# TBF: m([int p = 'String']) and call 'const' instance creation
compile_time_constant_checked2_test/03: fail
compile_time_constant_checked3_test/03: fail

# TBF: It is a static type warning if a type parameter is a supertype of its upper bound.
cyclic_type_variable_test/01: fail
cyclic_type_variable_test/02: fail
cyclic_type_variable_test/03: fail
cyclic_type_variable_test/04: fail

# TBF: It is a static type warning if any of the type arguments to k' are not subtypes of the bounds of the corresponding formal type parameters of type.
default_factory2_test/01: fail

# TBF: It is a static warning if the function type of k' is not a subtype of the type of k.
default_implementation2_test: fail

# TBD: F-bounded quantification
f_bounded_quantification_test/01: fail
f_bounded_quantification_test/02: fail

function_type_alias9_test/00: crash # Issue 11987

list_literal_syntax_test/01: fail # Issue 12103
list_literal_syntax_test/02: fail # Issue 12103
list_literal_syntax_test/03: fail # Issue 12103
malformed_test/none: fail

# TBF: disallowed in the most recent spec
named_parameters_aggregated_test/03: fail
positional_parameters_type_test: fail

# TBF: non-const superinitializer; 7.6.3 Constant Constructors: The superinitializer that appears, explicitly or implicitly, in the initializer list of a constant constructor must specify a constant constructor of the superclass of the immediately enclosing class.
non_const_super_negative_test: fail

# TBF: 1is int; invalid character in number
number_identifier_negative_test: fail

# TBF: we should check conflicts not only for methods, but for accessors too
override_field_test/01: fail
override_field_test/02: fail
override_field_test/03: fail

# TBF: prefix T hidden by type variable T in 'new T.Class()'
prefix10_negative_test: fail

# TBF: no error if A in our library, B extends A in other library, reference B._private from Test extends B in our library.
private_member1_negative_test: fail
private_member2_negative_test: fail
private_member3_negative_test: fail

# TBF
pseudo_kw_test: fail

# TBF: hiding at start of the block and declared after declaration statement
scope_negative_test: fail

# TBF: 'instance.staticMethod()' is static warning
static_field_test/01: fail
static_field_test/02: fail
static_field_test/03: fail

# TBF
method_override2_test/00: fail # issue 11497
method_override2_test/01: fail # issue 11497
method_override2_test/02: fail # issue 11497
method_override2_test/03: fail # issue 11497
method_override3_test/00: fail # issue 11497
method_override3_test/01: fail # issue 11497
method_override3_test/02: fail # issue 11497
method_override4_test: fail # issue 11497
method_override5_test: fail # issue 11497
method_override6_test: fail # issue 11497




# test issue 10683, It is a compile-time error if e refers to the name v or the name v=.
block_scope_test: fail
lazy_static3_test: fail

# Test issue 11124, Uninitialized finals are warnings not errors
field3a_negative_test: fail
const_syntax_test/01: fail
const_syntax_test/04: fail
const_syntax_test/02: fail
const_syntax_test/03: fail
final_syntax_test/01: fail
final_syntax_test/04: fail
final_syntax_test/02: fail
final_syntax_test/03: fail

# Test issue 11123, Only static fields can be declared as 'const'
const_escape_frog_test: fail
compile_time_constant_test/none: fail

# Test issue 11544, using @TypeName as annotation is not valid
inferrer_constructor2_test: fail
inferrer_constructor3_test: fail
multiple_field_assignment_constructor_test: fail

# Test issue 11545, using not existing constructor name in annotation
metadata_test: fail

# Test issue 11564, named parameter starts with '_'
named_parameters_with_object_property_names_test: fail

# test issue 11575, classes with abstrac members are not marked as abstract
abstract_factory_constructor_test/none: fail
abstract_syntax_test/none: fail
get_set_syntax_test/none: fail
implicit_this_test/none: fail
interface_test/none: fail
syntax_test/none: fail

# test issue 11576
bad_constructor_test/none: fail

# test issue 11577, has return type for []=
cascade_test/none: fail

# test issue 11578, redirecting factory with not subtype
factory5_test/none: fail
factory_redirection_test/none: fail
type_variable_bounds_test/none: fail
type_variable_scope_test/none: fail
factory_implementation_test/none: fail

# test issue 11579, assignment, no setter
getter_no_setter_test/none: fail

# test issue 11581, it is not warning to call dynamic
call_through_getter_test: fail

# test issue 11584, positional arguments cannot be used for named parameters
compile_time_constant_e_test: fail

# test issue 11585, static warning, not negative test
constructor3_negative_test: fail
constructor_call_wrong_argument_count_negative_test: fail
instance_call_wrong_argument_count_negative_test: fail

# test issue 11586, Class(args) is compile-time warning, not error
constructor_negative_test: fail

# test issue 11589, export D from 2 export directives
export_cyclic_test: fail

# test issue 11590, runtime only negative test
field_method4_negative_test: fail

# test issue 11591, assigning to the final variable is warning, not error
final_for_in_variable_test/01: fail
final_param_negative_test: fail
getter_no_setter_test/01: fail

# test issue 11592, Function type alias (typedef) is not a constant
first_class_types_constants_test: fail

# test issue 11594, Reference to a not resolve identifier is static warning
import_combinators_negative_test: fail
interface_static_non_final_fields_negative_test: fail

# test issue 11595, It is static warning to create instance (new) of the malformed type
instantiate_type_variable_negative_test: fail

# test issue 11598, Any use of a malbounded type gives rise to a static warning
mixin_type_parameters_errors_test/01: fail
mixin_type_parameters_errors_test/02: fail
mixin_type_parameters_errors_test/05: fail

# test issue 11698, no setter, so warning, not error
assign_instance_method_negative_test: fail

# test issue 11918: mixin and const constructor
const_constructor_mixin_test/01: fail
const_constructor_mixin3_test/01: fail

# test issue 11958, fails only at runtime
no_such_method_negative_test: fail

# test issue 11962, it is warning, not error to reference undeclared identifier
prefix1_negative_test: fail
prefix2_negative_test: fail
prefix4_negative_test: fail
prefix5_negative_test: fail
prefix12_negative_test: fail

# test issue 11963, it is fine to access any property of the dynamic variable
prefix6_negative_test: fail

# test issue 11964, Any use of a malformed type gives rise to a static warning.
prefix8_negative_test: fail
prefix11_negative_test: fail

# test issue 12156, fails only at runtime
static_call_wrong_argument_count_negative_test: fail

# test issue 12157, uninitializer instance variable is warning, so not negative test
static_final_field_negative_test: fail
constructor2_negative_test: fail

# test issue 12159, print(exception.message_); causes static warning, not an error
throw7_negative_test: fail

# test issue 12160, not annotated warnings for type variables from static member
type_parameter_test/none: fail
# test issue 12161, type variable in static, malformed type, static warning
type_variable_static_context_negative_test: fail

# test issue 12162, 'a' has dynamic type, so it statically it is assignable to anything
type_variable_bounds2_test/00: fail
type_variable_bounds2_test/01: fail
type_variable_bounds2_test/02: fail
type_variable_bounds2_test/03: fail
type_variable_bounds2_test/04: fail
type_variable_bounds2_test/06: fail

# test issue 12163, unresolved identifier is static warning in static context
unresolved_in_factory_negative_test: fail
unresolved_top_level_method_negative_test: fail
unresolved_top_level_var_negative_test: fail

# test issue 12181, uses argument definition test
constructor_initializer_test: fail

# test issue 12184, It is static warning, not error, to assign to a constant variable.
static_final_field2_negative_test: fail

# test issue 12191, ambuguous import is always warning now
prefix3_negative_test: fail
library_ambiguous_test/00: fail
library_ambiguous_test/01: fail
library_ambiguous_test/02: fail
library_ambiguous_test/03: fail

# test issue 12289, assignment in assert statement
type_error_test: fail

[ $compiler == dart2analyzer && $checked ]
factory1_test/00: fail
factory1_test/01: fail
field_type_check2_test/01: fail
factory_implementation_test/00: fail
factory_redirection_test/08: fail
factory_redirection_test/09: fail
factory_redirection_test/10: fail
factory_redirection_test/11: fail
factory_redirection_test/12: fail
factory_redirection_test/13: fail
factory_redirection_test/14: fail
getters_setters2_test/03: fail
type_variable_bounds3_test/00: fail
type_variable_bounds2_test/05: fail

