Chromium Code Reviews| Index: tests/compiler/dart2js/serialization_test.dart |
| diff --git a/tests/compiler/dart2js/serialization_test.dart b/tests/compiler/dart2js/serialization_test.dart |
| index 9985399579ba7c25561d55f8cf8edf558904256b..a1987c01d7f5b92531ed1522d23d40268e3ed4c1 100644 |
| --- a/tests/compiler/dart2js/serialization_test.dart |
| +++ b/tests/compiler/dart2js/serialization_test.dart |
| @@ -342,6 +342,10 @@ class ElementIdentityEquivalence extends BaseElementVisitor<dynamic, Element> { |
| const ElementIdentityEquivalence(); |
| void visit(Element element1, Element element2) { |
| + if (element1 == null && element2 == null) return; |
| + if (element1 == element2) return; |
| + element1 = element1.declaration; |
| + element2 = element2.declaration; |
| check(element1, element2, 'kind', element1.kind, element2.kind); |
| element1.accept(this, element2); |
| } |
| @@ -454,7 +458,10 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> { |
| const ElementPropertyEquivalence(); |
| void visit(Element element1, Element element2) { |
| + if (element1 == null && element2 == null) return; |
|
Siggi Cherem (dart-lang)
2016/03/17 15:33:45
wouldn't this be covered by the condition below? o
Johnni Winther
2016/03/18 08:11:32
Moved `if (element1 == element2) ...` below `e = e
|
| if (element1 == element2) return; |
| + element1 = element1.declaration; |
| + element2 = element2.declaration; |
| check(element1, element2, 'kind', element1.kind, element2.kind); |
| element1.accept(this, element2); |
| } |
| @@ -523,21 +530,29 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> { |
| void visitMembers(ScopeContainerElement element1, |
| ScopeContainerElement element2) { |
| Set<String> names = new Set<String>(); |
| - element1.forEachLocalMember((Element member) { |
| + Iterable<Element> members1 = element1.isLibrary |
| + ? LibrarySerializer.getMembers(element1) |
| + : ClassSerializer.getMembers(element1); |
| + Iterable<Element> members2 = element2.isLibrary |
| + ? LibrarySerializer.getMembers(element2) |
| + : ClassSerializer.getMembers(element2); |
| + for (Element member in members1) { |
| names.add(member.name); |
| - }); |
| - element2.forEachLocalMember((Element member) { |
| + } |
| + for (Element member in members2) { |
| names.add(member.name); |
| - }); |
| + } |
| + element1 = element1.implementation; |
| + element2 = element2.implementation; |
| for (String name in names) { |
| Element member1 = element1.localLookup(name); |
| Element member2 = element2.localLookup(name); |
| if (member1 == null) { |
| - print('Missing member for $member2'); |
| + print('Missing member for $member2 in\n ${members1.join('\n ')}'); |
| continue; |
| } |
| if (member2 == null) { |
| - print('Missing member for $member1'); |
| + print('Missing member for $member1 in\n ${members2.join('\n ')}'); |
| continue; |
| } |
| visit(member1, member2); |