# 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 == dart2js ]
class_test: Fail
statements_test: Fail
typed_locals_test: Fail
no_such_method_test: Fail # Wrong Invocation.memberName.
constant_javascript_semantics4_test: Fail, OK
mirrors_used_closure_test: Fail # Issue 17939
dummy_compiler_test: Slow, Pass
recursive_import_test: Slow, Pass

[ $compiler == dart2js && $browser ]
dummy_compiler_test: Skip
recursive_import_test: Skip

[ $compiler == dart2analyzer && $builder_tag == strong ]
dummy_compiler_test: Skip # Issue 28649
recursive_import_test: Skip # Issue 28649

[ $hot_reload || $hot_reload_rollback ]
recursive_import_test: Skip # Running dart2js under frequent reloads is slow.
dummy_compiler_test: Skip # Running dart2js under frequent reloads is slow.

[ $builder_tag == asan ]
recursive_import_test: Skip # Issue 27441

[ ($compiler == dartk || $compiler == dartkp) && $mode == debug ]
dummy_compiler_test: Slow, Pass
recursive_import_test: Slow, Pass

[ $compiler == dart2js && $checked ]
variable_type_test/03: Fail, OK
variable_type_test/01: Fail, OK

[ $compiler == dart2js && $fast_startup ]
21666_test: Fail # mirrors not supported
23056_test: Fail # mirrors not supported
closure_type_reflection2_test: Fail # mirrors not supported
closure_type_reflection_test: Fail # mirrors not supported
deferred/deferred_mirrors1_lib: Fail # mirrors not supported
deferred/deferred_mirrors1_test: Fail # mirrors not supported
deferred/deferred_mirrors2_lazy: Fail # mirrors not supported
deferred/deferred_mirrors2_lib3: Fail # mirrors not supported
deferred/deferred_mirrors2_test: Fail # mirrors not supported
inference_nsm_mirrors_test: Fail # mirrors not supported
invalid_annotation2_test/none: Fail # mirrors not supported
invalid_annotation2_test/01: Pass # mirrors not supported, passes for the wrong reason
lookup_map/dead_entry_through_mirrors_test: Fail # mirrors not supported
lookup_map/live_entry_through_mirrors_test: Fail # mirrors not supported
lookup_map/live_entry_through_mirrors_used_test: Fail # mirrors not supported
mirror_enqueuer_regression_test: Fail # mirrors not supported
mirror_invalid_field_access2_test: Fail # mirrors not supported
mirror_invalid_field_access3_test: Fail # mirrors not supported
mirror_invalid_field_access4_test: Fail # mirrors not supported
mirror_invalid_field_access_test: Fail # mirrors not supported
mirror_invalid_invoke2_test: Fail # mirrors not supported
mirror_invalid_invoke3_test: Fail # mirrors not supported
mirror_invalid_invoke_test: Fail # mirrors not supported
mirror_printer_test: Fail # mirrors not supported
mirror_test: Fail # mirrors not supported
mirror_type_inference_field2_test: Fail # mirrors not supported
mirror_type_inference_field_test: Fail # mirrors not supported
mirror_type_inference_function_test: Fail # mirrors not supported
mirrors_declarations_filtering_test: Fail # mirrors not supported
mirrors_used_closure_test: Fail # mirrors not supported
mirrors_used_metatargets_test: Fail # mirrors not supported
mirrors_used_native_test: Fail # mirrors not supported
mirrors_used_warning2_test: Fail # mirrors not supported
mirrors_used_warning_test: Fail # mirrors not supported
no_such_method_mirrors_test: Fail # mirrors not supported
reflect_native_types_test: Fail # mirrors not supported

[ $compiler == dart2js && ($runtime == d8 || $runtime == chrome || $runtime == drt) ]
bound_closure_interceptor_type_test: Fail, Pass # v8 issue 3084. https://code.google.com/p/v8/issues/detail?id=3084

[ $compiler == dart2js && $mode == debug ]
operator_test: Skip
string_interpolation_test: Skip

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
no_such_method_mirrors_test: Pass, Slow # TODO(kasperl): Please triage.

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

