Chromium Code Reviews| 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); |
| - } |
| -} |