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 a227bd51df6d15c8b2aa0f8ff88c3c8d69775734..372938b3812d3c15e5cf62f45cf6f392e2a24135 100644 |
--- a/pkg/compiler/lib/src/js_backend/backend.dart |
+++ b/pkg/compiler/lib/src/js_backend/backend.dart |
@@ -75,7 +75,7 @@ import 'impact_transformer.dart'; |
import 'interceptor_data.dart'; |
import 'js_interop_analysis.dart' show JsInteropAnalysis; |
import 'lookup_map_analysis.dart' |
- show LookupMapLibraryAccess, LookupMapAnalysis; |
+ show LookupMapResolutionAnalysis, LookupMapAnalysis; |
import 'mirrors_analysis.dart'; |
import 'mirrors_data.dart'; |
import 'namer.dart'; |
@@ -380,10 +380,10 @@ class JavaScriptBackend { |
bool htmlLibraryIsLoaded = false; |
/// Resolution analysis for tracking reflective access to type variables. |
- TypeVariableAnalysis typeVariableAnalysis; |
+ TypeVariableResolutionAnalysis typeVariableResolutionAnalysis; |
/// Codegen handler for reflective access to type variables. |
- TypeVariableHandler typeVariableHandler; |
+ TypeVariableCodegenAnalysis typeVariableCodegenAnalysis; |
/// Resolution support for generating table of interceptors and |
/// constructors for custom elements. |
@@ -394,7 +394,7 @@ class JavaScriptBackend { |
CustomElementsCodegenAnalysis customElementsCodegenAnalysis; |
/// Resolution support for tree-shaking entries of `LookupMap`. |
- LookupMapLibraryAccess lookupMapLibraryAccess; |
+ LookupMapResolutionAnalysis lookupMapResolutionAnalysis; |
/// Codegen support for tree-shaking entries of `LookupMap`. |
LookupMapAnalysis _lookupMapAnalysis; |
@@ -429,10 +429,10 @@ class JavaScriptBackend { |
JavaScriptBackendSerialization serialization; |
NativeDataImpl _nativeData; |
- final NativeClassDataImpl _nativeClassData = new NativeClassDataImpl(); |
- NativeClassData get nativeClassData => _nativeClassData; |
+ final NativeBasicDataImpl _nativeBaseData = new NativeBasicDataImpl(); |
+ NativeBasicData get nativeBaseData => _nativeBaseData; |
NativeData get nativeData => _nativeData; |
- NativeClassDataBuilder get nativeClassDataBuilder => _nativeClassData; |
+ NativeBasicDataBuilder get nativeBaseDataBuilder => _nativeBaseData; |
NativeDataBuilder get nativeDataBuilder => _nativeData; |
final NativeDataResolver _nativeDataResolver; |
InterceptorDataBuilder _interceptorDataBuilder; |
@@ -498,12 +498,12 @@ class JavaScriptBackend { |
frontend = new JSFrontendAccess(compiler), |
constantCompilerTask = new JavaScriptConstantTask(compiler), |
_nativeDataResolver = new NativeDataResolverImpl(compiler) { |
- _nativeData = new NativeDataImpl(nativeClassData); |
+ _nativeData = new NativeDataImpl(nativeBaseData); |
_target = new JavaScriptBackendTarget(this); |
helpers = new BackendHelpers(compiler.elementEnvironment, commonElements); |
impacts = new BackendImpacts(compiler.options, commonElements, helpers); |
backendClasses = new JavaScriptBackendClasses( |
- compiler.elementEnvironment, helpers, nativeClassData); |
+ compiler.elementEnvironment, helpers, nativeBaseData); |
mirrorsData = new MirrorsData( |
compiler, compiler.options, commonElements, helpers, constants); |
_backendUsageBuilder = new BackendUsageBuilderImpl( |
@@ -515,16 +515,17 @@ class JavaScriptBackend { |
_nativeCodegenEnqueuer = new native.NativeCodegenEnqueuer( |
compiler, emitter, _nativeResolutionEnqueuer); |
- typeVariableAnalysis = new TypeVariableAnalysis( |
+ typeVariableResolutionAnalysis = new TypeVariableResolutionAnalysis( |
compiler.elementEnvironment, impacts, backendUsageBuilder); |
- typeVariableHandler = new TypeVariableHandler(this, helpers, mirrorsData); |
+ typeVariableCodegenAnalysis = |
+ new TypeVariableCodegenAnalysis(this, helpers, mirrorsData); |
customElementsResolutionAnalysis = new CustomElementsResolutionAnalysis( |
compiler.resolution, |
constantSystem, |
commonElements, |
backendClasses, |
helpers, |
- nativeClassData, |
+ nativeBaseData, |
backendUsageBuilder); |
customElementsCodegenAnalysis = new CustomElementsCodegenAnalysis( |
compiler.resolution, |
@@ -532,11 +533,11 @@ class JavaScriptBackend { |
commonElements, |
backendClasses, |
helpers, |
- nativeClassData); |
+ nativeBaseData); |
jsInteropAnalysis = new JsInteropAnalysis(this); |
mirrorsAnalysis = new MirrorsAnalysis(this, compiler.resolution); |
- lookupMapLibraryAccess = |
- new LookupMapLibraryAccess(reporter, compiler.elementEnvironment); |
+ lookupMapResolutionAnalysis = |
+ new LookupMapResolutionAnalysis(reporter, compiler.elementEnvironment); |
noSuchMethodRegistry = new NoSuchMethodRegistry(this); |
kernelTask = new KernelTask(compiler); |
@@ -546,7 +547,7 @@ class JavaScriptBackend { |
compiler.elementEnvironment, |
commonElements, |
impacts, |
- nativeClassData, |
+ nativeBaseData, |
nativeResolutionEnqueuer, |
backendUsageBuilder, |
mirrorsData, |
@@ -556,9 +557,9 @@ class JavaScriptBackend { |
functionCompiler = |
new SsaFunctionCompiler(this, sourceInformationStrategy, useKernel); |
serialization = |
- new JavaScriptBackendSerialization(nativeClassData, nativeData); |
+ new JavaScriptBackendSerialization(nativeBaseData, nativeData); |
_interceptorDataBuilder = new InterceptorDataBuilderImpl( |
- nativeClassData, helpers, commonElements, compiler.resolution); |
+ nativeBaseData, helpers, commonElements, compiler.resolution); |
} |
/// The [ConstantSystem] used to interpret compile-time constants for this |
@@ -870,16 +871,16 @@ class JavaScriptBackend { |
helpers, |
impacts, |
backendClasses, |
- nativeClassData, |
+ nativeBaseData, |
_interceptorDataBuilder, |
_backendUsageBuilder, |
_rtiNeedBuilder, |
mirrorsData, |
noSuchMethodRegistry, |
customElementsResolutionAnalysis, |
- lookupMapLibraryAccess, |
+ lookupMapResolutionAnalysis, |
mirrorsAnalysis, |
- typeVariableAnalysis, |
+ typeVariableResolutionAnalysis, |
_nativeResolutionEnqueuer), |
new ElementResolutionWorldBuilder( |
this, compiler.resolution, const OpenWorldStrategy()), |
@@ -897,16 +898,15 @@ class JavaScriptBackend { |
commonElements, |
helpers, |
backendClasses, |
- lookupMapLibraryAccess); |
+ lookupMapResolutionAnalysis); |
return new CodegenEnqueuer( |
task, |
compiler.options, |
const TreeShakingEnqueuerStrategy(), |
new CodegenWorldBuilderImpl( |
- nativeClassData, closedWorld, constants, const TypeMaskStrategy()), |
+ nativeBaseData, closedWorld, constants, const TypeMaskStrategy()), |
new CodegenWorkItemBuilder(this, compiler.options), |
new CodegenEnqueuerListener( |
- compiler.dumpInfoTask, |
compiler.elementEnvironment, |
commonElements, |
helpers, |
@@ -916,7 +916,7 @@ class JavaScriptBackend { |
rtiNeed, |
mirrorsData, |
customElementsCodegenAnalysis, |
- typeVariableHandler, |
+ typeVariableCodegenAnalysis, |
lookupMapAnalysis, |
mirrorsAnalysis, |
_nativeCodegenEnqueuer)); |
@@ -998,11 +998,11 @@ class JavaScriptBackend { |
native.NativeEnqueuer get nativeCodegenEnqueuer => _nativeCodegenEnqueuer; |
ClassElement defaultSuperclass(ClassElement element) { |
- if (nativeClassData.isJsInteropClass(element)) { |
+ if (nativeBaseData.isJsInteropClass(element)) { |
return helpers.jsJavaScriptObjectClass; |
} |
// Native classes inherit from Interceptor. |
- return nativeClassData.isNativeClass(element) |
+ return nativeBaseData.isNativeClass(element) |
? helpers.jsInterceptorClass |
: commonElements.objectClass; |
} |
@@ -1084,11 +1084,11 @@ class JavaScriptBackend { |
if (canLibraryUseNative(library)) { |
library.forEachLocalMember((Element element) { |
if (element.isClass) { |
- checkNativeAnnotation(compiler, element, nativeClassDataBuilder); |
+ checkNativeAnnotation(compiler, element, nativeBaseDataBuilder); |
} |
}); |
} |
- checkJsInteropClassAnnotations(compiler, library, nativeClassDataBuilder); |
+ checkJsInteropClassAnnotations(compiler, library, nativeBaseDataBuilder); |
} |
if (library.isPlatformLibrary && |
// Don't patch library currently disallowed. |
@@ -1105,8 +1105,8 @@ class JavaScriptBackend { |
Uri uri = library.canonicalUri; |
if (uri == Uris.dart_html) { |
htmlLibraryIsLoaded = true; |
- } else if (uri == LookupMapLibraryAccess.PACKAGE_LOOKUP_MAP) { |
- lookupMapLibraryAccess.init(library); |
+ } else if (uri == LookupMapResolutionAnalysis.PACKAGE_LOOKUP_MAP) { |
+ lookupMapResolutionAnalysis.init(library); |
} |
annotations.onLibraryScanned(library); |
return new Future.value(); |
@@ -1480,7 +1480,7 @@ class JavaScriptImpactStrategy extends ImpactStrategy { |
class JavaScriptBackendClasses implements BackendClasses { |
final ElementEnvironment _env; |
final BackendHelpers helpers; |
- final NativeClassData _nativeData; |
+ final NativeBasicData _nativeData; |
JavaScriptBackendClasses(this._env, this.helpers, this._nativeData); |
@@ -1587,7 +1587,7 @@ class JavaScriptBackendTarget extends Target { |
@override |
bool isNativeClass(ClassEntity element) => |
- _backend.nativeClassData.isNativeClass(element); |
+ _backend.nativeBaseData.isNativeClass(element); |
@override |
bool isForeign(Element element) => _backend.isForeign(element); |