[ $compiler == dart2js && $minified ]
to_string_test: Fail # Issue 7179.
runtime_type_test: Fail, OK # Tests extected output of Type.toString().
code_motion_exception_test: Skip  # Requires unminified operator names.
mirrors_used_warning_test/minif: Fail, OK # Tests warning that minified code will be broken.


[ $compiler == dart2js && $runtime == safari ]
deferred_fail_and_retry_worker_test: Timeout  # Issue 22106

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == jsshell) ]
code_motion_exception_test: Skip  # Required V8 specific format of JavaScript errors.

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == safarimobilesim || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate2_test/01: Fail # Issue 14458.

[ $runtime == jsshell ]
timer_test: Fail # Issue 7728.

[ $runtime == none ]
timer_negative_test: Fail, OK # A negative runtime test.

[ $compiler == dart2js && $csp ]
deferred_fail_and_retry_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_fail_and_retry_worker_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_custom_loader_test: SkipByDesign # Issue 25683

[ $compiler == none && $runtime == vm ]
invalid_annotation_test/01: MissingCompileTimeError, OK # vm is lazy
lookup_map/dead_entry_through_mirrors_test: SkipByDesign # Test for tree-shaking, vm never tree-shakes
unconditional_dartio_import_test: SkipByDesign # dart2js only test
new_from_env_test: SkipByDesign # dart2js only test

[ $compiler == dart2js && $runtime == chrome && $system == windows ]
class_test: Pass, Slow # Issue 25940
consistent_codeUnitAt_error_test: Pass, Slow # Issue 25940
closure_capture3_test: Pass, Slow # Issue 25940
deferred_split_test: Pass, Slow # Issue 25940
closure_capture5_test: Pass, Slow # Issue 25940
conditional_test: Pass, Slow # Issue 25940
constant_javascript_semantics2_test: Pass, Slow # Issue 25940

[ $compiler == dart2js && $runtime == ff && $system == windows ]
consistent_index_error_string_test: Pass, Slow # Issue 25940

[ $compiler == dart2js ]
mirror_printer_test: Pass, Slow # Issue 25940, 16473

[ $compiler == dart2js && $dart2js_with_kernel_in_ssa ]
big_allocation_expression_test: Pass # Issue 27394
21666_test: Crash # Issue 27394
23486_test/02: Crash # Issue 27394
closure_type_reflection2_test: Crash # Issue 27394
closure_type_reflection_test: Crash # Issue 27394
deferred/deferred_mirrors2_test: Crash # Issue 27394
dummy_compiler_test: Crash # Issue 27394
inference_super_set_call_test: RuntimeError # Issue 27394
invalid_annotation2_test/01: Crash # Issue 27394
invalid_annotation2_test/none: Crash # Issue 27394
invalid_annotation_test/01: Crash # Issue 27394
lookup_map/dead_entry_through_mirrors_test: Crash # Issue 27394
lookup_map/live_entry_through_mirrors_test: Crash # Issue 27394
lookup_map/live_entry_through_mirrors_used_test: Crash # Issue 27394
many_fields_test: Crash # Issue 27394
mirror_enqueuer_regression_test: Crash # Issue 27394
mirror_invalid_invoke2_test: Crash # Issue 27394
mirror_invalid_invoke3_test: Crash # Issue 27394
mirror_invalid_invoke_test: Crash # Issue 27394
mirror_printer_test/01: Crash # Issue 27394
mirror_printer_test/none: Crash # Issue 27394
mirror_test: Crash # Issue 27394
mirrors_used_closure_test: Crash # Issue 27394
mirrors_used_metatargets_test: Crash # Issue 27394
mirrors_used_native_test: Crash # Issue 27394
recursive_import_test: Crash # Issue 27394
reflect_native_types_test: Crash # Issue 27394

[ $compiler == dart2js && $dart2js_with_kernel_in_ssa && $host_checked ]
js_dispatch_property_test: Crash # Issue 27394
regress/4562_test/01: Crash # Issue 27394

