| 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 bd903dab4d1b1a6b74f05221f1055378969c108a..91abd27506723c745031cd2fa7a2f4c0ca82238c 100644
|
| --- a/tests/compiler/dart2js/serialization/equivalence_test.dart
|
| +++ b/tests/compiler/dart2js/serialization/equivalence_test.dart
|
| @@ -248,6 +248,16 @@ checkElementLists(Object object1, Object object2, String property,
|
| list1, list2, checkElementProperties);
|
| }
|
|
|
| +/// Check the equivalence of the two metadata annotations, [metadata1] and
|
| +/// [metadata2].
|
| +///
|
| +/// Uses [object1], [object2] and [property] to provide context for failures.
|
| +checkMetadata(Object object1, Object object2, String property,
|
| + MetadataAnnotation metadata1, MetadataAnnotation metadata2) {
|
| + check(object1, object2, property,
|
| + metadata1, metadata2, areMetadataAnnotationsEquivalent);
|
| +}
|
| +
|
| /// Visitor that checks for equivalence of [Element] properties.
|
| class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| const ElementPropertyEquivalence();
|
| @@ -277,6 +287,8 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| element1.isClassMember, element2.isClassMember);
|
| check(element1, element2, 'isInstanceMember',
|
| element1.isInstanceMember, element2.isInstanceMember);
|
| + checkListEquivalence(element1, element2, 'metadata',
|
| + element1.metadata, element2.metadata, checkMetadata);
|
| }
|
|
|
| @override
|
| @@ -430,6 +442,10 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| element1.isAbstract, element2.isAbstract);
|
| check(element1, element2, 'isUnnamedMixinApplication',
|
| element1.isUnnamedMixinApplication, element2.isUnnamedMixinApplication);
|
| + check(element1, element2, 'isProxy',
|
| + element1.isProxy, element2.isProxy);
|
| + check(element1, element2, 'isInjected',
|
| + element1.isInjected, element2.isInjected);
|
| check(element1, element2, 'isEnumClass',
|
| element1.isEnumClass, element2.isEnumClass);
|
| if (element1.isEnumClass) {
|
| @@ -515,6 +531,8 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| element1.isStatic, element2.isStatic);
|
| check(element1, element2, 'isInstanceMember',
|
| element1.isInstanceMember, element2.isInstanceMember);
|
| + check(element1, element2, 'isInjected',
|
| + element1.isInjected, element2.isInjected);
|
|
|
| checkElementIdentities(
|
| element1, element2, 'library',
|
| @@ -548,6 +566,8 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| element1, element2, 'asyncMarker',
|
| element1.asyncMarker,
|
| element2.asyncMarker);
|
| + check(element1, element2, 'isInjected',
|
| + element1.isInjected, element2.isInjected);
|
|
|
| checkElementIdentities(
|
| element1, element2, 'library',
|
| @@ -652,6 +672,8 @@ class ElementPropertyEquivalence extends BaseElementVisitor<dynamic, Element> {
|
| element2.immediateRedirectionTarget);
|
| checkElementIdentities(element1, element2, 'redirectionDeferredPrefix',
|
| element1.redirectionDeferredPrefix, element2.redirectionDeferredPrefix);
|
| + check(element1, element2, 'isInjected',
|
| + element1.isInjected, element2.isInjected);
|
| }
|
|
|
| @override
|
|
|