Redo "Work-around for missing mixin-application charOffset"

TBR=sigmund@google.com

BUG=

Review-Url: https://codereview.chromium.org/2991403002 .
This commit is contained in:
Stephen Adams 2017-08-04 15:35:37 -07:00
parent d3344ed466
commit bb1e91b597
3 changed files with 114 additions and 124 deletions

View file

@ -290,6 +290,10 @@ class KernelLibraryBuilder
int unresolvedCount = 0;
Map<String, TypeBuilder> freeTypes = <String, TypeBuilder>{};
// TODO(30316): Use correct locations of mixin applications
// (e.g. identifiers for mixed-in classes).
if (charOffset == -1) charOffset = type.charOffset;
if (name == null || type.mixins.length != 1) {
TypeBuilder last = type.mixins.last;
@ -419,8 +423,8 @@ class KernelLibraryBuilder
checkArguments(mixin);
supertype = applyMixin(supertype, mixin, signature,
isSyntheticMixinImplementation: true,
typeVariables:
new List<TypeVariableBuilder>.from(variables.values));
typeVariables: new List<TypeVariableBuilder>.from(variables.values),
charOffset: charOffset);
}
KernelNamedTypeBuilder mixin = type.mixins.last;

View file

@ -183,10 +183,11 @@ regress/4562_test/01: Crash # Issue 27394
22776_test: Crash
22868_test: Crash
22917_test: Crash
23056_test: Crash
23056_test: RuntimeError
23264_test: Crash
23404_test: Crash
23432_test: Crash
23432b_test: Crash # type 'KMethod' is not a subtype of type 'MemberElement' of 'member' where
23804_test: Crash
23828_test: Crash
26243_test: Crash
@ -263,6 +264,7 @@ 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
@ -351,10 +353,10 @@ useful_error_message_1_test: Crash
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).
23056_test: Crash # NoSuchMethodError: The getter 'uri' was called on null.
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).
@ -429,6 +431,7 @@ invalid_annotation2_test/none: Crash # NoSuchMethodError: Class 'DynamicType' ha
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'.

View file

