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 3522c414ce6c8bc6afe9ec3d71c6d0c8b128eb56..4ef28f2451106ee959dc4b9194a6cc7d6c2e3a8c 100644 |
| --- a/tests/compiler/dart2js/serialization_test.dart |
| +++ b/tests/compiler/dart2js/serialization_test.dart |
| @@ -548,13 +548,28 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> { |
| Element member1 = element1.localLookup(name); |
| Element member2 = element2.localLookup(name); |
| if (member1 == null) { |
| - print('Missing member for $member2 in\n ${members1.join('\n ')}'); |
| - continue; |
| + // TODO(johnniwinther): Ensure abstract fields are handled correctly. |
|
Siggi Cherem (dart-lang)
2016/03/18 20:23:13
move TODO next to the throw?
Johnni Winther
2016/03/29 08:28:53
Moved into the then-branch.
|
| + String message = |
|
Siggi Cherem (dart-lang)
2016/03/18 20:23:13
move message within the if?
Johnni Winther
2016/03/29 08:28:53
It's used in both branches.
|
| + 'Missing member for $member2 in\n ${members1.join('\n ')}'; |
| + if (member2.isAbstractField) { |
| + print(message); |
| + continue; |
| + } else { |
| + throw message; |
| + } |
| } |
| if (member2 == null) { |
| - print('Missing member for $member1 in\n ${members2.join('\n ')}'); |
| - continue; |
| + // TODO(johnniwinther): Ensure abstract fields are handled correctly. |
| + String message = |
| + 'Missing member for $member1 in\n ${members2.join('\n ')}'; |
| + if (member1.isAbstractField) { |
| + print(message); |
| + continue; |
| + } else { |
| + throw message; |
| + } |
| } |
| + //print('Checking member ${member1} against ${member2}'); |
|
Siggi Cherem (dart-lang)
2016/03/18 20:23:13
delete
Johnni Winther
2016/03/29 08:28:53
Done.
|
| visit(member1, member2); |
| } |
| } |
| @@ -621,6 +636,15 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> { |
| element1.interfaces.toList(), |
| element2.interfaces.toList()); |
| + List<ConstructorElement> getConstructors(ClassElement cls) { |
| + return cls.implementation.constructors.map((c) => c.declaration).toList(); |
| + } |
| + |
| + checkElementLists( |
| + element1, element2, 'constructors', |
| + getConstructors(element1), |
| + getConstructors(element2)); |
| + |
| visitMembers(element1, element2); |
| } |