Index: pkg/compiler/lib/src/common/codegen.dart |
diff --git a/pkg/compiler/lib/src/common/codegen.dart b/pkg/compiler/lib/src/common/codegen.dart |
index 88d92dc70100e7509799aeef44a594c9f1081de1..f702c2ee05f61ef471f42a0419e447643ff623db 100644 |
--- a/pkg/compiler/lib/src/common/codegen.dart |
+++ b/pkg/compiler/lib/src/common/codegen.dart |
@@ -20,14 +20,12 @@ import '../elements/elements.dart' show |
LocalFunctionElement; |
import '../enqueue.dart' show |
CodegenEnqueuer; |
-import '../js_backend/js_backend.dart' show |
- JavaScriptBackend; |
import '../resolution/tree_elements.dart' show |
TreeElements; |
-import '../universe/selector.dart' show |
- Selector; |
import '../universe/universe.dart' show |
UniverseSelector; |
+import '../universe/use.dart' show |
+ StaticUse; |
import '../universe/world_impact.dart' show |
WorldImpact, |
WorldImpactBuilder; |
@@ -47,12 +45,6 @@ class CodegenImpact extends WorldImpact { |
// TODO(johnniwinther): Remove this. |
Registry get registry => null; |
- Iterable<Element> get getterForSuperElements => const <Element>[]; |
- |
- Iterable<Element> get fieldGetters => const <Element>[]; |
- |
- Iterable<Element> get fieldSetters => const <Element>[]; |
- |
Iterable<ConstantValue> get compileTimeConstants => const <ConstantValue>[]; |
Iterable<Pair<DartType, DartType>> get typeVariableBoundsSubtypeChecks { |
@@ -76,10 +68,6 @@ class _CodegenImpact extends WorldImpactBuilder implements CodegenImpact { |
// TODO(johnniwinther): Remove this. |
final Registry registry; |
- |
- Setlet<Element> _getterForSuperElements; |
- Setlet<Element> _fieldGetters; |
- Setlet<Element> _fieldSetters; |
Setlet<ConstantValue> _compileTimeConstants; |
Setlet<Pair<DartType, DartType>> _typeVariableBoundsSubtypeChecks; |
Setlet<String> _constSymbols; |
@@ -90,42 +78,6 @@ class _CodegenImpact extends WorldImpactBuilder implements CodegenImpact { |
_CodegenImpact(this.registry); |
- void registerGetterForSuperMethod(Element element) { |
- if (_getterForSuperElements == null) { |
- _getterForSuperElements = new Setlet<Element>(); |
- } |
- _getterForSuperElements.add(element); |
- } |
- |
- Iterable<Element> get getterForSuperElements { |
- return _getterForSuperElements != null |
- ? _getterForSuperElements : const <Element>[]; |
- } |
- |
- void registerFieldGetter(Element element) { |
- if (_fieldGetters == null) { |
- _fieldGetters = new Setlet<Element>(); |
- } |
- _fieldGetters.add(element); |
- } |
- |
- Iterable<Element> get fieldGetters { |
- return _fieldGetters != null |
- ? _fieldGetters : const <Element>[]; |
- } |
- |
- void registerFieldSetter(Element element) { |
- if (_fieldSetters == null) { |
- _fieldSetters = new Setlet<Element>(); |
- } |
- _fieldSetters.add(element); |
- } |
- |
- Iterable<Element> get fieldSetters { |
- return _fieldSetters != null |
- ? _fieldSetters : const <Element>[]; |
- } |
- |
void registerCompileTimeConstant(ConstantValue constant) { |
if (_compileTimeConstants == null) { |
_compileTimeConstants = new Setlet<ConstantValue>(); |
@@ -224,45 +176,20 @@ class CodegenRegistry extends Registry { |
String toString() => 'CodegenRegistry for $currentElement'; |
+ @deprecated |
void registerInstantiatedClass(ClassElement element) { |
- registerInstantiatedType(element.rawType); |
- } |
- |
- void registerInstantiatedType(InterfaceType type) { |
- worldImpact.registerInstantiatedType(type); |
- } |
- |
- void registerStaticUse(Element element) { |
- worldImpact.registerStaticUse(element); |
- } |
- |
- void registerDynamicInvocation(UniverseSelector selector) { |
- worldImpact.registerDynamicInvocation(selector); |
- compiler.dumpInfoTask.elementUsesSelector(currentElement, selector); |
+ registerInstantiation(element.rawType); |
} |
- void registerDynamicSetter(UniverseSelector selector) { |
- worldImpact.registerDynamicSetter(selector); |
- compiler.dumpInfoTask.elementUsesSelector(currentElement, selector); |
+ void registerStaticUse(StaticUse staticUse) { |
+ worldImpact.registerStaticUse(staticUse); |
} |
- void registerDynamicGetter(UniverseSelector selector) { |
- worldImpact.registerDynamicGetter(selector); |
+ void registerDynamicUse(UniverseSelector selector) { |
+ worldImpact.registerDynamicUse(selector); |
compiler.dumpInfoTask.elementUsesSelector(currentElement, selector); |
} |
- void registerGetterForSuperMethod(Element element) { |
- worldImpact.registerGetterForSuperMethod(element); |
- } |
- |
- void registerFieldGetter(Element element) { |
- worldImpact.registerFieldGetter(element); |
- } |
- |
- void registerFieldSetter(Element element) { |
- worldImpact.registerFieldSetter(element); |
- } |
- |
void registerIsCheck(DartType type) { |
worldImpact.registerIsCheck(type); |
} |
@@ -280,20 +207,6 @@ class CodegenRegistry extends Registry { |
worldImpact.registerClosure(element); |
} |
- void registerGetOfStaticFunction(FunctionElement element) { |
- worldImpact.registerClosurizedFunction(element); |
- } |
- |
- void registerSelectorUse(Selector selector) { |
- if (selector.isGetter) { |
- registerDynamicGetter(new UniverseSelector(selector, null)); |
- } else if (selector.isSetter) { |
- registerDynamicSetter(new UniverseSelector(selector, null)); |
- } else { |
- registerDynamicInvocation(new UniverseSelector(selector, null)); |
- } |
- } |
- |
void registerConstSymbol(String name) { |
worldImpact.registerConstSymbol(name); |
} |
@@ -310,20 +223,8 @@ class CodegenRegistry extends Registry { |
worldImpact.registerTypeConstant(element); |
} |
- void registerStaticInvocation(Element element) { |
- registerStaticUse(element); |
- } |
- |
- void registerSuperInvocation(Element element) { |
- registerStaticUse(element); |
- } |
- |
- void registerDirectInvocation(Element element) { |
- registerStaticUse(element); |
- } |
- |
void registerInstantiation(InterfaceType type) { |
- registerInstantiatedType(type); |
+ worldImpact.registerInstantiatedType(type); |
} |
void registerAsyncMarker(FunctionElement element) { |