@ -1388,11 +1388,16 @@ mixin_forwarding_constructor4_test/03: Crash
mixin_forwarding_constructor4_test/none: Crash
mixin_generic_test: Crash
mixin_getter_regression_test: Crash
mixin_illegal_constructor_test/13: Crash
mixin_illegal_constructor_test/14: Crash
mixin_illegal_constructor_test/15: Crash
mixin_illegal_constructor_test/16: Crash
mixin_illegal_constructor_test/none: Crash
generic_instanceof5_test: RuntimeError
issue_25671b_test/none: RuntimeError
malformed_inheritance_test/04: RuntimeError
mixin_black_listed_test/none: RuntimeError
mixin_class_from_core_library_test: RuntimeError
mixin_forwarding_constructor4_test/01: MissingCompileTimeError
mixin_forwarding_constructor4_test/02: MissingCompileTimeError
mixin_forwarding_constructor4_test/03: MissingCompileTimeError
mixin_forwarding_constructor4_test/none: RuntimeError
mixin_illegal_constructor_test/none: RuntimeError
mixin_illegal_static_access_test: Crash
mixin_illegal_super_use_test/01: Crash
mixin_illegal_super_use_test/02: Crash
@ -1406,64 +1411,64 @@ mixin_illegal_super_use_test/09: Crash
mixin_illegal_super_use_test/10: Crash
mixin_illegal_super_use_test/11: Crash
mixin_illegal_super_use_test/none: Crash
mixin_illegal_superclass_test/01: Crash
mixin_illegal_superclass_test/02: Crash
mixin_illegal_superclass_test/03: Crash
mixin_illegal_superclass_test/04: Crash
mixin_illegal_superclass_test/05: Crash
mixin_illegal_superclass_test/06: Crash
mixin_illegal_superclass_test/07: Crash
mixin_illegal_superclass_test/08: Crash
mixin_illegal_superclass_test/09: Crash
mixin_illegal_superclass_test/10: Crash
mixin_illegal_superclass_test/11: Crash
mixin_illegal_superclass_test/12: Crash
mixin_illegal_superclass_test/13: Crash
mixin_illegal_superclass_test/14: Crash
mixin_illegal_superclass_test/15: Crash
mixin_illegal_superclass_test/16: Crash
mixin_illegal_superclass_test/17: Crash
mixin_illegal_superclass_test/01: MissingCompileTimeError
mixin_illegal_superclass_test/02: MissingCompileTimeError
mixin_illegal_superclass_test/03: MissingCompileTimeError
mixin_illegal_superclass_test/04: MissingCompileTimeError
mixin_illegal_superclass_test/05: MissingCompileTimeError
mixin_illegal_superclass_test/06: MissingCompileTimeError
mixin_illegal_superclass_test/07: MissingCompileTimeError
mixin_illegal_superclass_test/08: MissingCompileTimeError
mixin_illegal_superclass_test/09: MissingCompileTimeError
mixin_illegal_superclass_test/10: MissingCompileTimeError
mixin_illegal_superclass_test/11: MissingCompileTimeError
mixin_illegal_superclass_test/12: MissingCompileTimeError
mixin_illegal_superclass_test/13: MissingCompileTimeError
mixin_illegal_superclass_test/14: MissingCompileTimeError
mixin_illegal_superclass_test/15: MissingCompileTimeError
mixin_illegal_superclass_test/16: MissingCompileTimeError
mixin_illegal_superclass_test/17: MissingCompileTimeError
mixin_illegal_superclass_test/18: Crash
mixin_illegal_superclass_test/19: Crash
mixin_illegal_superclass_test/19: MissingCompileTimeError
mixin_illegal_superclass_test/20: Crash
mixin_illegal_superclass_test/21: Crash
mixin_illegal_superclass_test/22: Crash
mixin_illegal_superclass_test/21: MissingCompileTimeError
mixin_illegal_superclass_test/22: MissingCompileTimeError
mixin_illegal_superclass_test/23: Crash
mixin_illegal_superclass_test/24: Crash
mixin_illegal_superclass_test/24: MissingCompileTimeError
mixin_illegal_superclass_test/25: Crash
mixin_illegal_superclass_test/26: Crash
mixin_illegal_superclass_test/27: Crash
mixin_illegal_superclass_test/26: MissingCompileTimeError
mixin_illegal_superclass_test/27: MissingCompileTimeError
mixin_illegal_superclass_test/28: Crash
mixin_illegal_superclass_test/29: Crash
mixin_illegal_superclass_test/29: MissingCompileTimeError
mixin_illegal_superclass_test/30: Crash
mixin_illegal_superclass_test/none: Crash
mixin_illegal_syntax_test/none: Crash
mixin_illegal_superclass_test/none: RuntimeError
mixin_illegal_syntax_test/none: RuntimeError
mixin_implements_test: Crash
mixin_invalid_bound2_test/01: Crash
mixin_invalid_bound2_test/02: Crash
mixin_invalid_bound2_test/03: Crash
mixin_invalid_bound2_test/04: Crash
mixin_invalid_bound2_test/05: Crash
mixin_invalid_bound2_test/06: Crash
mixin_invalid_bound2_test/07: Crash
mixin_invalid_bound2_test/08: Crash
mixin_invalid_bound2_test/09: Crash
mixin_invalid_bound2_test/10: Crash
mixin_invalid_bound2_test/11: Crash
mixin_invalid_bound2_test/12: Crash
mixin_invalid_bound2_test/13: Crash
mixin_invalid_bound2_test/14: Crash
mixin_invalid_bound_test/01: Crash
mixin_invalid_bound_test/02: Crash
mixin_invalid_bound_test/03: Crash
mixin_invalid_bound_test/04: Crash
mixin_invalid_bound_test/05: Crash
mixin_invalid_bound_test/06: Crash
mixin_invalid_bound_test/07: Crash
mixin_invalid_bound_test/08: Crash
mixin_invalid_bound_test/09: Crash
mixin_invalid_bound_test/10: Crash
mixin_is_test: Crash
mixin_invalid_bound2_test/01: RuntimeError
mixin_invalid_bound2_test/02: RuntimeError
mixin_invalid_bound2_test/03: RuntimeError
mixin_invalid_bound2_test/04: RuntimeError
mixin_invalid_bound2_test/05: RuntimeError
mixin_invalid_bound2_test/06: RuntimeError
mixin_invalid_bound2_test/07: RuntimeError
mixin_invalid_bound2_test/08: RuntimeError
mixin_invalid_bound2_test/09: RuntimeError
mixin_invalid_bound2_test/10: RuntimeError
mixin_invalid_bound2_test/11: RuntimeError
mixin_invalid_bound2_test/12: RuntimeError
mixin_invalid_bound2_test/13: RuntimeError
mixin_invalid_bound2_test/14: RuntimeError
mixin_invalid_bound_test/01: RuntimeError
mixin_invalid_bound_test/02: RuntimeError
mixin_invalid_bound_test/03: RuntimeError
mixin_invalid_bound_test/04: RuntimeError
mixin_invalid_bound_test/05: RuntimeError
mixin_invalid_bound_test/06: RuntimeError
mixin_invalid_bound_test/07: RuntimeError
mixin_invalid_bound_test/08: RuntimeError
mixin_invalid_bound_test/09: RuntimeError
mixin_invalid_bound_test/10: RuntimeError
mixin_is_test: RuntimeError
mixin_issue10216_2_test: Crash
mixin_issue10216_test: Crash
mixin_lib_extends_field_test: Crash
@ -1549,18 +1554,18 @@ mixin_supertype_subclass_test/04: CompileTimeError
mixin_supertype_subclass_test/05: CompileTimeError
mixin_supertype_subclass_test/none: CompileTimeError
mixin_this_use_test: Crash
mixin_type_parameter1_test: Crash
mixin_type_parameter2_test: Crash
mixin_type_parameter1_test: RuntimeError
mixin_type_parameter2_test: RuntimeError
mixin_type_parameter3_test: Crash
mixin_type_parameter4_test: Crash
mixin_type_parameter5_test: Crash
mixin_type_parameter6_test: Crash
mixin_type_parameters_errors_test/01: Crash
mixin_type_parameters_errors_test/02: Crash
mixin_type_parameters_errors_test/03: Crash
mixin_type_parameters_errors_test/04: Crash
mixin_type_parameters_errors_test/05: Crash
mixin_type_parameters_errors_test/none: Crash
mixin_type_parameters_errors_test/01: RuntimeError
mixin_type_parameters_errors_test/02: RuntimeError
mixin_type_parameters_errors_test/03: RuntimeError
mixin_type_parameters_errors_test/04: RuntimeError
mixin_type_parameters_errors_test/05: RuntimeError
mixin_type_parameters_errors_test/none: RuntimeError
mixin_type_parameters_mixin_extends_test: Crash
mixin_type_parameters_mixin_test: Crash
mixin_type_parameters_simple_test: Crash
@ -1754,7 +1759,7 @@ regress_18435_test: Crash
regress_18535_test: Crash
regress_18713_test: Crash
regress_20394_test/01: Crash
regress_20394_test/none: Crash
regress_20394_test/none: RuntimeError
regress_20840_test: Crash
regress_21016_test: Crash
regress_21795_test: Crash
@ -1871,12 +1876,12 @@ super_bound_closure_test/none: Crash
super_call4_test: Crash
super_closure_test: Crash
super_closure_test: RuntimeError
super_field_access_test: Crash
super_field_2_test: RuntimeError
super_field_access_test: Crash
super_getter_setter_test: Crash
super_implicit_closure_test: Crash
super_inferrer_test: Crash
super_mixin_test: Crash
super_mixin_test: RuntimeError
super_no_such_method1_test/01: Crash
super_no_such_method2_test/01: Crash
super_no_such_method3_test/01: Crash
@ -2048,9 +2053,10 @@ type_variable_scope2_test: Crash
type_variable_typedef_test: Crash
typecheck_multifield_declaration_test: Crash
typedef_is_test: Crash
typevariable_substitution2_test/01: Crash
typedef_uses_test: Crash # type 'FunctionType' is not a subtype of type 'ResolutionFunctionType' of 'type' where
typevariable_substitution2_test/01: RuntimeError
typevariable_substitution2_test/02: Crash
typevariable_substitution2_test/none: Crash
typevariable_substitution2_test/none: RuntimeError
unresolved_default_constructor_test/01: Crash
value_range2_test: Crash
value_range3_test: Crash
@ -2640,7 +2646,6 @@ generic_field_mixin_test: Crash
generic_function_typedef2_test/04: Crash
generic_function_typedef_test: Crash
generic_functions_test: Crash
generic_instanceof5_test: Crash
generic_instanceof_test: Crash
generic_list_checked_test: Crash
generic_local_functions_test: Crash
@ -2837,7 +2842,6 @@ issue_22780_test/01: Crash
issue_23914_test: Crash
issue_25671a_test/01: Crash
issue_25671b_test/01: Crash
issue_25671b_test/none: Crash
label_test: Crash
lazy_map_test: Crash
lazy_static3_test: Crash
@ -2922,7 +2926,6 @@ malbounded_type_cast2_test: Crash
malbounded_type_cast_test: Crash
malbounded_type_test2_test: Crash
malformed2_test/00: Crash
malformed_inheritance_test/04: Crash
malformed_test/06: CompileTimeError
malformed_test/none: Crash
many_generic_instanceof_test: Crash
@ -2964,9 +2967,7 @@ mint_arithmetic_test: RuntimeError
missing_const_constructor_test/01: Crash
missing_const_constructor_test/none: Crash
mixin_black_listed_test/02: Crash
mixin_black_listed_test/none: Crash
mixin_bound_test: Crash
mixin_class_from_core_library_test: Crash
mixin_extends_field_test: Crash
mixin_extends_is_test: Crash
mixin_extends_method_test: Crash
@ -2978,14 +2979,8 @@ mixin_forwarding_constructor3_test: Crash
mixin_forwarding_constructor4_test/01: Crash
mixin_forwarding_constructor4_test/02: Crash
mixin_forwarding_constructor4_test/03: Crash
mixin_forwarding_constructor4_test/none: Crash
mixin_generic_test: Crash
mixin_getter_regression_test: Crash
mixin_illegal_constructor_test/13: Crash
mixin_illegal_constructor_test/14: Crash
mixin_illegal_constructor_test/15: Crash
mixin_illegal_constructor_test/16: Crash
mixin_illegal_constructor_test/none: Crash
mixin_illegal_static_access_test: Crash
mixin_illegal_super_use_test/01: Crash
mixin_illegal_super_use_test/02: Crash
@ -3029,34 +3024,7 @@ mixin_illegal_superclass_test/27: Crash
mixin_illegal_superclass_test/28: Crash
mixin_illegal_superclass_test/29: Crash
mixin_illegal_superclass_test/30: Crash
mixin_illegal_superclass_test/none: Crash
mixin_illegal_syntax_test/none: Crash
mixin_implements_test: Crash
mixin_invalid_bound2_test/01: Crash
mixin_invalid_bound2_test/02: Crash
mixin_invalid_bound2_test/03: Crash
mixin_invalid_bound2_test/04: Crash
mixin_invalid_bound2_test/05: Crash
mixin_invalid_bound2_test/06: Crash
mixin_invalid_bound2_test/07: Crash
mixin_invalid_bound2_test/08: Crash
mixin_invalid_bound2_test/09: Crash
mixin_invalid_bound2_test/10: Crash
mixin_invalid_bound2_test/11: Crash
mixin_invalid_bound2_test/12: Crash
mixin_invalid_bound2_test/13: Crash
mixin_invalid_bound2_test/14: Crash
mixin_invalid_bound_test/01: Crash
mixin_invalid_bound_test/02: Crash
mixin_invalid_bound_test/03: Crash
mixin_invalid_bound_test/04: Crash
mixin_invalid_bound_test/05: Crash
mixin_invalid_bound_test/06: Crash
mixin_invalid_bound_test/07: Crash
mixin_invalid_bound_test/08: Crash
mixin_invalid_bound_test/09: Crash
mixin_invalid_bound_test/10: Crash
mixin_is_test: Crash
mixin_issue10216_2_test: Crash
mixin_issue10216_test: Crash
mixin_lib_extends_field_test: Crash
@ -3142,18 +3110,9 @@ mixin_supertype_subclass_test/04: CompileTimeError
mixin_supertype_subclass_test/05: CompileTimeError
mixin_supertype_subclass_test/none: CompileTimeError
mixin_this_use_test: Crash
mixin_type_parameter1_test: Crash
mixin_type_parameter2_test: Crash
mixin_type_parameter3_test: Crash
mixin_type_parameter4_test: Crash
mixin_type_parameter5_test: Crash
mixin_type_parameter6_test: Crash
mixin_type_parameters_errors_test/01: Crash
mixin_type_parameters_errors_test/02: Crash
mixin_type_parameters_errors_test/03: Crash
mixin_type_parameters_errors_test/04: Crash
mixin_type_parameters_errors_test/05: Crash
mixin_type_parameters_errors_test/none: Crash
mixin_type_parameters_mixin_extends_test: Crash
mixin_type_parameters_mixin_test: Crash
mixin_type_parameters_simple_test: Crash
@ -3334,7 +3293,6 @@ regress_18435_test: Crash
regress_18535_test: Crash
regress_18713_test: Crash
regress_20394_test/01: Crash
regress_20394_test/none: Crash
regress_20840_test: Crash
regress_21016_test: Crash
regress_21795_test: Crash
@ -3449,7 +3407,6 @@ super_field_access_test: Crash
super_getter_setter_test: Crash
super_implicit_closure_test: Crash
super_inferrer_test: Crash
super_mixin_test: Crash
super_no_such_method1_test/01: Crash
super_no_such_method2_test/01: Crash
super_no_such_method3_test/01: Crash
@ -3597,9 +3554,35 @@ type_variable_nested_test: Crash
type_variable_scope2_test: Crash
typecheck_multifield_declaration_test: Crash
typedef_is_test: Crash
typevariable_substitution2_test/01: Crash
typevariable_substitution2_test/02: Crash
typevariable_substitution2_test/none: Crash
mixin_forwarding_constructor4_test/01: MissingCompileTimeError
mixin_forwarding_constructor4_test/02: MissingCompileTimeError
mixin_forwarding_constructor4_test/03: MissingCompileTimeError
mixin_illegal_superclass_test/01: MissingCompileTimeError
mixin_illegal_superclass_test/02: MissingCompileTimeError
mixin_illegal_superclass_test/03: MissingCompileTimeError
mixin_illegal_superclass_test/04: MissingCompileTimeError
mixin_illegal_superclass_test/05: MissingCompileTimeError
mixin_illegal_superclass_test/06: MissingCompileTimeError
mixin_illegal_superclass_test/07: MissingCompileTimeError
mixin_illegal_superclass_test/08: MissingCompileTimeError
mixin_illegal_superclass_test/09: MissingCompileTimeError
mixin_illegal_superclass_test/10: MissingCompileTimeError
mixin_illegal_superclass_test/11: MissingCompileTimeError
mixin_illegal_superclass_test/12: MissingCompileTimeError
mixin_illegal_superclass_test/13: MissingCompileTimeError
mixin_illegal_superclass_test/14: MissingCompileTimeError
mixin_illegal_superclass_test/15: MissingCompileTimeError
mixin_illegal_superclass_test/16: MissingCompileTimeError
mixin_illegal_superclass_test/17: MissingCompileTimeError
mixin_illegal_superclass_test/19: MissingCompileTimeError
mixin_illegal_superclass_test/21: MissingCompileTimeError
mixin_illegal_superclass_test/22: MissingCompileTimeError
mixin_illegal_superclass_test/24: MissingCompileTimeError
mixin_illegal_superclass_test/26: MissingCompileTimeError
mixin_illegal_superclass_test/27: MissingCompileTimeError
mixin_illegal_superclass_test/29: MissingCompileTimeError
regress_20394_test/01: MissingCompileTimeError
unresolved_default_constructor_test/01: Crash
value_range2_test: Crash
value_range3_test: Crash