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

Unified Diff: pkg/compiler/lib/src/js_backend/interceptor_data.dart

Issue 2969073002: Add most equivalence tests to js_model/model_test (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/js_backend/interceptor_data.dart
diff --git a/pkg/compiler/lib/src/js_backend/interceptor_data.dart b/pkg/compiler/lib/src/js_backend/interceptor_data.dart
index f6d8eff280550147f5fb10d54a16c153be437438..80d612c39657b887e62ade968e180fa2b2bebae6 100644
--- a/pkg/compiler/lib/src/js_backend/interceptor_data.dart
+++ b/pkg/compiler/lib/src/js_backend/interceptor_data.dart
@@ -55,15 +55,15 @@ class InterceptorDataImpl implements InterceptorData {
/// The members of instantiated interceptor classes: maps a member name to the
/// list of members that have that name. This map is used by the codegen to
/// know whether a send must be intercepted or not.
- final Map<String, Set<MemberEntity>> _interceptedElements;
+ final Map<String, Set<MemberEntity>> interceptedMembers;
/// Set of classes whose methods are intercepted.
- final Set<ClassEntity> _interceptedClasses;
+ final Set<ClassEntity> interceptedClasses;
/// Set of classes used as mixins on intercepted (native and primitive)
/// classes. Methods on these classes might also be mixed in to regular Dart
/// (unintercepted) classes.
- final Set<ClassEntity> _classesMixedIntoInterceptedClasses;
+ final Set<ClassEntity> classesMixedIntoInterceptedClasses;
/// The members of mixin classes that are mixed into an instantiated
/// interceptor class. This is a cached subset of [_interceptedElements].
@@ -85,9 +85,9 @@ class InterceptorDataImpl implements InterceptorData {
InterceptorDataImpl(
this._nativeData,
this._commonElements,
- this._interceptedElements,
- this._interceptedClasses,
- this._classesMixedIntoInterceptedClasses);
+ this.interceptedMembers,
+ this.interceptedClasses,
+ this.classesMixedIntoInterceptedClasses);
bool isInterceptedMethod(MemberEntity element) {
if (!element.isInstanceMember) return false;
@@ -95,23 +95,23 @@ class InterceptorDataImpl implements InterceptorData {
if (element is ConstructorBodyElement) {
return _nativeData.isNativeOrExtendsNative(element.enclosingClass);
}
- return _interceptedElements[element.name] != null;
+ return interceptedMembers[element.name] != null;
}
bool fieldHasInterceptedGetter(FieldEntity element) {
- return _interceptedElements[element.name] != null;
+ return interceptedMembers[element.name] != null;
}
bool fieldHasInterceptedSetter(FieldEntity element) {
- return _interceptedElements[element.name] != null;
+ return interceptedMembers[element.name] != null;
}
bool isInterceptedName(String name) {
- return _interceptedElements[name] != null;
+ return interceptedMembers[name] != null;
}
bool isInterceptedSelector(Selector selector) {
- return _interceptedElements[selector.name] != null;
+ return interceptedMembers[selector.name] != null;
}
/// Returns `true` iff [selector] matches an element defined in a class mixed
@@ -121,10 +121,10 @@ class InterceptorDataImpl implements InterceptorData {
Selector selector, TypeMask mask, ClosedWorld closedWorld) {
Set<MemberEntity> elements =
_interceptedMixinElements.putIfAbsent(selector.name, () {
- Set<MemberEntity> elements = _interceptedElements[selector.name];
+ Set<MemberEntity> elements = interceptedMembers[selector.name];
if (elements == null) return null;
return elements
- .where((element) => _classesMixedIntoInterceptedClasses
+ .where((element) => classesMixedIntoInterceptedClasses
.contains(element.enclosingClass))
.toSet();
});
@@ -154,7 +154,7 @@ class InterceptorDataImpl implements InterceptorData {
/// Returns an empty set if there is no class. Do not modify the returned set.
Set<ClassEntity> getInterceptedClassesOn(
String name, ClosedWorld closedWorld) {
- Set<MemberEntity> intercepted = _interceptedElements[name];
+ Set<MemberEntity> intercepted = interceptedMembers[name];
if (intercepted == null) return _noClasses;
return _interceptedClassesCache.putIfAbsent(name, () {
// Populate the cache by running through all the elements and
@@ -167,7 +167,7 @@ class InterceptorDataImpl implements InterceptorData {
interceptedClasses.contains(classElement)) {
result.add(classElement);
}
- if (_classesMixedIntoInterceptedClasses.contains(classElement)) {
+ if (classesMixedIntoInterceptedClasses.contains(classElement)) {
Set<ClassEntity> nativeSubclasses =
nativeSubclassesOfMixin(classElement, closedWorld);
if (nativeSubclasses != null) result.addAll(nativeSubclasses);
@@ -196,20 +196,12 @@ class InterceptorDataImpl implements InterceptorData {
if (element == null) return false;
if (_nativeData.isNativeOrExtendsNative(element)) return true;
if (interceptedClasses.contains(element)) return true;
- if (_classesMixedIntoInterceptedClasses.contains(element)) return true;
+ if (classesMixedIntoInterceptedClasses.contains(element)) return true;
return false;
}
bool isMixedIntoInterceptedClass(ClassEntity element) =>
- _classesMixedIntoInterceptedClasses.contains(element);
-
- Iterable<ClassEntity> get interceptedClasses => _interceptedClasses;
-
- Map<String, Set<MemberEntity>> get interceptedElementsForTesting =>
- _interceptedElements;
-
- Set<ClassEntity> get classesMixedIntoInterceptedClassesForTesting =>
- _classesMixedIntoInterceptedClasses;
+ classesMixedIntoInterceptedClasses.contains(element);
bool mayGenerateInstanceofCheck(DartType type, ClosedWorld closedWorld) {
// We can use an instanceof check for raw types that have no subclass that
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_model/elements.dart » ('j') | pkg/compiler/lib/src/js_model/js_strategy.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698