| Index: pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
|
| index 309e12108dc7ac639f617f4b23bd553c023352f9..94344804bf9ebcb62190ac3e44f49995109cd34e 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
|
| @@ -31,6 +31,7 @@ jsAst.Statement buildSetupProgram(Program program, Compiler compiler,
|
| Namer namer,
|
| Emitter emitter) {
|
|
|
| +
|
| jsAst.Expression typeInformationAccess =
|
| emitter.generateEmbeddedGlobalAccess(embeddedNames.TYPE_INFORMATION);
|
| jsAst.Expression globalFunctionsAccess =
|
| @@ -127,6 +128,8 @@ jsAst.Statement buildSetupProgram(Program program, Compiler compiler,
|
| 'finishedClassesAccess': finishedClassesAccess,
|
| 'needsMixinSupport': emitter.needsMixinSupport,
|
| 'needsNativeSupport': program.needsNativeSupport,
|
| + 'enabledJsInterop': backend.jsInteropAnalysis.enabledJsInterop,
|
| + 'jsInteropBoostrap':backend.jsInteropAnalysis.buildJsInteropBootstrap(),
|
| 'isInterceptorClass': namer.operatorIs(backend.jsInterceptorClass),
|
| 'isObject' : namer.operatorIs(compiler.objectClass),
|
| 'specProperty': js.string(namer.nativeSpecProperty),
|
| @@ -142,7 +145,6 @@ jsAst.Statement buildSetupProgram(Program program, Compiler compiler,
|
| 'nativeInfoHandler': nativeInfoHandler,
|
| 'operatorIsPrefix' : js.string(namer.operatorIsPrefix),
|
| 'deferredActionString': js.string(namer.deferredAction)};
|
| -
|
| String skeleton = '''
|
| function $setupProgramName(programData, typesOffset) {
|
| "use strict";
|
| @@ -754,6 +756,9 @@ function $setupProgramName(programData, typesOffset) {
|
| }
|
| }
|
|
|
| + if (#enabledJsInterop) {
|
| + #jsInteropBoostrap
|
| + }
|
| #tearOffCode;
|
| }
|
|
|
|
|