| Index: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| index f3862be3d23ef68e452fb1ffaa6b33d0ecda18b0..11e13f97d25adb17ca96c3025787e645203fc531 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| @@ -16,16 +16,19 @@ import '../js_emitter.dart' show
|
| TypeTestProperties;
|
| import '../model.dart';
|
|
|
| +import '../../closure.dart' show
|
| + ClosureFieldElement;
|
| import '../../common.dart';
|
| import '../../common/names.dart' show
|
| - Names;
|
| + Names,
|
| + Selectors;
|
| import '../../compiler.dart' show
|
| Compiler;
|
| import '../../constants/values.dart' show
|
| ConstantValue,
|
| InterceptorConstantValue;
|
| -import '../../closure.dart' show
|
| - ClosureFieldElement;
|
| +import '../../core_types.dart' show
|
| + CoreClasses;
|
| import '../../dart_types.dart' show
|
| DartType;
|
| import '../../elements/elements.dart' show
|
| @@ -47,8 +50,6 @@ import '../../js_backend/js_backend.dart' show
|
| JavaScriptBackend,
|
| JavaScriptConstantCompiler,
|
| StringBackedName;
|
| -import '../../universe/call_structure.dart' show
|
| - CallStructure;
|
| import '../../universe/selector.dart' show
|
| Selector;
|
| import '../../universe/universe.dart' show
|
| @@ -347,15 +348,14 @@ class ProgramBuilder {
|
| }
|
|
|
| void _addJsInteropStubs(LibrariesMap librariesMap) {
|
| - if (_classes.containsKey(_compiler.objectClass)) {
|
| - var toStringInvocation = namer.invocationName(new Selector.call(
|
| - new Name("toString", _compiler.objectClass.library),
|
| - CallStructure.NO_ARGS));
|
| + if (_classes.containsKey(_compiler.coreClasses.objectClass)) {
|
| + var toStringInvocation = namer.invocationName(Selectors.toString_);
|
| // TODO(jacobr): register toString as used so that it is always accessible
|
| // from JavaScript.
|
| - _classes[_compiler.objectClass].callStubs.add(_buildStubMethod(
|
| - new StringBackedName("toString"),
|
| - js.js('function() { return this.#(this) }', toStringInvocation)));
|
| + _classes[_compiler.coreClasses.objectClass].callStubs.add(
|
| + _buildStubMethod(
|
| + new StringBackedName("toString"),
|
| + js.js('function() { return this.#(this) }', toStringInvocation)));
|
| }
|
|
|
| // We add all members from classes marked with isJsInterop to the base
|
| @@ -528,7 +528,7 @@ class ProgramBuilder {
|
|
|
| List<StubMethod> noSuchMethodStubs = <StubMethod>[];
|
|
|
| - if (backend.enabledNoSuchMethod && element == _compiler.objectClass) {
|
| + if (backend.enabledNoSuchMethod && element.isObject) {
|
| Map<js.Name, Selector> selectors =
|
| classStubGenerator.computeSelectorsForNsmHandlers();
|
| selectors.forEach((js.Name name, Selector selector) {
|
|
|