Index: pkg/compiler/lib/src/common/resolution.dart |
diff --git a/pkg/compiler/lib/src/common/resolution.dart b/pkg/compiler/lib/src/common/resolution.dart |
index 11b331b1634e9a0553b81a122b3cf3bd8059844c..633454b2a50711929ea1e9ef6173849d2b5cce73 100644 |
--- a/pkg/compiler/lib/src/common/resolution.dart |
+++ b/pkg/compiler/lib/src/common/resolution.dart |
@@ -33,12 +33,8 @@ import '../tree/tree.dart' show |
AsyncForIn, |
Send, |
TypeAnnotation; |
-import '../universe/universe.dart' show |
- UniverseSelector; |
import '../universe/world_impact.dart' show |
WorldImpact; |
-import '../util/util.dart' show |
- Setlet; |
import 'work.dart' show |
ItemCompilationContext, |
WorkItem; |
@@ -60,15 +56,6 @@ class ResolutionWorkItem extends WorkItem { |
bool get isAnalyzed => _isAnalyzed; |
} |
-// TODO(johnniwinther): Rename this to something like `BackendResolutionApi` |
-// and clean up the interface. |
-/// Backend callbacks function specific to the resolution phase. |
-class ResolutionCallbacks { |
- /// Transform the [ResolutionImpact] into a [WorldImpact] adding the |
- /// backend dependencies for features used in [worldImpact]. |
- WorldImpact transformImpact(ResolutionImpact worldImpact) => worldImpact; |
-} |
- |
class ResolutionImpact extends WorldImpact { |
const ResolutionImpact(); |
@@ -183,123 +170,6 @@ class ListLiteralUse { |
} |
} |
-/// Mutable implementation of [WorldImpact] used to transform |
-/// [ResolutionImpact] to [WorldImpact]. |
-class TransformedWorldImpact implements WorldImpact { |
- final ResolutionImpact worldImpact; |
- |
- Setlet<Element> _staticUses; |
- Setlet<InterfaceType> _instantiatedTypes; |
- Setlet<UniverseSelector> _dynamicGetters; |
- Setlet<UniverseSelector> _dynamicInvocations; |
- Setlet<UniverseSelector> _dynamicSetters; |
- |
- TransformedWorldImpact(this.worldImpact); |
- |
- @override |
- Iterable<DartType> get asCasts => worldImpact.asCasts; |
- |
- @override |
- Iterable<DartType> get checkedModeChecks => worldImpact.checkedModeChecks; |
- |
- @override |
- Iterable<MethodElement> get closurizedFunctions { |
- return worldImpact.closurizedFunctions; |
- } |
- |
- @override |
- Iterable<UniverseSelector> get dynamicGetters { |
- return _dynamicGetters != null |
- ? _dynamicGetters : worldImpact.dynamicGetters; |
- } |
- |
- @override |
- Iterable<UniverseSelector> get dynamicInvocations { |
- return _dynamicInvocations != null |
- ? _dynamicInvocations : worldImpact.dynamicInvocations; |
- } |
- |
- @override |
- Iterable<UniverseSelector> get dynamicSetters { |
- return _dynamicSetters != null |
- ? _dynamicSetters : worldImpact.dynamicSetters; |
- } |
- |
- @override |
- Iterable<DartType> get isChecks => worldImpact.isChecks; |
- |
- @override |
- Iterable<DartType> get onCatchTypes => worldImpact.onCatchTypes; |
- |
- _unsupported(String message) => throw new UnsupportedError(message); |
- |
- void registerDynamicGetter(UniverseSelector selector) { |
- if (_dynamicGetters == null) { |
- _dynamicGetters = new Setlet<UniverseSelector>(); |
- _dynamicGetters.addAll(worldImpact.dynamicGetters); |
- } |
- _dynamicGetters.add(selector); |
- } |
- |
- void registerDynamicInvocation(UniverseSelector selector) { |
- if (_dynamicInvocations == null) { |
- _dynamicInvocations = new Setlet<UniverseSelector>(); |
- _dynamicInvocations.addAll(worldImpact.dynamicInvocations); |
- } |
- _dynamicInvocations.add(selector); |
- } |
- |
- void registerDynamicSetter(UniverseSelector selector) { |
- if (_dynamicSetters == null) { |
- _dynamicSetters = new Setlet<UniverseSelector>(); |
- _dynamicSetters.addAll(worldImpact.dynamicSetters); |
- } |
- _dynamicSetters.add(selector); |
- } |
- |
- void registerInstantiatedType(InterfaceType type) { |
- if (_instantiatedTypes == null) { |
- _instantiatedTypes = new Setlet<InterfaceType>(); |
- _instantiatedTypes.addAll(worldImpact.instantiatedTypes); |
- } |
- _instantiatedTypes.add(type); |
- } |
- |
- @override |
- Iterable<InterfaceType> get instantiatedTypes { |
- return _instantiatedTypes != null |
- ? _instantiatedTypes : worldImpact.instantiatedTypes; |
- } |
- |
- @override |
- Iterable<DartType> get typeLiterals { |
- return worldImpact.typeLiterals; |
- } |
- |
- void registerStaticUse(Element element) { |
- if (_staticUses == null) { |
- _staticUses = new Setlet<Element>(); |
- _staticUses.addAll(worldImpact.staticUses); |
- } |
- _staticUses.add(element); |
- } |
- |
- @override |
- Iterable<Element> get staticUses { |
- return _staticUses != null ? _staticUses : worldImpact.staticUses; |
- } |
- |
- @override |
- Iterable<LocalFunctionElement> get closures => worldImpact.closures; |
- |
- String toString() { |
- StringBuffer sb = new StringBuffer(); |
- sb.write('TransformedWorldImpact($worldImpact)'); |
- WorldImpact.printOn(sb, this); |
- return sb.toString(); |
- } |
-} |
- |
// TODO(johnniwinther): Rename to `Resolver` or `ResolverContext`. |
abstract class Resolution { |
Parsing get parsing; |