| 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;
|
|
|
| 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) {
|
| // 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));
|
| }
|
|
|
| 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);
|
| - }
|
| -}
|
|
|