Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1244)

Unified Diff: pkg/compiler/lib/src/world.dart

Issue 2967933002: Bring js_model/model_test on par with compile_from_dill tests. (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/world.dart
diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
index 322dec362bfa3e57195db4a7ac755e67178f3413..3c4c100a1ba6dd103ab566b7fb0a0deabf9c60b7 100644
--- a/pkg/compiler/lib/src/world.dart
+++ b/pkg/compiler/lib/src/world.dart
@@ -28,7 +28,6 @@ import 'universe/class_set.dart';
import 'universe/function_set.dart' show FunctionSet;
import 'universe/selector.dart' show Selector;
import 'universe/side_effects.dart' show SideEffects;
-import 'universe/world_builder.dart' show ResolutionWorldBuilder;
import 'util/util.dart' show Link;
/// Common superinterface for [OpenWorld] and [ClosedWorld].
@@ -444,14 +443,14 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner {
final DartTypes dartTypes;
final CommonElements commonElements;
- // TODO(johnniwinther): Avoid this.
- final ResolutionWorldBuilder _resolverWorld;
Siggi Cherem (dart-lang) 2017/07/05 21:00:09 \o/ |
-
// TODO(johnniwinther): Can this be derived from [ClassSet]s?
final Set<ClassEntity> _implementedClasses;
final Iterable<MemberEntity> liveInstanceMembers;
+ /// Members that are written either directly or through a setter selector.
+ final Iterable<MemberEntity> assignedInstanceMembers;
+
ClosedWorldBase(
this.elementEnvironment,
this.dartTypes,
@@ -460,16 +459,15 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner {
this.nativeData,
this.interceptorData,
this.backendUsage,
- ResolutionWorldBuilder resolutionWorldBuilder,
Set<ClassEntity> implementedClasses,
this.liveInstanceMembers,
+ this.assignedInstanceMembers,
Set<TypedefElement> allTypedefs,
this.mixinUses,
Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses,
Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes,
Map<ClassEntity, ClassSet> classSets)
- : this._resolverWorld = resolutionWorldBuilder,
- this._implementedClasses = implementedClasses,
+ : this._implementedClasses = implementedClasses,
this._allTypedefs = allTypedefs,
this._typesImplementedBySubclasses = typesImplementedBySubclasses,
this._classHierarchyNodes = classHierarchyNodes,
@@ -1066,8 +1064,7 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner {
return true;
}
if (element.isInstanceMember) {
- return !_resolverWorld.hasInvokedSetter(element) &&
- !_resolverWorld.fieldSetters.contains(element);
+ return !assignedInstanceMembers.contains(element);
}
return false;
}
@@ -1180,9 +1177,9 @@ class ClosedWorldImpl extends ClosedWorldBase {
NativeData nativeData,
InterceptorData interceptorData,
BackendUsage backendUsage,
- ResolutionWorldBuilder resolutionWorldBuilder,
Set<ClassEntity> implementedClasses,
Iterable<MemberEntity> liveInstanceMembers,
+ Iterable<MemberEntity> assignedInstanceMembers,
Set<TypedefElement> allTypedefs,
Map<ClassEntity, Set<ClassEntity>> mixinUses,
Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses,
@@ -1196,9 +1193,9 @@ class ClosedWorldImpl extends ClosedWorldBase {
nativeData,
interceptorData,
backendUsage,
- resolutionWorldBuilder,
implementedClasses,
liveInstanceMembers,
+ assignedInstanceMembers,
allTypedefs,
mixinUses,
typesImplementedBySubclasses,
« no previous file with comments | « pkg/compiler/lib/src/universe/resolution_world_builder.dart ('k') | tests/compiler/dart2js/js_model/model_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698