Index: pkg/compiler/lib/src/universe/resolution_world_builder.dart |
diff --git a/pkg/compiler/lib/src/universe/resolution_world_builder.dart b/pkg/compiler/lib/src/universe/resolution_world_builder.dart |
index 591012e10d9c94c10e51fbd17f0984dcecc8c715..b4a6f854ab0c0945330965648ba2609c378286a6 100644 |
--- a/pkg/compiler/lib/src/universe/resolution_world_builder.dart |
+++ b/pkg/compiler/lib/src/universe/resolution_world_builder.dart |
@@ -928,6 +928,17 @@ abstract class ResolutionWorldBuilderBase |
return typesImplementedBySubclasses; |
} |
+ |
+ Iterable<MemberEntity> computeAssignedInstanceMembers() { |
+ Set<MemberEntity> assignedInstanceMembers = new Set<MemberEntity>(); |
+ for (MemberEntity instanceMember in _liveInstanceMembers) { |
+ if (hasInvokedSetter(instanceMember)) { |
+ assignedInstanceMembers.add(instanceMember); |
+ } |
+ } |
+ assignedInstanceMembers.addAll(fieldSetters); |
+ return assignedInstanceMembers; |
+ } |
} |
abstract class KernelResolutionWorldBuilderBase |
@@ -973,9 +984,9 @@ abstract class KernelResolutionWorldBuilderBase |
interceptorData: _interceptorDataBuilder.close(), |
backendUsage: _backendUsageBuilder.close(), |
constantSystem: _constantSystem, |
- resolutionWorldBuilder: this, |
implementedClasses: _implementedClasses, |
liveInstanceMembers: _liveInstanceMembers, |
+ assignedInstanceMembers: computeAssignedInstanceMembers(), |
allTypedefs: _allTypedefs, |
mixinUses: _mixinUses, |
typesImplementedBySubclasses: typesImplementedBySubclasses, |