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

Unified Diff: pkg/compiler/lib/src/serialization/equivalence.dart

Issue 2620023002: Use elements/types in constants/values (Closed)
Patch Set: Created 3 years, 11 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/serialization/equivalence.dart
diff --git a/pkg/compiler/lib/src/serialization/equivalence.dart b/pkg/compiler/lib/src/serialization/equivalence.dart
index 907c8d4a6db9f2bfca8506950f1ebbb655be0e00..1feae1c1c4a299131cb88b0eac095e61275630e4 100644
--- a/pkg/compiler/lib/src/serialization/equivalence.dart
+++ b/pkg/compiler/lib/src/serialization/equivalence.dart
@@ -866,8 +866,9 @@ class ConstantValueEquivalence
@override
bool visitConstructed(
ConstructedConstantValue value1, ConstructedConstantValue value2) {
- return strategy.testTypes(
- value1, value2, 'type', value1.type, value2.type) &&
+ ResolutionInterfaceType type1 = value1.type;
+ ResolutionInterfaceType type2 = value2.type;
+ return strategy.testTypes(value1, value2, 'type', type1, type2) &&
strategy.testMaps(
value1,
value2,
@@ -889,16 +890,18 @@ class ConstantValueEquivalence
@override
bool visitList(ListConstantValue value1, ListConstantValue value2) {
- return strategy.testTypes(
- value1, value2, 'type', value1.type, value2.type) &&
+ ResolutionInterfaceType type1 = value1.type;
+ ResolutionInterfaceType type2 = value2.type;
+ return strategy.testTypes(value1, value2, 'type', type1, type2) &&
strategy.testConstantValueLists(
value1, value2, 'entries', value1.entries, value2.entries);
}
@override
bool visitMap(MapConstantValue value1, MapConstantValue value2) {
- return strategy.testTypes(
- value1, value2, 'type', value1.type, value2.type) &&
+ ResolutionInterfaceType type1 = value1.type;
+ ResolutionInterfaceType type2 = value2.type;
+ return strategy.testTypes(value1, value2, 'type', type1, type2) &&
strategy.testConstantValueLists(
value1, value2, 'keys', value1.keys, value2.keys) &&
strategy.testConstantValueLists(
@@ -907,7 +910,9 @@ class ConstantValueEquivalence
@override
bool visitType(TypeConstantValue value1, TypeConstantValue value2) {
- return strategy.testTypes(value1, value2, 'type', value1.type, value2.type);
+ ResolutionInterfaceType type1 = value1.type;
+ ResolutionInterfaceType type2 = value2.type;
+ return strategy.testTypes(value1, value2, 'type', type1, type2);
}
@override
@@ -965,8 +970,9 @@ class ConstantValueEquivalence
@override
bool visitInterceptor(
InterceptorConstantValue value1, InterceptorConstantValue value2) {
- return strategy.testTypes(value1, value2, 'dispatchedType',
- value1.dispatchedType, value2.dispatchedType);
+ ClassElement cls1 = value1.cls;
+ ClassElement cls2 = value2.cls;
+ return strategy.testElements(value1, value2, 'cls', cls1, cls2);
}
}

Powered by Google App Engine
This is Rietveld 408576698