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

Unified Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2732633002: Remove Enqueuer.nativeEnqueuer (Closed)
Patch Set: Updated cf. comment Created 3 years, 9 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
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/codegen_listener.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/js_backend/backend.dart
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index d38d11993d39e11b415917e2ff160cb7b7812f3a..09a34940d74b3891cca16270514ae3e5fcc7f788 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -444,6 +444,9 @@ class JavaScriptBackend {
ResolutionEnqueuerListener _resolutionEnqueuerListener;
CodegenEnqueuerListener _codegenEnqueuerListener;
+ native.NativeResolutionEnqueuer _nativeResolutionEnqueuer;
+ native.NativeCodegenEnqueuer _nativeCodegenEnqueuer;
+
BackendHelpers helpers;
BackendImpacts impacts;
@@ -508,6 +511,10 @@ class JavaScriptBackend {
_checkedModeHelpers = new CheckedModeHelpers(commonElements, helpers);
emitter =
new CodeEmitterTask(compiler, generateSourceMap, useStartupEmitter);
+ _nativeResolutionEnqueuer = new native.NativeResolutionEnqueuer(compiler);
+ _nativeCodegenEnqueuer = new native.NativeCodegenEnqueuer(
+ compiler, emitter, _nativeResolutionEnqueuer);
+
typeVariableAnalysis = new TypeVariableAnalysis(
compiler.elementEnvironment, impacts, backendUsageBuilder);
typeVariableHandler = new TypeVariableHandler(this, helpers, mirrorsData);
@@ -557,7 +564,8 @@ class JavaScriptBackend {
noSuchMethodRegistry,
customElementsResolutionAnalysis,
lookupMapLibraryAccess,
- mirrorsAnalysis);
+ mirrorsAnalysis,
+ _nativeResolutionEnqueuer);
_codegenEnqueuerListener = new CodegenEnqueuerListener(
this,
compiler.elementEnvironment,
@@ -568,7 +576,8 @@ class JavaScriptBackend {
customElementsCodegenAnalysis,
typeVariableHandler,
lookupMapAnalysis,
- mirrorsAnalysis);
+ mirrorsAnalysis,
+ _nativeCodegenEnqueuer);
}
/// The [ConstantSystem] used to interpret compile-time constants for this
@@ -742,8 +751,7 @@ class JavaScriptBackend {
element.isConstructor ||
element.isGetter ||
element.isSetter) {
- compiler.enqueuer.resolution.nativeEnqueuer
- .handleMethodAnnotations(element);
+ _nativeResolutionEnqueuer.handleMethodAnnotations(element);
if (nativeData.isNativeMember(element)) {
native.NativeBehavior behavior =
native.NativeBehavior.ofMethodElement(element, compiler);
@@ -751,8 +759,7 @@ class JavaScriptBackend {
registry.registerNativeData(behavior);
}
} else if (element.isField) {
- compiler.enqueuer.resolution.nativeEnqueuer
- .handleFieldAnnotations(element);
+ _nativeResolutionEnqueuer.handleFieldAnnotations(element);
if (nativeData.isNativeMember(element)) {
native.NativeBehavior fieldLoadBehavior =
native.NativeBehavior.ofFieldElementLoad(element, compiler);
@@ -926,14 +933,13 @@ class JavaScriptBackend {
/// Called when resolving a call to a foreign function.
native.NativeBehavior resolveForeignCall(Send node, Element element,
CallStructure callStructure, ForeignResolver resolver) {
- native.NativeResolutionEnqueuer nativeEnqueuer =
- compiler.enqueuer.resolution.nativeEnqueuer;
if (element.name == BackendHelpers.JS) {
- return nativeEnqueuer.resolveJsCall(node, resolver);
+ return _nativeResolutionEnqueuer.resolveJsCall(node, resolver);
} else if (element.name == BackendHelpers.JS_EMBEDDED_GLOBAL) {
- return nativeEnqueuer.resolveJsEmbeddedGlobalCall(node, resolver);
+ return _nativeResolutionEnqueuer.resolveJsEmbeddedGlobalCall(
+ node, resolver);
} else if (element.name == BackendHelpers.JS_BUILTIN) {
- return nativeEnqueuer.resolveJsBuiltinCall(node, resolver);
+ return _nativeResolutionEnqueuer.resolveJsBuiltinCall(node, resolver);
} else if (element.name == BackendHelpers.JS_INTERCEPTOR_CONSTANT) {
// The type constant that is an argument to JS_INTERCEPTOR_CONSTANT names
// a class that will be instantiated outside the program by attaching a
@@ -1040,13 +1046,10 @@ class JavaScriptBackend {
return worldImpact;
}
- native.NativeEnqueuer nativeResolutionEnqueuer() {
- return new native.NativeResolutionEnqueuer(compiler);
- }
+ native.NativeEnqueuer get nativeResolutionEnqueuer =>
+ _nativeResolutionEnqueuer;
- native.NativeEnqueuer nativeCodegenEnqueuer() {
- return new native.NativeCodegenEnqueuer(compiler, emitter);
- }
+ native.NativeEnqueuer get nativeCodegenEnqueuer => _nativeCodegenEnqueuer;
ClassElement defaultSuperclass(ClassElement element) {
if (nativeData.isJsInterop(element)) {
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/codegen_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698