Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(797)

Unified Diff: pkg/compiler/lib/src/js_emitter/code_emitter_task.dart

Issue 2863073003: Access NativeData only through ClosedWorld (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
index 386fb8e972eadfec94168e3c789aeaacd6fa0825..bdff2c6e458ca66ae10f55a4e03cda1623d41cbf 100644
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
@@ -36,7 +36,7 @@ const USE_LAZY_EMITTER = const bool.fromEnvironment("dart2js.use.lazy.emitter");
*/
class CodeEmitterTask extends CompilerTask {
TypeTestRegistry typeTestRegistry;
- NativeEmitter nativeEmitter;
+ NativeEmitter _nativeEmitter;
MetadataCollector metadataCollector;
EmitterFactory _emitterFactory;
Emitter _emitter;
@@ -55,7 +55,6 @@ class CodeEmitterTask extends CompilerTask {
Compiler compiler, bool generateSourceMap, bool useStartupEmitter)
: compiler = compiler,
super(compiler.measurer) {
- nativeEmitter = new NativeEmitter(this);
if (USE_LAZY_EMITTER) {
_emitterFactory = new lazy_js_emitter.EmitterFactory();
} else if (useStartupEmitter) {
@@ -67,6 +66,12 @@ class CodeEmitterTask extends CompilerTask {
}
}
+ NativeEmitter get nativeEmitter {
+ assert(invariant(NO_LOCATION_SPANNABLE, _nativeEmitter != null,
+ message: "NativeEmitter has not been created yet."));
+ return _nativeEmitter;
+ }
+
Emitter get emitter {
assert(invariant(NO_LOCATION_SPANNABLE, _emitter != null,
message: "Emitter has not been created yet."));
@@ -163,6 +168,7 @@ class CodeEmitterTask extends CompilerTask {
void createEmitter(Namer namer, ClosedWorld closedWorld,
CodegenWorldBuilder codegenWorldBuilder) {
measure(() {
+ _nativeEmitter = new NativeEmitter(this, closedWorld.nativeData);
_emitter = _emitterFactory.createEmitter(this, namer, closedWorld);
metadataCollector = new MetadataCollector(
compiler.options,
@@ -191,7 +197,7 @@ class CodeEmitterTask extends CompilerTask {
backend.nativeCodegenEnqueuer,
backend.backendUsage,
backend.constants,
- backend.nativeData,
+ closedWorld.nativeData,
backend.rtiNeed,
backend.mirrorsData,
backend.interceptorData,
« no previous file with comments | « pkg/compiler/lib/src/js_backend/native_data.dart ('k') | pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698