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

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

Issue 1967073002: Check closure data for serialization (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 4 years, 7 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 be8ff7fc8a2fe65415fb46c95a77a21d03c157a6..ab8f78e8931f8846917412faf186fc7c76fbd40a 100644
--- a/pkg/compiler/lib/src/serialization/equivalence.dart
+++ b/pkg/compiler/lib/src/serialization/equivalence.dart
@@ -6,6 +6,7 @@
library dart2js.serialization.equivalence;
+import '../closure.dart';
import '../common.dart';
import '../common/resolution.dart';
import '../constants/expressions.dart';
@@ -405,6 +406,14 @@ class ElementIdentityEquivalence extends BaseElementVisitor<bool, Element> {
}
@override
+ bool visitBoxFieldElement(
+ BoxFieldElement element1, BoxFieldElement element2) {
+ return element1.box.name == element2.box.name &&
+ visit(element1.box.executableContext, element2.box.executableContext) &&
+ visit(element1.variableElement, element2.variableElement);
+ }
+
+ @override
bool visitConstructorElement(
ConstructorElement element1, ConstructorElement element2) {
return checkMembers(element1, element2);
@@ -822,7 +831,11 @@ bool testTreeElementsEquivalence(
TreeElementsEquivalenceVisitor visitor = new TreeElementsEquivalenceVisitor(
indices1, indices2, elements1, elements2, strategy);
resolvedAst1.node.accept(visitor);
- return visitor.success;
+ if (visitor.success) {
+ return strategy.test(elements1, elements2, 'containsTryStatement',
+ elements1.containsTryStatement, elements2.containsTryStatement);
+ }
+ return false;
}
/// Visitor that checks the equivalence of [TreeElements] data.
« no previous file with comments | « pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart ('k') | pkg/compiler/lib/src/serialization/keys.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698