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

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: 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..2acf96f4c48d0ee772d3bb43a1240ca1419226c5 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;
@@ -60,6 +69,18 @@ import 'fletch_registry.dart' show
FletchRegistry,
FletchRegistryImplementation;
+import 'dart:developer';
+import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
+
+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';
/// True if enqueuing of system libraries should be reported in verbose mode.
@@ -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) {
+ _enqueueElement(staticUse.element, null, null);
}
// TODO(ahe): Remove this method.
@@ -186,7 +208,8 @@ class FletchEnqueuer extends EnqueuerMixin
AstElement element = usage.element;
TreeElements treeElements = element.resolvedAst.elements;
FletchRegistry registry =
- new FletchRegistryImplementation(compiler, treeElements);
+ new FletchRegistryImplementation(compiler,
+ compiler.globalDependencies);
ahe 2015/11/17 16:44:09 I don't understand this change.
sigurdm 2015/11/19 14:33:47 FletchRegistry constructor no longer takes a depen
Selector selector = usage.selector;
if (usage.closureKind != null) {
compiler.context.backend.compileClosurizationUsage(
@@ -220,22 +243,14 @@ class FletchEnqueuer extends EnqueuerMixin
// TODO(ahe): Implement this.
}
- void registerDynamicInvocation(UniverseSelector selector) {
- dynamicCallEnqueuer.enqueueSelector(selector);
+ void registerDynamicUse(DynamicUse use) {
+ 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