Index: tests/compiler/dart2js/serialization/test_helper.dart |
diff --git a/tests/compiler/dart2js/serialization/test_helper.dart b/tests/compiler/dart2js/serialization/test_helper.dart |
index a6dddf9069ac5b48367379cf54cf08f932aca978..9d3115f51e35ca794c3b51d5132d6968d835b442 100644 |
--- a/tests/compiler/dart2js/serialization/test_helper.dart |
+++ b/tests/compiler/dart2js/serialization/test_helper.dart |
@@ -553,3 +553,39 @@ void checkMaps( |
print(message); |
} |
} |
+ |
+void checkAllResolvedAsts( |
+ Compiler compiler1, |
+ Compiler compiler2, |
+ {bool verbose: false}) { |
+ checkLoadedLibraryMembers( |
+ compiler1, |
+ compiler2, |
+ (Element member1) { |
+ return member1 is ExecutableElement && |
+ compiler1.resolution.hasResolvedAst(member1); |
+ }, |
+ checkResolvedAsts, |
+ verbose: verbose); |
+} |
+ |
+ |
+/// Check equivalence of [impact1] and [impact2]. |
+void checkResolvedAsts(Compiler compiler1, Element member1, |
+ Compiler compiler2, Element member2, |
+ {bool verbose: false}) { |
+ if (!compiler2.serialization.isDeserialized(member2)) { |
+ return; |
+ } |
+ ResolvedAst resolvedAst1 = compiler1.resolution.getResolvedAst(member1); |
+ ResolvedAst resolvedAst2 = compiler2.serialization.getResolvedAst(member2); |
+ |
+ if (resolvedAst1 == null || resolvedAst2 == null) return; |
+ |
+ if (verbose) { |
+ print('Checking resolved asts for $member1 vs $member2'); |
+ } |
+ |
+ testResolvedAstEquivalence( |
+ resolvedAst1, resolvedAst2, const CheckStrategy()); |
+} |