[ $compiler == dart2js && $dart2js_with_kernel && $host_checked ]
10216a_test: Crash
10216b_test: Crash
16400_test: Crash
17856_test: Crash
19191_test: Crash
21166_test: Crash
21666_test: Crash
21724_test: Crash
22776_test: Crash
22868_test: Crash
22917_test: Crash
23264_test: Crash
23404_test: Crash
23432_test: Crash
23432b_test: Crash # type 'KMethod' is not a subtype of type 'MemberElement' of 'member' where
23828_test: Crash
26243_test: Crash
28919_test: Crash
assert_with_message_test: Crash
async_stacktrace_test: Crash
big_allocation_expression_test: Crash
bound_closure_interceptor_methods_test: Crash
bound_closure_interceptor_type_test: Crash
break_test: Crash
checked_accessor_test: Crash
closure3_test: Crash
closure4_test: Crash
closure5_test: Crash
closure6_test: Crash
closure7_test: Crash
closure_capture2_test: Crash
closure_capture3_test: Crash
closure_capture4_test: Crash
closure_capture5_test: Crash
closure_capture6_test: Crash
closure_capture_test: Crash
closure_type_reflection2_test: Crash
closure_type_reflection_test: Crash
code_motion_exception_test: Crash
compile_time_constant4_test/01: MissingCompileTimeError
compile_time_constant4_test/02: MissingCompileTimeError
compile_time_constant4_test/03: MissingCompileTimeError
compile_time_constant4_test/04: MissingCompileTimeError
compile_time_constant4_test/05: MissingCompileTimeError
compile_time_constant4_test/06: Crash
conditional_send_test: Crash
consistent_add_error_test: Crash
consistent_codeUnitAt_error_test: Crash
consistent_index_error_array_test: Crash
consistent_index_error_string_test: Crash
consistent_index_error_typed_list_test: Crash
consistent_null_add_error_test: Crash
consistent_subtract_error_test: Crash
constant_javascript_semantics2_test: Crash
constant_javascript_semantics3_test: Crash
constant_javascript_semantics_test/01: MissingCompileTimeError
constant_javascript_semantics_test/02: MissingCompileTimeError
deferred/deferred_class_test: CompileTimeError
deferred/deferred_constant2_test: CompileTimeError
deferred/deferred_constant3_test: CompileTimeError
deferred/deferred_constant4_test: CompileTimeError
deferred/deferred_function_test: CompileTimeError
deferred/deferred_mirrors1_test: CompileTimeError
deferred/deferred_mirrors2_test: Crash
deferred/deferred_overlapping_test: CompileTimeError
deferred/interface_type_variable_test: CompileTimeError
deferred/uninstantiated_type_variable_test: CompileTimeError
deferred_custom_loader_test: CompileTimeError
deferred_fail_and_retry_test: CompileTimeError
deferred_fail_and_retry_worker_test: CompileTimeError
deferred_inheritance_test: CompileTimeError
deferred_split_test: CompileTimeError
dummy_compiler_test: CompileTimeError
first_class_types_hashcode_test: Crash
for_in_test: Crash
hash_code_test: Crash
identical_trace_test: Crash
if_null2_test: Crash
if_null3_test: Crash
if_null_test: Crash
inference_nsm_mirrors_test: Crash
inference_super_set_call_test: RuntimeError
inferrer_is_int_test: Crash
inline_position_crash_test: Crash
interceptor_named_arguments_test: Crash
interface_type_optimization_test: Crash
invalid_annotation2_test/none: Crash
is_check_instanceof_test: Crash
js_array_index_error_test: Crash
js_array_removeLast_error_test: Crash
js_dispatch_property_test: RuntimeError
label_test/06: Crash
locate_single_element_1_test: Crash
lookup_map/dead_entry_single_nested_pairs_test: Crash
lookup_map/dead_entry_test: Crash
lookup_map/dead_entry_through_mirrors_test: Crash
lookup_map/discovered_code_test: Crash
lookup_map/entries_aside_test: Crash
lookup_map/escaping_entries_test: Crash
lookup_map/generic_type_test: Crash
lookup_map/live_entry_single_pair_test: Crash
lookup_map/live_entry_test: Crash
lookup_map/live_entry_through_mirrors_test: Crash
lookup_map/live_entry_through_mirrors_used_test: Crash
lookup_map/reachable_data2_test: Crash
lookup_map/reachable_data_test: Crash
lookup_map/subclass_lookup_map_test: Crash
many_constants_test: Crash
many_fields_test: Crash
mirror_invalid_field_access2_test: Crash
mirror_invalid_field_access3_test: Crash
mirror_invalid_field_access4_test: Crash
mirror_invalid_field_access_test: Crash
mirror_invalid_invoke2_test: Crash
mirror_invalid_invoke3_test: Crash
mirror_invalid_invoke_test: Crash
mirror_printer_test/01: Crash
mirror_printer_test/none: Crash
mirror_test: Crash
mirror_type_inference_field2_test: Crash
mirror_type_inference_field_test: Crash
mirror_type_inference_function_test: Crash
mirrors_declarations_filtering_test: Crash
mirrors_used_closure_test: Crash
mirrors_used_metatargets_test: Crash
mirrors_used_native_test: Crash
mirrors_used_warning2_test: Crash
mirrors_used_warning_test/minif: Crash
mirrors_used_warning_test/none: Crash
new_from_env_test: Crash
no_such_method_mirrors_test: Crash
no_such_method_test: Crash
operator_test: Crash
optional_parameter_test: Crash
private_symbol_literal_test/01: MissingCompileTimeError
private_symbol_literal_test/02: MissingCompileTimeError
private_symbol_literal_test/03: MissingCompileTimeError
private_symbol_literal_test/04: MissingCompileTimeError
private_symbol_literal_test/05: MissingCompileTimeError
private_symbol_literal_test/06: MissingCompileTimeError
recursive_import_test: CompileTimeError
reflect_native_types_test: Crash
regress/4492_test: Crash
regress/4515_1_test: Crash
regress/4515_2_test: Crash
regress/4515_3_test: Crash
regress/4562_test/none: CompileTimeError
regress/4639_test: Crash
regress/4740_test: Crash
round_constant_folding_test: Crash
string_interpolation_dynamic_test: RuntimeError
string_interpolation_test: RuntimeError
super_constructor1_test: Crash
switch_test/none: Crash
this_phi_elimination_test: Crash
23404_test: RuntimeError
timer_test: Crash
truncation_errors_test: Crash
type_argument_factory_crash_test: Crash
type_argument_factory_nocrash_test: Crash
type_constant_switch_test/01: MissingCompileTimeError
type_error_message_test: Crash
unconditional_dartio_import_test: CompileTimeError
useful_error_message_1_test: Crash

