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

Unified Diff: pkg/fletchc/lib/src/fletch_enqueuer.dart

Issue 1450393002: Roll sdk dependency to 34357cdad108dcba734949bd13bd28c76ea285e0 (Closed) Base URL: git@github.com:dart-lang/fletch.git@master
Patch Set: Update status files Created 5 years, 1 month 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/fletchc/lib/src/fletch_enqueuer.dart
diff --git a/pkg/fletchc/lib/src/fletch_enqueuer.dart b/pkg/fletchc/lib/src/fletch_enqueuer.dart
index fc89d20d38c31488806df5a4269794e5a0e80914..76e65fcaaeba6614ef63add6d3b226b5d0db16e8 100644
--- a/pkg/fletchc/lib/src/fletch_enqueuer.dart
+++ b/pkg/fletchc/lib/src/fletch_enqueuer.dart
@@ -7,23 +7,33 @@ library fletchc.fletch_enqueuer;
import 'dart:collection' show
Queue;
-import 'package:compiler/src/dart2jslib.dart' show
+import 'package:compiler/src/common/tasks.dart' show
+ CompilerTask;
+
+import 'package:compiler/src/universe/world_impact.dart' show
+ WorldImpact;
+
+import 'package:compiler/src/types/types.dart' show
+ TypeMaskStrategy;
+
+import 'package:compiler/src/enqueue.dart' show
+ ResolutionEnqueuer,
CodegenEnqueuer,
- Compiler,
- CompilerTask,
- EnqueueTask,
- ItemCompilationContextCreator,
+ TreeShakingEnqueuerStrategy;
+
+import 'package:compiler/src/compiler.dart' show
+ Compiler;
+
+import 'package:compiler/src/enqueue.dart' show
QueueFilter,
- Registry,
- ResolutionEnqueuer,
- WorkItem,
- WorldImpact;
+ EnqueueTask,
+ Enqueuer;
+
+import 'package:compiler/src/universe/selector.dart' show
+ Selector;
import 'package:compiler/src/universe/universe.dart' show
- CallStructure,
- Selector,
- Universe,
- UniverseSelector;
+ Universe;
import 'package:compiler/src/dart_types.dart' show
DartType,
@@ -40,12 +50,11 @@ import 'package:compiler/src/elements/elements.dart' show
Name,
TypedElement;
-import 'package:compiler/src/resolution/resolution.dart' show
+import 'package:compiler/src/resolution/tree_elements.dart' show
TreeElements;
import 'package:compiler/src/util/util.dart' show
- Hashing,
- SpannableAssertionFailure;
+ Hashing;
import 'fletch_compiler_implementation.dart' show
FletchCompilerImplementation;
@@ -58,7 +67,19 @@ import 'dynamic_call_enqueuer.dart' show
import 'fletch_registry.dart' show
ClosureKind,
FletchRegistry,
- FletchRegistryImplementation;
+ FletchRegistry;
+
+import 'dart:developer';
ahe 2015/12/01 10:12:13 What is this used for?
sigurdm 2015/12/03 14:48:10 That was stary debugging code - removed
+import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
ahe 2015/12/01 10:12:13 Please use show, here and on all imports below.
sigurdm 2015/12/03 14:48:10 Done.
+
+import 'package:compiler/src/universe/use.dart' show
+ DynamicUse,
+ StaticUse;
+
+import 'package:compiler/src/universe/use.dart';
+import 'package:compiler/src/common/work.dart';
+import 'package:compiler/src/common/resolution.dart';
+import 'package:compiler/src/enqueue.dart';
part 'enqueuer_mixin.dart';
@@ -81,7 +102,9 @@ class FletchEnqueueTask extends CompilerTask implements EnqueueTask {
FletchEnqueueTask(FletchCompilerImplementation compiler)
: resolution = new ResolutionEnqueuer(
- compiler, compiler.backend.createItemCompilationContext),
+ compiler, compiler.backend.createItemCompilationContext,
+ compiler.analyzeOnly && compiler.analyzeMain
+ ? const EnqueuerStrategy() : const TreeShakingEnqueuerStrategy()),
codegen = new FletchEnqueuer(
compiler, compiler.backend.createItemCompilationContext),
super(compiler) {
@@ -118,7 +141,7 @@ class FletchEnqueuer extends EnqueuerMixin
// TODO(ahe): Get rid of this?
var nativeEnqueuer;
- final Universe universe = new Universe();
+ final Universe universe = new Universe(const TypeMaskStrategy());
final Set<ElementUsage> _enqueuedUsages = new Set<ElementUsage>();
final Map<Element, List<ElementUsage>> _enqueuedUsagesByElement =
@@ -157,14 +180,13 @@ class FletchEnqueuer extends EnqueuerMixin
void registerInstantiatedType(
InterfaceType type,
- Registry registry,
{bool mirrorUsage: false}) {
dynamicCallEnqueuer.registerInstantiatedType(type);
}
// TODO(ahe): Remove this method.
- void registerStaticUse(Element element) {
- _enqueueElement(element, null, null);
+ void registerStaticUse(StaticUse staticUse) {
ahe 2015/12/01 10:12:13 Since I don't think we should be instantiating obj
sigurdm 2015/12/03 14:48:10 Done.
+ _enqueueElement(staticUse.element, null, null);
}
// TODO(ahe): Remove this method.
@@ -185,8 +207,7 @@ class FletchEnqueuer extends EnqueuerMixin
ElementUsage usage = _pendingEnqueuedUsages.removeFirst();
AstElement element = usage.element;
TreeElements treeElements = element.resolvedAst.elements;
- FletchRegistry registry =
- new FletchRegistryImplementation(compiler, treeElements);
+ FletchRegistry registry = new FletchRegistry(compiler);
Selector selector = usage.selector;
if (usage.closureKind != null) {
compiler.context.backend.compileClosurizationUsage(
@@ -220,22 +241,14 @@ class FletchEnqueuer extends EnqueuerMixin
// TODO(ahe): Implement this.
}
- void registerDynamicInvocation(UniverseSelector selector) {
- dynamicCallEnqueuer.enqueueSelector(selector);
+ void registerDynamicUse(DynamicUse use) {
ahe 2015/12/01 10:12:13 Ditto.
sigurdm 2015/12/03 14:48:10 Done.
+ dynamicCallEnqueuer.enqueueSelector(use);
}
void applyImpact(Element element, WorldImpact worldImpact) {
assert(worldImpact == null);
}
- void registerDynamicGetter(UniverseSelector selector) {
- dynamicCallEnqueuer.enqueueSelector(selector);
- }
-
- void registerDynamicSetter(UniverseSelector selector) {
- dynamicCallEnqueuer.enqueueSelector(selector);
- }
-
void registerIsCheck(DartType type) {
dynamicCallEnqueuer.enqueueTypeTest(type);
}

Powered by Google App Engine
This is Rietveld 408576698