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

# invalid argument for constant constructor
Language/07_Classes/6_Constructors/3_Constant_Constructors_A05_t02: fail

# TBD: should we check that argument for dynamic parameter of constant constructor is not compatible with operation that is performed with it?
Language/12_Expressions/01_Constants_A16_t03: fail

# TBF: infinite look: class A {const A();final m = const A();}
Language/12_Expressions/01_Constants_A17_t03: fail

# TBF: it seems that "12.15.3 Unqualied Invocation" was changed, so it may be not an error anymore to call unknown function from top-level
Language/13_Statements/04_Local_Function_Declaration_A04_t02: Fail # co19-roll r641: Please triage this failure

# TBF: when we override "foo([x = 0]) {}" with "foo([x]) {}" we should report warning - different default value
Language/07_Classes/1_Instance_Methods_A04_t02: MissingStaticWarning
Language/07_Classes/4_Abstract_Instance_Members_A07_t04: MissingStaticWarning

# TBF: Static members should not be accessible via subclasses.
Language/07_Classes/9_Superclasses/1_Inheritance_and_Overriding_A01_t05: MissingStaticWarning

# co19 issue #442, undefined name "Expect"
Language/15_Types/4_Interface_Types_A08_t03: fail, OK

# co19 issue #455, undeclared identifier is static warning
Language/12_Expressions/14_Function_Invocation/3_Unqualified_Invocation_A01_t10: fail, OK
Language/14_Libraries_and_Scripts/1_Imports_A02_t12: fail, OK
Language/14_Libraries_and_Scripts/1_Imports_A02_t15: fail, OK

# co19 issue #438, Static variables are initialized lazily, need not be constants
Language/12_Expressions/01_Constants_A16_t01: fail, OK
Language/12_Expressions/01_Constants_A16_t02: fail, OK

# co19 issue #454 (wrongly closed)
Language/12_Expressions/12_Instance_Creation/1_New_A01_t04: fail, OK

# co19 issue #543: invocation of a non-function
Language/12_Expressions/14_Function_Invocation/4_Function_Expression_Invocation_A03_t02: fail, OK

# co19 issue #564: URI can be any number adjacent string literals
Language/14_Libraries_and_Scripts/5_URIs_A01_t24: fail, OK
Language/14_Libraries_and_Scripts/5_URIs_A01_t25: fail, OK

# co19 issue #615: Expect import missing
LibTest/collection/LinkedList/LinkedList_A01_t01: Fail, OK

# co19 issue 639.
LibTest/isolate/IsolateStream/any_A01_t01: Fail
LibTest/isolate/IsolateStream/asBroadcastStream_A01_t01: Fail
LibTest/isolate/IsolateStream/contains_A01_t01: Fail
LibTest/isolate/IsolateStream/first_A01_t01: Fail
LibTest/isolate/IsolateStream/first_A02_t01: Fail
LibTest/isolate/IsolateStream/first_A02_t02: Fail
LibTest/isolate/IsolateStream/isBroadcast_A01_t01: Fail
LibTest/isolate/IsolateStream/isBroadcast_A01_t02: Fail
LibTest/isolate/IsolateStream/isEmpty_A01_t01: Fail
LibTest/isolate/IsolateStream/last_A01_t01: Fail
LibTest/isolate/IsolateStream/last_A02_t01: Fail
LibTest/isolate/IsolateStream/length_A01_t01: Fail
LibTest/isolate/IsolateStream/single_A01_t01: Fail
LibTest/isolate/IsolateStream/single_A02_t01: Fail
LibTest/isolate/ReceivePort/close_A01_t01: Fail
LibTest/isolate/ReceivePort/close_A02_t01: Fail
LibTest/isolate/ReceivePort/receive_A01_t01: Fail
LibTest/isolate/ReceivePort/receive_A01_t03: Fail
LibTest/isolate/ReceivePort/toSendPort_A01_t01: Fail
LibTest/isolate/ReceivePort/toSendPort_A01_t03: Fail
LibTest/isolate/SendPort/call_A01_t01: Fail
LibTest/isolate/SendPort/hashCode_A01_t01: Fail
LibTest/isolate/SendPort/operator_equality_A01_t01: Fail
LibTest/isolate/SendPort/send_A01_t01: StaticWarning
LibTest/isolate/SendPort/send_A02_t01: Fail
LibTest/isolate/SendPort/send_A02_t04: Fail
LibTest/isolate/SendPort/send_A02_t05: Fail
LibTest/isolate/SendPort/send_A02_t06: Fail
LibTest/isolate/SendPort/send_A03_t01: Fail
LibTest/isolate/SendPort/send_A03_t02: Fail
LibTest/isolate/IsolateStream/any_A02_t01: Fail
LibTest/isolate/IsolateStream/contains_A02_t01: Fail
LibTest/isolate/ReceivePort/receive_A01_t02: Fail
LibTest/isolate/ReceivePort/toSendPort_A01_t02: Fail
LibTest/isolate/SendPort/send_A02_t02: Fail
LibTest/isolate/SendPort/send_A02_t03: Fail

