| Index: pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
|
| index 61c1b08c8c5b9148eb9566ed22fd80fe8f6fab50..9c48f4d82a2186b94feffa6dd68e115bb35724fa 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
|
| @@ -35,6 +35,7 @@ class RuntimeTypeGenerator {
|
|
|
| JavaScriptBackend get backend => compiler.backend;
|
| TypeTestRegistry get typeTestRegistry => emitterTask.typeTestRegistry;
|
| + CoreClasses get coreClasses => compiler.coreClasses;
|
|
|
| Set<ClassElement> get checkedClasses =>
|
| typeTestRegistry.checkedClasses;
|
| @@ -181,7 +182,7 @@ class RuntimeTypeGenerator {
|
| }
|
|
|
| if (superclass != null &&
|
| - superclass != compiler.coreClasses.objectClass &&
|
| + superclass != coreClasses.objectClass &&
|
| !haveSameTypeVariables(cls, superclass)) {
|
| // We cannot inherit the generated substitutions, because the type
|
| // variable layout for this class is different. Instead we generate
|
| @@ -217,7 +218,7 @@ class RuntimeTypeGenerator {
|
|
|
| // A class that defines a `call` method implicitly implements
|
| // [Function] and needs checks for all typedefs that are used in is-checks.
|
| - if (checkedClasses.contains(compiler.coreClasses.functionClass) ||
|
| + if (checkedClasses.contains(coreClasses.functionClass) ||
|
| checkedFunctionTypes.isNotEmpty) {
|
| Element call = cls.lookupLocalMember(Identifiers.call);
|
| if (call == null) {
|
| @@ -228,8 +229,8 @@ class RuntimeTypeGenerator {
|
| FunctionElement callFunction = call;
|
| // A superclass might already implement the Function interface. In such
|
| // a case, we can avoid emiting the is test here.
|
| - if (!cls.superclass.implementsFunction(compiler)) {
|
| - _generateInterfacesIsTests(compiler.coreClasses.functionClass,
|
| + if (!cls.superclass.implementsFunction(coreClasses)) {
|
| + _generateInterfacesIsTests(coreClasses.functionClass,
|
| generateIsTest,
|
| generateSubstitution,
|
| generated);
|
|
|