Index: pkg/fletchc/lib/src/fletch_registry.dart |
diff --git a/pkg/fletchc/lib/src/fletch_registry.dart b/pkg/fletchc/lib/src/fletch_registry.dart |
index 3ce89ba2b4290bdd3a9bd161e980aa531402817b..fc9ecd7e0188a36dbe209ddc9a962da20b289ac9 100644 |
--- a/pkg/fletchc/lib/src/fletch_registry.dart |
+++ b/pkg/fletchc/lib/src/fletch_registry.dart |
@@ -4,16 +4,21 @@ |
library fletchc.fletch_codegen_registry; |
-import 'package:compiler/src/dart2jslib.dart' show |
- CodegenRegistry, |
+import 'package:compiler/src/compiler.dart' show |
+ GlobalDependencyRegistry; |
+ |
+import 'package:compiler/src/common/codegen.dart' show |
+ CodegenRegistry; |
+ |
+import 'package:compiler/src/common/registry.dart' show |
Registry; |
-import 'package:compiler/src/constants/values.dart' show |
- ConstantValue; |
+import 'package:compiler/src/universe/selector.dart' show |
+ Selector; |
-import 'package:compiler/src/universe/universe.dart' show |
- Selector, |
- UniverseSelector; |
+import 'package:compiler/src/universe/use.dart' show |
+ DynamicUse, |
+ StaticUse; |
ahe
2015/12/01 10:12:13
Shouldn't be imported here.
sigurdm
2015/12/03 14:48:10
Done.
|
import 'package:compiler/src/elements/elements.dart' show |
ClassElement, |
@@ -21,19 +26,10 @@ import 'package:compiler/src/elements/elements.dart' show |
FunctionElement, |
LocalElement; |
-import 'package:compiler/src/resolution/resolution.dart' show |
- TreeElements; |
- |
import 'package:compiler/src/dart_types.dart' show |
DartType, |
InterfaceType; |
-import 'package:compiler/src/util/util.dart' show |
- Setlet; |
- |
-import 'fletch_backend.dart' show |
- FletchBackend; |
- |
import 'fletch_compiler_implementation.dart' show |
FletchCompilerImplementation; |
@@ -77,42 +73,27 @@ enum ClosureKind { |
superTearOff, |
} |
-get _notImplemented => throw "not implemented"; |
- |
-abstract class FletchRegistry { |
+class FletchRegistry { |
final FletchEnqueuer world; |
- factory FletchRegistry( |
- FletchCompilerImplementation compiler, |
- TreeElements treeElements) = FletchRegistryImplementation; |
- |
- FletchRegistry.internal(this.world); |
- |
- Registry get asRegistry; |
+ FletchRegistry(FletchCompilerImplementation compiler) |
+ : world = compiler.enqueuer.codegen; |
- void registerStaticInvocation(Element element) { |
+ void registerStaticUse(StaticUse staticUse) { |
ahe
2015/12/01 10:12:13
Also think this is the wrong API.
sigurdm
2015/12/03 14:48:10
Done.
|
// TODO(ahe): Call a different method. |
- world.registerStaticUse(element); |
+ world.registerStaticUse(staticUse); |
} |
void registerInstantiatedClass(ClassElement element) { |
- world.registerInstantiatedType(element.rawType, this.asRegistry); |
- } |
- |
- void registerDynamicSetter(UniverseSelector selector) { |
- world.registerDynamicSetter(selector); |
+ world.registerInstantiatedType(element.rawType); |
} |
- void registerDynamicGetter(UniverseSelector selector) { |
- world.registerDynamicGetter(selector); |
- } |
- |
- void registerDynamicInvocation(UniverseSelector selector) { |
- world.registerDynamicInvocation(selector); |
+ void registerDynamicUse(Selector selector) { |
+ world.registerDynamicUse(new DynamicUse(selector, null)); |
ahe
2015/12/01 10:12:13
Shouldn't instantiate DynamicUse.
sigurdm
2015/12/03 14:48:10
Done.
|
} |
void registerInstantiatedType(InterfaceType type) { |
- world.registerInstantiatedType(type, this.asRegistry); |
+ world.registerInstantiatedType(type); |
} |
void registerIsCheck(DartType type) { |
@@ -143,23 +124,3 @@ abstract class FletchRegistry { |
world.dynamicCallEnqueuer.enqueueClosure(function, kind); |
} |
} |
- |
-@proxy |
-class FletchRegistryImplementation extends FletchRegistry |
- implements CodegenRegistry { |
- final TreeElements treeElements; |
- |
- FletchRegistryImplementation( |
- FletchCompilerImplementation compiler, |
- this.treeElements) |
- : super.internal(compiler.enqueuer.codegen); |
- |
- Registry get asRegistry => this; |
- |
- noSuchMethod(invocation) => super.noSuchMethod(invocation); |
- |
- // TODO(ahe): Remove this method, called by [Enqueuer], not [FletchEnqueuer]. |
- void registerDependency(Element element) { |
- treeElements.registerDependency(element); |
- } |
-} |