# co19 issue 642, The argument type 'int' cannot be assigned to the parameter type 'Iterable'
LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: Fail, OK
LibTest/collection/ListQueue/ListQueue_class_A01_t01: Fail, OK
LibTest/collection/Queue/Queue_class_A01_t01: Fail, OK


Language/12_Expressions/15_Method_Invocation/2_Cascaded_Invocation_A01_t19: MissingStaticWarning
Language/12_Expressions/19_Conditional_A01_t14: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t10: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t11: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t12: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t13: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t14: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A01_t15: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A02_t02: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A03_t01: MissingStaticWarning
Language/12_Expressions/20_Logical_Boolean_Expressions_A03_t02: MissingStaticWarning
Language/12_Expressions/21_Bitwise_Expressions_A01_t17: MissingStaticWarning
Language/12_Expressions/23_Relational_Expressions_A01_t23: MissingStaticWarning
Language/12_Expressions/24_Shift_A01_t14: MissingStaticWarning
Language/12_Expressions/25_Additive_Expressions_A01_t14: MissingStaticWarning
Language/12_Expressions/26_Multiplicative_Expressions_A01_t17: MissingStaticWarning
Language/12_Expressions/27_Unary_Expressions_A01_t21: MissingStaticWarning
Language/12_Expressions/29_Assignable_Expressions_A01_t09: MissingStaticWarning
Language/13_Statements/06_For/1_For_Loop_A01_t07: MissingStaticWarning
Language/13_Statements/06_For/1_For_Loop_A01_t08: MissingStaticWarning
Language/13_Statements/09_Switch_A10_t03: MissingStaticWarning
Language/13_Statements/15_Assert_A04_t04: MissingStaticWarning
LibTest/collection/IterableMixin/IterableMixin_class_A01_t01: MissingStaticWarning

Language/05_Variables/05_Variables_A05_t04: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A05_t05: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A05_t06: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A05_t07: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A06_t01: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A06_t02: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/05_Variables/05_Variables_A06_t03: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/12_Expressions/14_Function_Invocation/3_Unqualified_Invocation_A01_t13: CompileTimeError # co19-roll r651: Please triage this failure
Language/12_Expressions/14_Function_Invocation/3_Unqualified_Invocation_A01_t17: MissingCompileTimeError # co19-roll r651: Please triage this failure
Language/12_Expressions/14_Function_Invocation/3_Unqualified_Invocation_A01_t18: MissingCompileTimeError # co19-roll r651: Please triage this failure

Language/07_Classes/10_Superinterfaces_A07_t05: StaticWarning # co19-roll r667: Please triage this failure
LibTest/convert/JsonEncoder/JsonEncoder_A01_t01: StaticWarning # co19-roll r667: Please triage this failure
LibTest/async/Zone/operator_subscript_A01_t01: StaticWarning # co19-roll r672: Please triage this failure

# co19 issue 656
LibTest/typed_data/Float32x4/equal_A01_t01: Skip # co19 issue 656
LibTest/typed_data/Float32x4/notEqual_A01_t01: Skip # co19 issue 656
LibTest/typed_data/Float32x4/greaterThan_A01_t01: Skip # co19 issue 656
LibTest/typed_data/Float32x4/greaterThanOrEqual_A01_t01: Skip # co19 issue 656
LibTest/typed_data/Float32x4/lessThan_A01_t01: Skip # co19 issue 656
LibTest/typed_data/Float32x4/lessThanOrEqual_A01_t01: Skip # co19 issue 656
