| 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 ab5cf1933bc7d71f22a011b19d3eafcce802cd62..a5b50a6e2a71c1a21d85fe80605e9062e49590ee 100644
|
| --- a/pkg/compiler/lib/src/js_backend/backend.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/backend.dart
|
| @@ -8,7 +8,7 @@ import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
|
|
|
| import '../common.dart';
|
| import '../common/backend_api.dart'
|
| - show BackendClasses, ForeignResolver, NativeRegistry, ImpactTransformer;
|
| + show ForeignResolver, NativeRegistry, ImpactTransformer;
|
| import '../common/codegen.dart' show CodegenImpact, CodegenWorkItem;
|
| import '../common/names.dart' show Uris;
|
| import '../common/resolution.dart'
|
| @@ -18,7 +18,7 @@ import '../compiler.dart' show Compiler;
|
| import '../constants/constant_system.dart';
|
| import '../constants/expressions.dart';
|
| import '../constants/values.dart';
|
| -import '../common_elements.dart' show CommonElements, ElementEnvironment;
|
| +import '../common_elements.dart' show CommonElements;
|
| import '../deferred_load.dart' show DeferredLoadTask;
|
| import '../dump_info.dart' show DumpInfoTask;
|
| import '../elements/elements.dart';
|
| @@ -450,9 +450,6 @@ class JavaScriptBackend {
|
|
|
| BackendImpacts impacts;
|
|
|
| - /// Common classes used by the backend.
|
| - BackendClasses _backendClasses;
|
| -
|
| /// Backend access to the front-end.
|
| final JSFrontendAccess frontend;
|
|
|
| @@ -555,13 +552,6 @@ class JavaScriptBackend {
|
| return _customElementsCodegenAnalysis;
|
| }
|
|
|
| - /// Common classes used by the backend.
|
| - BackendClasses get backendClasses {
|
| - assert(invariant(NO_LOCATION_SPANNABLE, _backendClasses != null,
|
| - message: "BackendClasses has not been created yet."));
|
| - return _backendClasses;
|
| - }
|
| -
|
| NativeBasicData get nativeBasicData {
|
| assert(invariant(NO_LOCATION_SPANNABLE, _nativeBasicData != null,
|
| message: "NativeBasicData has not been computed yet."));
|
| @@ -844,13 +834,10 @@ class JavaScriptBackend {
|
| CompilerTask task, Compiler compiler) {
|
| _nativeBasicData =
|
| nativeBasicDataBuilder.close(compiler.elementEnvironment);
|
| - _backendClasses = new JavaScriptBackendClasses(
|
| - compiler.elementEnvironment, commonElements, nativeBasicData);
|
| _nativeResolutionEnqueuer = new native.NativeResolutionEnqueuer(
|
| compiler.options,
|
| compiler.elementEnvironment,
|
| commonElements,
|
| - backendClasses,
|
| backendUsageBuilder,
|
| new NativeClassResolverImpl(
|
| compiler.resolution, reporter, commonElements, nativeBasicData));
|
| @@ -859,7 +846,6 @@ class JavaScriptBackend {
|
| compiler.resolution,
|
| constantSystem,
|
| commonElements,
|
| - backendClasses,
|
| nativeBasicData,
|
| backendUsageBuilder);
|
| impactTransformer = new JavaScriptImpactTransformer(
|
| @@ -887,7 +873,6 @@ class JavaScriptBackend {
|
| compiler.elementEnvironment,
|
| commonElements,
|
| impacts,
|
| - backendClasses,
|
| nativeBasicData,
|
| interceptorDataBuilder,
|
| backendUsageBuilder,
|
| @@ -917,20 +902,14 @@ class JavaScriptBackend {
|
| constants,
|
| compiler.elementEnvironment,
|
| commonElements,
|
| - backendClasses,
|
| lookupMapResolutionAnalysis);
|
| _mirrorsCodegenAnalysis = mirrorsResolutionAnalysis.close();
|
| _customElementsCodegenAnalysis = new CustomElementsCodegenAnalysis(
|
| - compiler.resolution,
|
| - constantSystem,
|
| - commonElements,
|
| - backendClasses,
|
| - nativeBasicData);
|
| + compiler.resolution, constantSystem, commonElements, nativeBasicData);
|
| _nativeCodegenEnqueuer = new native.NativeCodegenEnqueuer(
|
| compiler.options,
|
| compiler.elementEnvironment,
|
| commonElements,
|
| - backendClasses,
|
| emitter,
|
| _nativeResolutionEnqueuer,
|
| nativeData);
|
| @@ -945,7 +924,6 @@ class JavaScriptBackend {
|
| compiler.elementEnvironment,
|
| commonElements,
|
| impacts,
|
| - backendClasses,
|
| backendUsage,
|
| rtiNeed,
|
| customElementsCodegenAnalysis,
|
| @@ -1473,81 +1451,6 @@ class JavaScriptImpactStrategy extends ImpactStrategy {
|
| }
|
| }
|
|
|
| -// TODO(efortuna): Merge with commonElements.
|
| -class JavaScriptBackendClasses implements BackendClasses {
|
| - final ElementEnvironment _env;
|
| - final CommonElements _commonElements;
|
| - final NativeBasicData _nativeData;
|
| -
|
| - JavaScriptBackendClasses(this._env, this._commonElements, this._nativeData);
|
| -
|
| - ClassEntity get intClass => _commonElements.jsIntClass;
|
| - ClassEntity get uint32Class => _commonElements.jsUInt32Class;
|
| - ClassEntity get uint31Class => _commonElements.jsUInt31Class;
|
| - ClassEntity get positiveIntClass => _commonElements.jsPositiveIntClass;
|
| - ClassEntity get doubleClass => _commonElements.jsDoubleClass;
|
| - ClassEntity get numClass => _commonElements.jsNumberClass;
|
| - ClassEntity get stringClass => _commonElements.jsStringClass;
|
| - ClassEntity get listClass => _commonElements.jsArrayClass;
|
| - ClassEntity get mutableListClass => _commonElements.jsMutableArrayClass;
|
| - ClassEntity get constListClass => _commonElements.jsUnmodifiableArrayClass;
|
| - ClassEntity get fixedListClass => _commonElements.jsFixedArrayClass;
|
| - ClassEntity get growableListClass => _commonElements.jsExtendableArrayClass;
|
| - ClassEntity get mapClass => _commonElements.mapLiteralClass;
|
| - ClassEntity get constMapClass => _commonElements.constMapLiteralClass;
|
| - ClassEntity get typeClass => _commonElements.typeLiteralClass;
|
| - InterfaceType get typeType => _env.getRawType(typeClass);
|
| -
|
| - ClassEntity get boolClass => _commonElements.jsBoolClass;
|
| - ClassEntity get nullClass => _commonElements.jsNullClass;
|
| - ClassEntity get syncStarIterableClass => _commonElements.syncStarIterable;
|
| - ClassEntity get asyncFutureClass => _commonElements.futureImplementation;
|
| - ClassEntity get asyncStarStreamClass => _commonElements.controllerStream;
|
| - ClassEntity get functionClass => _commonElements.functionClass;
|
| - ClassEntity get indexableClass => _commonElements.jsIndexableClass;
|
| - ClassEntity get mutableIndexableClass =>
|
| - _commonElements.jsMutableIndexableClass;
|
| - ClassEntity get indexingBehaviorClass =>
|
| - _commonElements.jsIndexingBehaviorInterface;
|
| - ClassEntity get interceptorClass => _commonElements.jsInterceptorClass;
|
| -
|
| - bool isDefaultEqualityImplementation(MemberEntity element) {
|
| - assert(element.name == '==');
|
| - ClassEntity classElement = element.enclosingClass;
|
| - return classElement == _commonElements.objectClass ||
|
| - classElement == _commonElements.jsInterceptorClass ||
|
| - classElement == _commonElements.jsNullClass;
|
| - }
|
| -
|
| - @override
|
| - bool isNativeClass(ClassEntity element) {
|
| - return _nativeData.isNativeClass(element);
|
| - }
|
| -
|
| - InterfaceType getConstantMapTypeFor(InterfaceType sourceType,
|
| - {bool hasProtoKey: false, bool onlyStringKeys: false}) {
|
| - ClassEntity classElement = onlyStringKeys
|
| - ? (hasProtoKey
|
| - ? _commonElements.constantProtoMapClass
|
| - : _commonElements.constantStringMapClass)
|
| - : _commonElements.generalConstantMapClass;
|
| - List<DartType> typeArgument = sourceType.typeArguments;
|
| - if (sourceType.treatAsRaw) {
|
| - return _env.getRawType(classElement);
|
| - } else {
|
| - return _env.createInterfaceType(classElement, typeArgument);
|
| - }
|
| - }
|
| -
|
| - @override
|
| - FieldEntity get symbolField => _commonElements.symbolImplementationField;
|
| -
|
| - @override
|
| - InterfaceType get symbolType {
|
| - return _env.getRawType(_commonElements.symbolImplementationClass);
|
| - }
|
| -}
|
| -
|
| class JavaScriptBackendTarget extends Target {
|
| final JavaScriptBackend _backend;
|
|
|
|
|