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

Unified Diff: pkg/compiler/lib/src/common/registry.dart

Issue 1421463005: Move codegen registration to transformImpact method. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 5 years, 2 months 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
« no previous file with comments | « pkg/compiler/lib/src/common/codegen.dart ('k') | pkg/compiler/lib/src/common/resolution.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/common/registry.dart
diff --git a/pkg/compiler/lib/src/common/registry.dart b/pkg/compiler/lib/src/common/registry.dart
index 055a7c696932fe7b040b69b8aa8948945c90238f..a37fb872c8549f87ec744f7b19b1b6b09762cd08 100644
--- a/pkg/compiler/lib/src/common/registry.dart
+++ b/pkg/compiler/lib/src/common/registry.dart
@@ -5,12 +5,14 @@
library dart2js.common.registry;
import '../dart_types.dart' show
- InterfaceType;
+ InterfaceType;
+import '../enqueue.dart' show
+ Enqueuer;
import '../elements/elements.dart' show
- Element,
- FunctionElement;
+ Element,
+ FunctionElement;
import '../universe/universe.dart' show
- UniverseSelector;
+ UniverseSelector;
/// Interface for registration of element dependencies.
abstract class Registry {
@@ -31,3 +33,45 @@ abstract class Registry {
void registerGetOfStaticFunction(FunctionElement element);
}
+
+// TODO(johnniwinther): Remove this.
+class EagerRegistry extends Registry {
+ final String name;
+ final Enqueuer world;
+
+ EagerRegistry(this.name, this.world);
+
+ bool get isForResolution => world.isResolutionQueue;
+
+ @override
+ void registerDynamicGetter(UniverseSelector selector) {
+ world.registerDynamicGetter(selector);
+ }
+
+ @override
+ void registerDynamicInvocation(UniverseSelector selector) {
+ world.registerDynamicInvocation(selector);
+ }
+
+ @override
+ void registerDynamicSetter(UniverseSelector selector) {
+ world.registerDynamicSetter(selector);
+ }
+
+ @override
+ void registerGetOfStaticFunction(FunctionElement element) {
+ world.registerGetOfStaticFunction(element);
+ }
+
+ @override
+ void registerInstantiation(InterfaceType type) {
+ world.registerInstantiatedType(type);
+ }
+
+ @override
+ void registerStaticInvocation(Element element) {
+ world.registerStaticUse(element);
+ }
+
+ String toString() => name;
+}
« no previous file with comments | « pkg/compiler/lib/src/common/codegen.dart ('k') | pkg/compiler/lib/src/common/resolution.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698