| Index: pkg/compiler/lib/src/universe/world_impact.dart
|
| diff --git a/pkg/compiler/lib/src/universe/world_impact.dart b/pkg/compiler/lib/src/universe/world_impact.dart
|
| index 723a87af8bddcdc817f0589bd60adc1db38f080e..99c1c3c129c339086edae64724c094a5e55c4095 100644
|
| --- a/pkg/compiler/lib/src/universe/world_impact.dart
|
| +++ b/pkg/compiler/lib/src/universe/world_impact.dart
|
| @@ -61,18 +61,12 @@ class WorldImpact {
|
| }
|
| }
|
|
|
| -abstract class WorldImpactBuilder {
|
| - void registerDynamicUse(DynamicUse dynamicUse);
|
| - void registerTypeUse(TypeUse typeUse);
|
| - void registerStaticUse(StaticUse staticUse);
|
| -}
|
| -
|
| -class WorldImpactBuilderImpl extends WorldImpact implements WorldImpactBuilder {
|
| +class WorldImpactBuilder {
|
| // TODO(johnniwinther): Do we benefit from lazy initialization of the
|
| // [Setlet]s?
|
| - Set<DynamicUse> _dynamicUses;
|
| - Set<StaticUse> _staticUses;
|
| - Set<TypeUse> _typeUses;
|
| + Setlet<DynamicUse> _dynamicUses;
|
| + Setlet<StaticUse> _staticUses;
|
| + Setlet<TypeUse> _typeUses;
|
|
|
| void registerDynamicUse(DynamicUse dynamicUse) {
|
| assert(dynamicUse != null);
|
| @@ -111,60 +105,9 @@ class WorldImpactBuilderImpl extends WorldImpact implements WorldImpactBuilder {
|
| }
|
| }
|
|
|
| -/// [WorldImpactBuilder] that can create and collect a sequence of
|
| -/// [WorldImpact]s.
|
| -class StagedWorldImpactBuilder implements WorldImpactBuilder {
|
| - final bool collectImpacts;
|
| - WorldImpactBuilderImpl _currentBuilder;
|
| - List<WorldImpactBuilderImpl> _builders = <WorldImpactBuilderImpl>[];
|
| -
|
| - StagedWorldImpactBuilder({this.collectImpacts: false});
|
| -
|
| - void _ensureBuilder() {
|
| - if (_currentBuilder == null) {
|
| - _currentBuilder = new WorldImpactBuilderImpl();
|
| - if (collectImpacts) {
|
| - _builders.add(_currentBuilder);
|
| - }
|
| - }
|
| - }
|
| -
|
| - @override
|
| - void registerTypeUse(TypeUse typeUse) {
|
| - _ensureBuilder();
|
| - _currentBuilder.registerTypeUse(typeUse);
|
| - }
|
| -
|
| - @override
|
| - void registerDynamicUse(DynamicUse dynamicUse) {
|
| - _ensureBuilder();
|
| - _currentBuilder.registerDynamicUse(dynamicUse);
|
| - }
|
| -
|
| - @override
|
| - void registerStaticUse(StaticUse staticUse) {
|
| - _ensureBuilder();
|
| - _currentBuilder.registerStaticUse(staticUse);
|
| - }
|
| -
|
| - /// Returns the [WorldImpact] built so far with this builder. The builder
|
| - /// is reset, and if [collectImpacts] is `true` the impact is cached for
|
| - /// [worldImpacts].
|
| - WorldImpact flush() {
|
| - if (_currentBuilder == null) return const WorldImpact();
|
| - WorldImpact worldImpact = _currentBuilder;
|
| - _currentBuilder = null;
|
| - return worldImpact;
|
| - }
|
| -
|
| - /// If [collectImpacts] is `true` this returns all [WorldImpact]s built with
|
| - /// this builder.
|
| - Iterable<WorldImpact> get worldImpacts => _builders;
|
| -}
|
| -
|
| /// Mutable implementation of [WorldImpact] used to transform
|
| /// [ResolutionImpact] or [CodegenImpact] to [WorldImpact].
|
| -class TransformedWorldImpact implements WorldImpact, WorldImpactBuilder {
|
| +class TransformedWorldImpact implements WorldImpact {
|
| final WorldImpact worldImpact;
|
|
|
| Setlet<StaticUse> _staticUses;
|
|
|