[ $compiler == dart2js && $dart2js_with_kernel && $minified ]
10216a_test: Crash # Assertion failure: Super constructor for k:constructor(B.) not found.
10216b_test: Crash # Assertion failure: Super constructor for k:constructor(B.) not found.
16400_test: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
17856_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
19191_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
21166_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
21666_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
21724_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
22776_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
22868_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
22917_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
23264_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
23404_test: RuntimeError
23432_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
23432b_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
23828_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
26243_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
28919_test: Crash # Assertion failure: Cannot find value local(foo_closure.call#i) in (local(foo_closure.call#x), local(foo#)) for j:closure_call(foo_closure.call).
assert_with_message_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
async_stacktrace_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
big_allocation_expression_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
bound_closure_interceptor_methods_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
bound_closure_interceptor_type_test: Crash # NoSuchMethodError: The getter 'classIndex' was called on null.
break_test: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
checked_accessor_test: Crash # Assertion failure: Cannot find value local(main_closure.call#f) in (local(main#)) for j:closure_call(main_closure.call).
closure3_test: Crash # NoSuchMethodError: Class 'KernelClosureClass' has no instance getter 'supertype'.
closure4_test: Crash # NoSuchMethodError: The getter 'classIndex' was called on null.
closure5_test: Crash # NoSuchMethodError: Class 'JMethod' has no instance getter 'type'.
closure6_test: Crash # NoSuchMethodError: Class 'KernelClosureClass' has no instance getter 'supertype'.
closure7_test: Crash # NoSuchMethodError: Class 'KernelClosureClass' has no instance getter 'supertype'.
closure_capture2_test: Crash # Assertion failure: Cannot find value local(closure1_closure.call#$1) in (local(closure1#)) for j:closure_call(closure1_closure.call).
closure_capture3_test: Crash # Assertion failure: Cannot find value local(Closure_nestedClosure_closure.call#f) in (local(Closure.nestedClosure#)) for j:closure_call(Closure_nestedClosure_closure.call).
closure_capture4_test: Crash # Assertion failure: Cannot find value local(closure5_closure.call#x) in (local(closure5#)) for j:closure_call(closure5_closure.call).
closure_capture5_test: Crash # Assertion failure: Cannot find value local(closure3_closure.call#fs) in (local(closure3#)) for j:closure_call(closure3_closure.call).
closure_capture6_test: Crash # Assertion failure: Cannot find value local(captureTwiceNested_closure.call#x) in (local(captureTwiceNested#)) for j:closure_call(captureTwiceNested_closure.call).
closure_capture_test: Crash # Assertion failure: Cannot find value local(closure9_closure.call#z) in (local(closure9_closure.call#x), local(closure9_closure.call#y), local(closure9#)) for j:closure_call(closure9_closure.call).
closure_type_reflection2_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
closure_type_reflection_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
code_motion_exception_test: Crash
compile_time_constant4_test/01: MissingCompileTimeError
compile_time_constant4_test/02: MissingCompileTimeError
compile_time_constant4_test/03: MissingCompileTimeError
compile_time_constant4_test/04: MissingCompileTimeError
compile_time_constant4_test/05: MissingCompileTimeError
compile_time_constant4_test/06: Crash # NoSuchMethodError: The method 'fold' was called on null.
conditional_send_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
consistent_add_error_test: Crash # Assertion failure: Cannot find value local(check2_closure.call#name) in (local(check2_closure.call#part), local(check2_closure.call#f), local(check2#trap)) for j:closure_call(check2_closure.call).
consistent_codeUnitAt_error_test: Crash # Assertion failure: Cannot find value local(check2_closure.call#name) in (local(check2_closure.call#part), local(check2_closure.call#f), local(check2#trap)) for j:closure_call(check2_closure.call).
consistent_index_error_array_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
consistent_index_error_string_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
consistent_index_error_typed_list_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
consistent_null_add_error_test: Crash # Assertion failure: Cannot find value local(check2_closure.call#name) in (local(check2_closure.call#part), local(check2_closure.call#f), local(check2#trap)) for j:closure_call(check2_closure.call).
consistent_subtract_error_test: Crash # Assertion failure: Cannot find value local(check2_closure.call#name) in (local(check2_closure.call#part), local(check2_closure.call#f), local(check2#trap)) for j:closure_call(check2_closure.call).
constant_javascript_semantics2_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
constant_javascript_semantics3_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
constant_javascript_semantics4_test: Crash
constant_javascript_semantics_test/01: MissingCompileTimeError
constant_javascript_semantics_test/02: MissingCompileTimeError
deferred/deferred_class_test: CompileTimeError
deferred/deferred_constant2_test: CompileTimeError
deferred/deferred_constant3_test: CompileTimeError
deferred/deferred_constant4_test: CompileTimeError
deferred/deferred_function_test: CompileTimeError
deferred/deferred_mirrors1_test: CompileTimeError
deferred/deferred_mirrors2_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
deferred/deferred_overlapping_test: CompileTimeError
deferred/interface_type_variable_test: CompileTimeError
deferred/uninstantiated_type_variable_test: CompileTimeError
deferred_custom_loader_test: CompileTimeError
deferred_fail_and_retry_test: CompileTimeError
deferred_fail_and_retry_worker_test: CompileTimeError
deferred_inheritance_test: CompileTimeError
deferred_split_test: CompileTimeError
dummy_compiler_test: CompileTimeError
first_class_types_hashcode_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
for_in_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
hash_code_test: Crash # UnimplementedError: Unexpected constant expression new #lib1::Hasher::•().hash (KernelPropertyGet)
identical_trace_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
if_null2_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
if_null3_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
if_null_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
inference_nsm_mirrors_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
inference_super_set_call_test: RuntimeError
inferrer_is_int_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
inline_position_crash_test: Crash # NoSuchMethodError: The getter 'classIndex' was called on null.
interceptor_named_arguments_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
interface_type_optimization_test: Crash # Assertion failure: Cannot find value local(main_closure.call#b) in (local(main#)) for j:closure_call(main_closure.call).
invalid_annotation2_test/none: Crash # NoSuchMethodError: Class 'DynamicType' has no instance getter 'element'.
is_check_instanceof_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
js_array_index_error_test: Crash # Assertion failure: Cannot find value local(variableIndexSetNonempty_closure.call#index) in (local(variableIndexSetNonempty#fault3), local(variableIndexSetNonempty_closure.call#a)) for j:closure_call(variableIndexSetNonempty_closure.call).
js_array_removeLast_error_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
js_dispatch_property_test: RuntimeError
label_test/06: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
locate_single_element_1_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
lookup_map/dead_entry_single_nested_pairs_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/dead_entry_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/dead_entry_through_mirrors_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/discovered_code_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/entries_aside_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/escaping_entries_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/generic_type_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_single_pair_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_through_mirrors_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_through_mirrors_used_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/reachable_data2_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/reachable_data_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/subclass_lookup_map_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
many_constants_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
many_fields_test: Crash # NoSuchMethodError: The getter 'usedBy' was called on null.
mirror_invalid_field_access2_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access3_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access4_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke2_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke3_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke_test: Crash # Assertion failure: Cannot find value local(main_closure.call#lm) in (local(main#)) for j:closure_call(main_closure.call).
mirror_printer_test/01: Crash # NoSuchMethodError: The method 'accept' was called on null.
mirror_printer_test/none: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_field2_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_field_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_function_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirrors_declarations_filtering_test: Crash # Assertion failure: Cannot find value local(main_closure.call#a) in (local(main#)) for j:closure_call(main_closure.call).
mirrors_used_closure_test: Crash # Assertion failure: Cannot find value local(main_closure.call#f) in (local(main#)) for j:closure_call(main_closure.call).
mirrors_used_metatargets_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
mirrors_used_native_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
mirrors_used_warning2_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
mirrors_used_warning_test/minif: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
mirrors_used_warning_test/none: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
new_from_env_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
no_such_method_mirrors_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
no_such_method_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
operator_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
optional_parameter_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
private_symbol_literal_test/01: MissingCompileTimeError
private_symbol_literal_test/02: MissingCompileTimeError
private_symbol_literal_test/03: MissingCompileTimeError
private_symbol_literal_test/04: MissingCompileTimeError
private_symbol_literal_test/05: MissingCompileTimeError
private_symbol_literal_test/06: MissingCompileTimeError
recursive_import_test: CompileTimeError
reflect_native_types_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
regress/4492_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
regress/4515_1_test: Crash # Assertion failure: Cannot find value local(main_closure.call#a) in (local(main#)) for j:closure_call(main_closure.call).
regress/4515_2_test: Crash # NoSuchMethodError: The getter 'name' was called on null.
regress/4515_3_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
regress/4562_test/none: CompileTimeError
regress/4639_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
regress/4740_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
round_constant_folding_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
runtime_type_test: Crash
string_interpolation_dynamic_test: RuntimeError
string_interpolation_test: RuntimeError
super_constructor1_test: Crash # Assertion failure: Cannot find value local(C.#null) in (local(C.#i)) for j:constructor(C.).
switch_test/none: Crash # UnimplementedError: KernelToLocalsMapImpl.getJumpTargetForSwitchCase
this_phi_elimination_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
timer_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
to_string_test: Crash
truncation_errors_test: Crash # Assertion failure: Cannot find value local(main_closure.call#Infinity) in (local(main#)) for j:closure_call(main_closure.call).
type_argument_factory_crash_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
type_argument_factory_nocrash_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
type_constant_switch_test/01: MissingCompileTimeError
type_error_message_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
unconditional_dartio_import_test: CompileTimeError
useful_error_message_1_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.

