| Index: pkg/compiler/lib/src/enqueue.dart
|
| diff --git a/pkg/compiler/lib/src/enqueue.dart b/pkg/compiler/lib/src/enqueue.dart
|
| index 2176fd3c50f7612eddfa333c5029dd5a39f25fa5..de2b4d3471bea83973eee24c0a43ee21b52bdffe 100644
|
| --- a/pkg/compiler/lib/src/enqueue.dart
|
| +++ b/pkg/compiler/lib/src/enqueue.dart
|
| @@ -14,7 +14,6 @@ import 'common/tasks.dart' show CompilerTask;
|
| import 'common/work.dart' show WorkItem;
|
| import 'common.dart';
|
| import 'compiler.dart' show Compiler, GlobalDependencyRegistry;
|
| -import 'core_types.dart' show CommonElements;
|
| import 'options.dart';
|
| import 'dart_types.dart' show DartType, InterfaceType;
|
| import 'elements/elements.dart'
|
| @@ -25,8 +24,6 @@ import 'elements/elements.dart'
|
| ConstructorElement,
|
| Element,
|
| Entity,
|
| - LibraryElement,
|
| - LocalFunctionElement,
|
| MemberElement;
|
| import 'elements/entities.dart';
|
| import 'native/native.dart' as native;
|
| @@ -59,7 +56,6 @@ class EnqueueTask extends CompilerTask {
|
| : const TreeShakingEnqueuerStrategy(),
|
| compiler.globalDependencies,
|
| compiler.backend,
|
| - compiler.coreClasses,
|
| compiler.cacheStrategy);
|
| _codegen = compiler.backend.createCodegenEnqueuer(this, compiler);
|
| }
|
| @@ -136,7 +132,6 @@ class ResolutionEnqueuer extends EnqueuerImpl {
|
| final CompilerOptions _options;
|
| final Backend backend;
|
| final GlobalDependencyRegistry _globalDependencies;
|
| - final CommonElements _commonElements;
|
| final native.NativeEnqueuer nativeEnqueuer;
|
|
|
| final EnqueuerStrategy strategy;
|
| @@ -148,7 +143,7 @@ class ResolutionEnqueuer extends EnqueuerImpl {
|
| WorldImpactVisitor _impactVisitor;
|
|
|
| /// All declaration elements that have been processed by the resolver.
|
| - final Set<AstElement> _processedElements = new Set<AstElement>();
|
| + final Set<Entity> _processedElements = new Set<Entity>();
|
|
|
| final Queue<WorkItem> _queue = new Queue<WorkItem>();
|
|
|
| @@ -163,7 +158,6 @@ class ResolutionEnqueuer extends EnqueuerImpl {
|
| this.strategy,
|
| this._globalDependencies,
|
| Backend backend,
|
| - this._commonElements,
|
| CacheStrategy cacheStrategy,
|
| [this.name = 'resolution enqueuer'])
|
| : this.backend = backend,
|
| @@ -421,47 +415,12 @@ class ResolutionEnqueuer extends EnqueuerImpl {
|
|
|
| ResolutionWorkItem workItem = _resolution.createWorkItem(element);
|
| _queue.add(workItem);
|
| -
|
| - // Enable isolate support if we start using something from the isolate
|
| - // library, or timers for the async library. We exclude constant fields,
|
| - // which are ending here because their initializing expression is compiled.
|
| - LibraryElement library = element.library;
|
| - if (!universe.hasIsolateSupport && (!element.isField || !element.isConst)) {
|
| - String uri = library.canonicalUri.toString();
|
| - if (uri == 'dart:isolate') {
|
| - _enableIsolateSupport();
|
| - } else if (uri == 'dart:async') {
|
| - if (element.name == '_createTimer' ||
|
| - element.name == '_createPeriodicTimer') {
|
| - // The [:Timer:] class uses the event queue of the isolate
|
| - // library, so we make sure that event queue is generated.
|
| - _enableIsolateSupport();
|
| - }
|
| - }
|
| - }
|
| -
|
| - if (element.isGetter && element.name == Identifiers.runtimeType_) {
|
| - // Enable runtime type support if we discover a getter called runtimeType.
|
| - // We have to enable runtime type before hitting the codegen, so
|
| - // that constructors know whether they need to generate code for
|
| - // runtime type.
|
| - _universe.hasRuntimeTypeSupport = true;
|
| - // TODO(ahe): Record precise dependency here.
|
| - applyImpact(backend.registerRuntimeType());
|
| - } else if (_commonElements.isFunctionApplyMethod(element)) {
|
| - _universe.hasFunctionApplySupport = true;
|
| - }
|
| }
|
|
|
| void _registerNoSuchMethod(Element element) {
|
| backend.registerNoSuchMethod(element);
|
| }
|
|
|
| - void _enableIsolateSupport() {
|
| - _universe.hasIsolateSupport = true;
|
| - applyImpact(backend.enableIsolateSupport(forResolution: true));
|
| - }
|
| -
|
| /// Adds an action to the deferred task queue.
|
| /// The action is performed the next time the resolution queue has been
|
| /// emptied.
|
|
|