# Copyright (c) 2016, 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.md file.

# Status file for the legacy_test.dart test suite. This is testing generating
# Kernel ASTs in legacy mode (Dart 1.0).

DeltaBlue: Fail # Fasta and dartk disagree on static initializers
ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
call: Fail # Test can't run.
constructor_const_inference: RuntimeError # Test exercises strong mode semantics.  See also Issue #33813.
constructor_initializer_invalid: RuntimeError # Fails execution after recovery
control_flow_collection: RuntimeError
duplicated_field_initializer: RuntimeError
extension_methods: RuntimeError
external_import: RuntimeError # Expected -- test uses import which doesn't exist.
fallthrough: Fail # Missing FallThroughError.
function_type_recovery: Fail
incomplete_field_formal_parameter: Fail # Fasta doesn't recover well
inference/bug31436: RuntimeError # Test exercises Dart 2.0 semantics
inference/constructors_too_many_positional_arguments: Fail
inference/downwards_inference_annotations_locals: Fail # Issue #30031
inference/downwards_inference_for_each: RuntimeError # Issue #36382
inference/future_then_explicit_future: RuntimeError
inference/generic_methods_infer_js_builtin: RuntimeError # Test attempts to access platform-private library leading to NSM.
inference/infer_assign_to_index: Fail
inference/infer_assign_to_property: Fail
inference/infer_assign_to_property_custom: Fail
inference/infer_type_cast: Fail
inference/infer_typed_list_literal: Fail
inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2: RuntimeError
instantiate_to_bound/body_typedef_super_bounded_type: Fail # Issue 33444
instantiate_to_bound/non_simple_class_parametrized_typedef_cycle: RuntimeError # May be related to Issue 33479
instantiate_to_bound/non_simple_generic_function_in_bound_regress: RuntimeError # Expected
instantiate_to_bound/typedef_super_bounded_type: Fail # Issue 33444
invocations: Fail
micro: Fail # External method marked abstract.
minimum_int: Crash # Min int literal not supported in non-strong mode.
named_parameters: Fail # Missing types and unnecessary default values.
operator_method_not_found: RuntimeError # Expected
optional: Fail # Unnecessary default values.
rasta/abstract_constructor: Fail
rasta/bad_constructor_redirection: Fail
rasta/bad_continue: Fail
rasta/bad_default_constructor: Fail # Compile-time error destroys program.
rasta/bad_explicit_super_constructor: RuntimeError
rasta/bad_implicit_super_constructor: RuntimeError
rasta/bad_interpolation: RuntimeError
rasta/bad_redirection: Fail
rasta/bad_setter_initializer: RuntimeError
rasta/bad_unicode: Fail
rasta/breaking_bad: Fail
rasta/class_hierarchy: Fail
rasta/class_member: Fail
rasta/constant_get_and_invoke: RuntimeError
rasta/deferred_lib: Fail
rasta/deferred_load: Fail
rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
rasta/export: RuntimeError # Expected, this file has no main method.
rasta/external_factory_redirection: Fail
rasta/foo: RuntimeError # Expected, this file has no main method.
rasta/for_loop: Fail
rasta/generic_factory: Fail
rasta/issue_000001: Fail
rasta/issue_000031: Fail
rasta/issue_000032: Fail
rasta/issue_000034: RuntimeError
rasta/issue_000036: Fail
rasta/issue_000039: Fail
rasta/issue_000041: RuntimeError
rasta/issue_000042: Fail
rasta/issue_000043: Fail
rasta/issue_000044: Fail
rasta/issue_000046: RuntimeError
rasta/issue_000047: Fail
rasta/issue_000081: Fail
rasta/malformed_const_constructor: Fail
rasta/malformed_function: Fail
rasta/mandatory_parameter_initializer: Fail
rasta/mixin_library: Fail
rasta/native_is_illegal: Fail
rasta/parser_error: Fail
rasta/super: RuntimeError
rasta/super_initializer: Fail
rasta/super_operator: Fail
rasta/try_label: Fail
rasta/type_literals: Crash
rasta/type_literals: Fail
rasta/type_with_parse_error: Fail
rasta/typedef: Crash
rasta/typedef: Fail
rasta/unresolved: Fail
rasta/unresolved_constructor: Fail
rasta/unresolved_for_in: RuntimeError # Test contains a compile-time error, signaled at run time in the JIT VM
rasta/unresolved_recovery: Fail
redirecting_factory: Fail # Missing types on constructor parameters.
redirecting_factory_chain_test: Fail # Missing support for RedirectingFactoryConstructor.
redirecting_factory_const_inference: RuntimeError # Test exercises strong mode semantics.  See also Issue #33813.
redirecting_factory_simple_test: Fail # Missing support for RedirectingFactoryConstructor.
redirecting_factory_typeargs_test: Fail # Missing support for RedirectingFactoryConstructor.
redirecting_factory_typeparam_test: Fail # Missing support for RedirectingFactoryConstructor.
redirecting_factory_typeparambounds_test: Fail # Missing support for RedirectingFactoryConstructor.
regress/issue_29975: Fail # Issue 29975.
regress/issue_29976: RuntimeError # Tests runtime behavior of error recovery.
regress/issue_29982: RuntimeError # Tests runtime behavior of error recovery.
regress/issue_30836: RuntimeError # Issue 30836.
regress/issue_32200: Pass # Invalid type mapped to dynamic type in kernel translation helper.
regress/issue_32972: RuntimeError
regress/issue_33452: RuntimeError # Test has an intentional error
regress/issue_34225: RuntimeError
regress/issue_34563: RuntimeError # Test execution after recovery
regress/issue_35177: RuntimeError
regress/issue_35258: RuntimeError # Expected
regress/issue_35259: RuntimeError # Expected
regress/issue_35260: RuntimeError # Expected
regress/issue_35266: RuntimeError # Expected
regress/issue_36400: RuntimeError
regress/issue_36647: RuntimeError # Expected
regress/issue_36647_2: RuntimeError # Expected
regress/issue_36669: RuntimeError
reject_generic_function_types_in_bounds: RuntimeError # Expected
runtime_checks/implicit_downcast_constructor_initializer: RuntimeError # Test exercises strong mode semantics
runtime_checks/implicit_downcast_do: RuntimeError # Test exercises strong mode semantics
runtime_checks/implicit_downcast_for_condition: RuntimeError # Test exercises strong mode semantics
runtime_checks/implicit_downcast_if: RuntimeError # Test exercises strong mode semantics
runtime_checks/implicit_downcast_not: RuntimeError # Test exercises strong mode semantics
runtime_checks/implicit_downcast_while: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/implicit_downcast_field: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/mixin_forwarding_stub_field: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/mixin_forwarding_stub_getter: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/mixin_forwarding_stub_setter: RuntimeError # Test exercises strong mode semantics
runtime_checks_new/stub_checked_via_target: RuntimeError # Test exercises strong mode semantics
set_literals/disambiguation_rule: RuntimeError
spread_collection: RuntimeError
type_parameter_type_named_int: RuntimeError # Expected
type_variable_as_super: Fail
uninitialized_fields: Fail # Fasta and dartk disagree on static initializers
void_methods: Fail # Bad return from setters.
