# 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.md file.

# Status file for the ast_builder_test.dart test suite. This is testing
# generating analyzer ASTs and connecting up type inference information.
DeltaBlue: Crash
accessors: Crash
annotation_top: Crash
argument_mismatch: Crash
bad_setter_abstract: Crash
call: Crash
cascade: Crash
classes: Crash
duplicated_named_args_3: Crash
expressions: Crash
function_type_is_check: Crash
function_type_recovery: Crash
illegal_named_function_expression: Crash
illegal_named_function_expression_scope: Crash
implicit_scope_test: Crash
inference/abstract_class_instantiation: Crash
inference/assert_initializer: Crash
inference/bug30251: Crash
inference/bug30624: Crash
inference/bug31133: Crash
inference/bug31436: Crash
inference/call_corner_cases: Crash
inference/closure_param_null_to_object: Crash
inference/constructors_infer_from_arguments_redirecting: Crash
inference/constructors_too_many_positional_arguments: Crash
inference/downwards_inference_annotations: Crash
inference/downwards_inference_annotations_class_members: Crash
inference/downwards_inference_annotations_for_loop_variable: Crash
inference/downwards_inference_annotations_locals: Crash
inference/downwards_inference_annotations_locals_referring_to_locals: Crash
inference/downwards_inference_annotations_parameter: Fail
inference/downwards_inference_annotations_parameter_local: Fail
inference/downwards_inference_annotations_type_variable: Fail
inference/downwards_inference_annotations_type_variable_local: Crash
inference/downwards_inference_annotations_typedef: Crash
inference/downwards_inference_on_function_of_t_using_the_t: Crash
inference/downwards_inference_on_generic_function_expressions: Crash
inference/downwards_inference_on_instance_creations_infer_downwards: Crash
inference/downwards_inference_yield_yield_star: Fail
inference/field_initializer_context_explicit: Crash
inference/field_initializer_context_implicit: Crash
inference/field_initializer_context_this: Crash
inference/field_initializer_parameter: Crash
inference/for_loop_initializer_expression: Crash
inference/future_then_explicit_future: Fail
inference/generic_functions_return_typedef: Fail
inference/generic_methods_basic_downward_inference: Crash
inference/generic_methods_downwards_inference_fold: Crash
inference/generic_methods_infer_js_builtin: Fail
inference/infer_correctly_on_multiple_variables_declared_together: Crash
inference/infer_from_complex_expressions_if_outer_most_value_is_precise: Crash
inference/infer_local_function_referenced_before_declaration: Crash
inference/infer_rethrow: Crash
inference/infer_statics_transitively3: Crash
inference/instantiate_tearoff: Crash
inference/instantiate_tearoff_after_contravariance_check: Crash
inference/instantiate_tearoff_of_call: Crash
inference/lambda_does_not_have_propagated_type_hint: Crash
inference/super_initializer: Crash
inference/super_initializer_substitution: Crash
inference/switch_continue: Crash
inference/top_level_return_and_yield: Fail
inference/try_catch: Crash
inference/try_catch_finally: Crash
inference/try_catch_promotion: Crash
inference/unsafe_block_closure_inference_closure_call: Crash
inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1: Crash
inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2: Crash
inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1: Crash
inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2: Crash
inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr: Crash
inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr: Crash
inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2: Crash
inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2: Crash
invalid_cast: Crash
invocations: Crash
metadata_enum: Crash
metadata_named_mixin_application: Crash
micro: Crash
qualified: Crash
rasta/abstract_constructor: Crash
rasta/bad_continue: Crash
rasta/bad_default_constructor: Crash
rasta/bad_interpolation: Crash
rasta/bad_redirection: Crash
rasta/breaking_bad: Crash
rasta/cascades: Crash
rasta/class_hierarchy: Crash
rasta/deferred_load: Crash
rasta/generic_factory: Crash
rasta/issue_000001: Crash
rasta/issue_000002: Crash
rasta/issue_000004: Crash
rasta/issue_000031: Crash
rasta/issue_000036: Crash
rasta/issue_000039: VerificationError
rasta/issue_000042: Crash
rasta/issue_000044: Crash
rasta/issue_000045: Crash
rasta/issue_000067: Crash
rasta/issue_000068: Crash
rasta/issue_000069: Crash
rasta/issue_000070: Crash
rasta/malformed_function: Crash
rasta/mandatory_parameter_initializer: Crash
rasta/parser_error: Crash
rasta/static: Crash
rasta/super: Crash
rasta/super_initializer: Crash
rasta/supports_reflection: VerificationError
rasta/this_invoke: Crash
rasta/try_label: Crash
rasta/type_literals: Crash
rasta/typedef: Crash
rasta/unresolved: Crash
rasta/unresolved_constructor: Crash
rasta/unresolved_for_in: Crash
rasta/unresolved_recovery: Crash
redirecting_factory_typeparambounds_test: VerificationError
regress/issue_29937: Crash
regress/issue_29941: Crash
regress/issue_29942: Crash
regress/issue_29943: Crash
regress/issue_29978: Crash
regress/issue_29979: Crash
regress/issue_29983: Crash
regress/issue_29984: Crash
regress/issue_29985: Crash
regress/issue_31155: Crash # Issue 31155.
regress/issue_31157: Crash
regress/issue_31180: Crash
regress/issue_31184: Crash
regress/issue_31186: Crash
regress/issue_31187: Crash
regress/issue_31198: Crash
reorder_super: Crash
runtime_checks/implicit_downcast_assert_initializer: Crash
runtime_checks/implicit_downcast_constructor_initializer: Crash
runtime_checks_new/for_in_call_kinds: Crash
statements: Crash
super_rasta_copy: Crash
type_variable_as_super: Crash
uninitialized_fields: Crash
