| Index: tests/compiler/dart2js/serialization/equivalence_test.dart
|
| diff --git a/tests/compiler/dart2js/serialization/equivalence_test.dart b/tests/compiler/dart2js/serialization/equivalence_test.dart
|
| index d021489dc4f08b2ff66f4f9a02e2a67fe2d400d0..ee110f69205647edb1654f1c5e5debd6a2ce52dd 100644
|
| --- a/tests/compiler/dart2js/serialization/equivalence_test.dart
|
| +++ b/tests/compiler/dart2js/serialization/equivalence_test.dart
|
| @@ -47,6 +47,11 @@ class Class1 {
|
| 'deferred_library.dart': '''
|
| class DeferredClass {
|
| }
|
| +
|
| +get getter => 0;
|
| +set setter(_) {}
|
| +get property => 0;
|
| +set property(_) {}
|
| ''',
|
| 'library.dart': '''
|
| class Type {}
|
| @@ -297,6 +302,9 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
|
|
| void visit(Element element1, Element element2) {
|
| if (element1 == null && element2 == null) return;
|
| + if (element1 == null || element2 == null) {
|
| + throw currentCheck;
|
| + }
|
| element1 = element1.declaration;
|
| element2 = element2.declaration;
|
| if (element1 == element2) return;
|
| @@ -360,15 +368,28 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| checkElementLists(
|
| element1, element2, 'exports', element1.exports, element2.exports);
|
|
|
| + List<Element> imported1 = LibrarySerializer.getImportedElements(element1);
|
| + List<Element> imported2 = LibrarySerializer.getImportedElements(element2);
|
| checkElementListIdentities(
|
| - element1, element2, 'importScope',
|
| - LibrarySerializer.getImportedElements(element1),
|
| - LibrarySerializer.getImportedElements(element2));
|
| + element1, element2, 'importScope', imported1, imported2);
|
|
|
| checkElementListIdentities(
|
| element1, element2, 'exportScope',
|
| LibrarySerializer.getExportedElements(element1),
|
| LibrarySerializer.getExportedElements(element2));
|
| +
|
| + for (int index = 0; index < imported1.length; index++) {
|
| + checkImportsFor(element1, element2, imported1[index], imported2[index]);
|
| + }
|
| + }
|
| +
|
| + void checkImportsFor(Element element1, Element element2,
|
| + Element import1, Element import2) {
|
| + List<ImportElement> imports1 = element1.library.getImportsFor(import1);
|
| + List<ImportElement> imports2 = element2.library.getImportsFor(import2);
|
| + checkElementListIdentities(
|
| + element1, element2, 'importsFor($import1/$import2)',
|
| + imports1, imports2);
|
| }
|
|
|
| @override
|
| @@ -855,6 +876,7 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| Element member2 = element2.lookupLocalMember(name);
|
| checkElementIdentities(element1, element2, 'lookupLocalMember:$name',
|
| member1, member2);
|
| + checkImportsFor(element1, element2, member1, member2);
|
| });
|
| }
|
|
|
|
|