Chromium Code Reviews| 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..61621090f11ec978093f163351999cad4834b4a6 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); |
|
Harry Terkelsen
2016/06/23 23:13:25
is this what dartfmt produced?
Johnni Winther
2016/06/24 08:26:54
No. Hand-formatted.
|
| + }, |
| + 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()); |
| +} |