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

Unified Diff: tests/compiler/dart2js/serialization_test.dart

Issue 1815693002: Don't serialize unnamed mixin applications. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Handle cyclic class hierarchies. Created 4 years, 9 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: 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);
}

Powered by Google App Engine
This is Rietveld 408576698