Chromium Code Reviews| 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) { |
|
sra1
2015/10/13 03:31:36
line?
|
| + |
| 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; |
| } |