OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart2js.js_emitter.startup_emitter.model_emitter; | 5 part of dart2js.js_emitter.startup_emitter.model_emitter; |
6 | 6 |
7 /// The name of the property that stores the tear-off getter on a static | 7 /// The name of the property that stores the tear-off getter on a static |
8 /// function. | 8 /// function. |
9 /// | 9 /// |
10 /// This property is only used when isolates are used. | 10 /// This property is only used when isolates are used. |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 'inheritance': emitInheritance(fragment), | 534 'inheritance': emitInheritance(fragment), |
535 'aliases': emitInstanceMethodAliases(fragment), | 535 'aliases': emitInstanceMethodAliases(fragment), |
536 'tearOffs': emitInstallTearOffs(fragment), | 536 'tearOffs': emitInstallTearOffs(fragment), |
537 'constants': emitConstants(fragment), | 537 'constants': emitConstants(fragment), |
538 'staticNonFinalFields': emitStaticNonFinalFields(fragment), | 538 'staticNonFinalFields': emitStaticNonFinalFields(fragment), |
539 'lazyStatics': emitLazilyInitializedStatics(fragment), | 539 'lazyStatics': emitLazilyInitializedStatics(fragment), |
540 'embeddedGlobals': emitEmbeddedGlobals(program, deferredLoadHashes), | 540 'embeddedGlobals': emitEmbeddedGlobals(program, deferredLoadHashes), |
541 'nativeSupport': program.needsNativeSupport | 541 'nativeSupport': program.needsNativeSupport |
542 ? emitNativeSupport(fragment) | 542 ? emitNativeSupport(fragment) |
543 : new js.EmptyStatement(), | 543 : new js.EmptyStatement(), |
544 'jsInteropSupport': backend.nativeBasicData.isJsInteropUsed | 544 'jsInteropSupport': _closedWorld.nativeData.isJsInteropUsed |
545 ? backend.jsInteropAnalysis.buildJsInteropBootstrap() | 545 ? backend.jsInteropAnalysis.buildJsInteropBootstrap() |
546 : new js.EmptyStatement(), | 546 : new js.EmptyStatement(), |
547 'invokeMain': fragment.invokeMain, | 547 'invokeMain': fragment.invokeMain, |
548 }); | 548 }); |
549 if (program.hasSoftDeferredClasses) { | 549 if (program.hasSoftDeferredClasses) { |
550 return new js.Block([ | 550 return new js.Block([ |
551 js.js.statement(softDeferredBoilerplate, { | 551 js.js.statement(softDeferredBoilerplate, { |
552 'deferredGlobal': ModelEmitter.deferredInitializersGlobal, | 552 'deferredGlobal': ModelEmitter.deferredInitializersGlobal, |
553 'softId': js.string(softDeferredId), | 553 'softId': js.string(softDeferredId), |
554 // TODO(floitsch): don't just reference 'init'. | 554 // TODO(floitsch): don't just reference 'init'. |
(...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1553 } | 1553 } |
1554 statements.add(js.js.statement("setOrUpdateInterceptorsByTag(#);", | 1554 statements.add(js.js.statement("setOrUpdateInterceptorsByTag(#);", |
1555 js.objectLiteral(interceptorsByTag))); | 1555 js.objectLiteral(interceptorsByTag))); |
1556 statements.add( | 1556 statements.add( |
1557 js.js.statement("setOrUpdateLeafTags(#);", js.objectLiteral(leafTags))); | 1557 js.js.statement("setOrUpdateLeafTags(#);", js.objectLiteral(leafTags))); |
1558 statements.addAll(subclassAssignments); | 1558 statements.addAll(subclassAssignments); |
1559 | 1559 |
1560 return wrapPhase('nativeSupport', statements); | 1560 return wrapPhase('nativeSupport', statements); |
1561 } | 1561 } |
1562 } | 1562 } |
OLD | NEW |