| Index: tests/lib_strong/mirrors/equality_test.dart
 | 
| diff --git a/tests/lib_strong/mirrors/equality_test.dart b/tests/lib_strong/mirrors/equality_test.dart
 | 
| index 8b627b0edcefe1a593b4073cbea853cb0187a5ac..e71b11ea813d3bf4192d58601597f678728ef4f4 100644
 | 
| --- a/tests/lib_strong/mirrors/equality_test.dart
 | 
| +++ b/tests/lib_strong/mirrors/equality_test.dart
 | 
| @@ -16,6 +16,7 @@ import 'dart:mirrors';
 | 
|  import 'package:expect/expect.dart';
 | 
|  
 | 
|  class A<T> {}
 | 
| +
 | 
|  class B extends A<int> {}
 | 
|  
 | 
|  class BadEqualityHash {
 | 
| @@ -32,19 +33,15 @@ checkEquality(List<Map> equivalenceClasses) {
 | 
|      equivalenceClass.forEach((name, member) {
 | 
|        equivalenceClass.forEach((otherName, otherMember) {
 | 
|          // Reflexivity, symmetry and transitivity.
 | 
| -        Expect.equals(member,
 | 
| -                      otherMember,
 | 
| -                      "$name == $otherName");
 | 
| -        Expect.equals(member.hashCode,
 | 
| -                      otherMember.hashCode,
 | 
| -                      "$name.hashCode == $otherName.hashCode");
 | 
| +        Expect.equals(member, otherMember, "$name == $otherName");
 | 
| +        Expect.equals(member.hashCode, otherMember.hashCode,
 | 
| +            "$name.hashCode == $otherName.hashCode");
 | 
|        });
 | 
|        for (var otherEquivalenceClass in equivalenceClasses) {
 | 
|          if (otherEquivalenceClass == equivalenceClass) continue;
 | 
|          otherEquivalenceClass.forEach((otherName, otherMember) {
 | 
| -          Expect.notEquals(member,
 | 
| -                           otherMember,
 | 
| -                           "$name != $otherName");  // Exclusion.
 | 
| +          Expect.notEquals(
 | 
| +              member, otherMember, "$name != $otherName"); // Exclusion.
 | 
|            // Hash codes may or may not be equal.
 | 
|          });
 | 
|        }
 | 
| @@ -52,12 +49,10 @@ checkEquality(List<Map> equivalenceClasses) {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| -void subroutine() {
 | 
| -}
 | 
| +void subroutine() {}
 | 
|  
 | 
|  main() {
 | 
| -  LibraryMirror thisLibrary =
 | 
| -      currentMirrorSystem()
 | 
| +  LibraryMirror thisLibrary = currentMirrorSystem()
 | 
|        .findLibrary(const Symbol('test.class_equality_test'));
 | 
|  
 | 
|    var o1 = new Object();
 | 
| @@ -67,94 +62,98 @@ main() {
 | 
|    var badEqualityHash2 = new BadEqualityHash();
 | 
|  
 | 
|    checkEquality([
 | 
| -    {'reflect(o1)' : reflect(o1),
 | 
| -     'reflect(o1), again' : reflect(o1)},
 | 
| -
 | 
| -    {'reflect(o2)' : reflect(o2),
 | 
| -     'reflect(o2), again' : reflect(o2)},
 | 
| -
 | 
| -    {'reflect(badEqualityHash1)' : reflect(badEqualityHash1),
 | 
| -     'reflect(badEqualityHash1), again' : reflect(badEqualityHash1)},
 | 
| -
 | 
| -    {'reflect(badEqualityHash2)' : reflect(badEqualityHash2),
 | 
| -     'reflect(badEqualityHash2), again' : reflect(badEqualityHash2)},
 | 
| -
 | 
| -    {'reflect(true)' : reflect(true),
 | 
| -     'reflect(true), again' : reflect(true)},
 | 
| -
 | 
| -    {'reflect(false)' : reflect(false),
 | 
| -     'reflect(false), again' : reflect(false)},
 | 
| -
 | 
| -    {'reflect(null)' : reflect(null),
 | 
| -     'reflect(null), again' : reflect(null)},
 | 
| -
 | 
| -    {'reflect(3.5+4.5)' : reflect(3.5+4.5),
 | 
| -     'reflect(6.5+1.5)' : reflect(6.5+1.5)},
 | 
| -
 | 
| -    {'reflect(3+4)' : reflect(3+4),
 | 
| -     'reflect(6+1)' : reflect(6+1)},
 | 
| -
 | 
| -    {'reflect("foo")' : reflect("foo"),
 | 
| -     'reflect("foo"), again' : reflect("foo")},
 | 
| -
 | 
| -    {'currentMirrorSystem().voidType' : currentMirrorSystem().voidType,
 | 
| -     'thisLibrary.declarations[#subroutine].returnType' :
 | 
| -          (thisLibrary.declarations[#subroutine] as MethodMirror).returnType},
 | 
| -
 | 
| -    {'currentMirrorSystem().dynamicType' : currentMirrorSystem().dynamicType,
 | 
| -     'thisLibrary.declarations[#main].returnType' :
 | 
| -          (thisLibrary.declarations[#main] as MethodMirror).returnType},
 | 
| -
 | 
| -    {'reflectClass(A)' : reflectClass(A),
 | 
| -     'thisLibrary.declarations[#A]' : thisLibrary.declarations[#A],
 | 
| -     'reflect(new A<int>()).type.originalDeclaration' :
 | 
| -          reflect(new A<int>()).type.originalDeclaration},
 | 
| -
 | 
| -    {'reflectClass(B).superclass' : reflectClass(B).superclass,
 | 
| -     'reflect(new A<int>()).type' : reflect(new A<int>()).type},
 | 
| -
 | 
| -    {'reflectClass(B)' : reflectClass(B),
 | 
| -     'thisLibrary.declarations[#B]' : thisLibrary.declarations[#B],
 | 
| -     'reflect(new B()).type' : reflect(new B()).type},
 | 
| -
 | 
| -    {'reflectClass(BadEqualityHash).declarations[#==]'
 | 
| -        : reflectClass(BadEqualityHash).declarations[#==],
 | 
| -     'reflect(new BadEqualityHash()).type.declarations[#==]'
 | 
| -        : reflect(new BadEqualityHash()).type.declarations[#==]},
 | 
| -
 | 
| -    {'reflectClass(BadEqualityHash).declarations[#==].parameters[0]'
 | 
| -        : (reflectClass(BadEqualityHash).
 | 
| -            declarations[#==] as MethodMirror).parameters[0],
 | 
| -     'reflect(new BadEqualityHash()).type.declarations[#==].parameters[0]'
 | 
| -        : (reflect(new BadEqualityHash()).type.
 | 
| -            declarations[#==] as MethodMirror).parameters[0]},
 | 
| -
 | 
| -    {'reflectClass(BadEqualityHash).declarations[#count]'
 | 
| -        : reflectClass(BadEqualityHash).declarations[#count],
 | 
| -     'reflect(new BadEqualityHash()).type.declarations[#count]'
 | 
| -        : reflect(new BadEqualityHash()).type.declarations[#count]},
 | 
| -
 | 
| -    {'reflectType(Predicate)' : reflectType(Predicate),
 | 
| -     'thisLibrary.declarations[#somePredicate].type'
 | 
| -        : (thisLibrary.declarations[#somePredicate] as VariableMirror).type},
 | 
| -
 | 
| -    {'reflectType(Predicate).referent' : (reflectType(Predicate) as TypedefMirror).referent,
 | 
| -     'thisLibrary.declarations[#somePredicate].type.referent'
 | 
| -        : ((thisLibrary.declarations[#somePredicate] as VariableMirror).type as TypedefMirror).referent},
 | 
| -
 | 
| -    {'reflectClass(A).typeVariables.single'
 | 
| -        : reflectClass(A).typeVariables.single,
 | 
| -     'reflect(new A<int>()).type.originalDeclaration.typeVariables.single'
 | 
| -        : reflect(new A<int>()).type.originalDeclaration.typeVariables.single},
 | 
| -
 | 
| -    {'currentMirrorSystem()' : currentMirrorSystem()},
 | 
| -
 | 
| -    {'currentMirrorSystem().isolate' : currentMirrorSystem().isolate},
 | 
| -
 | 
| -    {'thisLibrary' : thisLibrary,
 | 
| -     'reflectClass(A).owner' : reflectClass(A).owner,
 | 
| -     'reflectClass(B).owner' : reflectClass(B).owner,
 | 
| -     'reflect(new A()).type.owner' : reflect(new A()).type.owner,
 | 
| -     'reflect(new B()).type.owner' : reflect(new B()).type.owner},
 | 
| +    {'reflect(o1)': reflect(o1), 'reflect(o1), again': reflect(o1)},
 | 
| +    {'reflect(o2)': reflect(o2), 'reflect(o2), again': reflect(o2)},
 | 
| +    {
 | 
| +      'reflect(badEqualityHash1)': reflect(badEqualityHash1),
 | 
| +      'reflect(badEqualityHash1), again': reflect(badEqualityHash1)
 | 
| +    },
 | 
| +    {
 | 
| +      'reflect(badEqualityHash2)': reflect(badEqualityHash2),
 | 
| +      'reflect(badEqualityHash2), again': reflect(badEqualityHash2)
 | 
| +    },
 | 
| +    {'reflect(true)': reflect(true), 'reflect(true), again': reflect(true)},
 | 
| +    {'reflect(false)': reflect(false), 'reflect(false), again': reflect(false)},
 | 
| +    {'reflect(null)': reflect(null), 'reflect(null), again': reflect(null)},
 | 
| +    {
 | 
| +      'reflect(3.5+4.5)': reflect(3.5 + 4.5),
 | 
| +      'reflect(6.5+1.5)': reflect(6.5 + 1.5)
 | 
| +    },
 | 
| +    {'reflect(3+4)': reflect(3 + 4), 'reflect(6+1)': reflect(6 + 1)},
 | 
| +    {'reflect("foo")': reflect("foo"), 'reflect("foo"), again': reflect("foo")},
 | 
| +    {
 | 
| +      'currentMirrorSystem().voidType': currentMirrorSystem().voidType,
 | 
| +      'thisLibrary.declarations[#subroutine].returnType':
 | 
| +          (thisLibrary.declarations[#subroutine] as MethodMirror).returnType
 | 
| +    },
 | 
| +    {
 | 
| +      'currentMirrorSystem().dynamicType': currentMirrorSystem().dynamicType,
 | 
| +      'thisLibrary.declarations[#main].returnType':
 | 
| +          (thisLibrary.declarations[#main] as MethodMirror).returnType
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(A)': reflectClass(A),
 | 
| +      'thisLibrary.declarations[#A]': thisLibrary.declarations[#A],
 | 
| +      'reflect(new A<int>()).type.originalDeclaration':
 | 
| +          reflect(new A<int>()).type.originalDeclaration
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(B).superclass': reflectClass(B).superclass,
 | 
| +      'reflect(new A<int>()).type': reflect(new A<int>()).type
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(B)': reflectClass(B),
 | 
| +      'thisLibrary.declarations[#B]': thisLibrary.declarations[#B],
 | 
| +      'reflect(new B()).type': reflect(new B()).type
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(BadEqualityHash).declarations[#==]':
 | 
| +          reflectClass(BadEqualityHash).declarations[#==],
 | 
| +      'reflect(new BadEqualityHash()).type.declarations[#==]':
 | 
| +          reflect(new BadEqualityHash()).type.declarations[#==]
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(BadEqualityHash).declarations[#==].parameters[0]':
 | 
| +          (reflectClass(BadEqualityHash).declarations[#==] as MethodMirror)
 | 
| +              .parameters[0],
 | 
| +      'reflect(new BadEqualityHash()).type.declarations[#==].parameters[0]':
 | 
| +          (reflect(new BadEqualityHash()).type.declarations[#==]
 | 
| +                  as MethodMirror)
 | 
| +              .parameters[0]
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(BadEqualityHash).declarations[#count]':
 | 
| +          reflectClass(BadEqualityHash).declarations[#count],
 | 
| +      'reflect(new BadEqualityHash()).type.declarations[#count]':
 | 
| +          reflect(new BadEqualityHash()).type.declarations[#count]
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectType(Predicate)': reflectType(Predicate),
 | 
| +      'thisLibrary.declarations[#somePredicate].type':
 | 
| +          (thisLibrary.declarations[#somePredicate] as VariableMirror).type
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectType(Predicate).referent':
 | 
| +          (reflectType(Predicate) as TypedefMirror).referent,
 | 
| +      'thisLibrary.declarations[#somePredicate].type.referent':
 | 
| +          ((thisLibrary.declarations[#somePredicate] as VariableMirror).type
 | 
| +                  as TypedefMirror)
 | 
| +              .referent
 | 
| +    },
 | 
| +    {
 | 
| +      'reflectClass(A).typeVariables.single':
 | 
| +          reflectClass(A).typeVariables.single,
 | 
| +      'reflect(new A<int>()).type.originalDeclaration.typeVariables.single':
 | 
| +          reflect(new A<int>()).type.originalDeclaration.typeVariables.single
 | 
| +    },
 | 
| +    {'currentMirrorSystem()': currentMirrorSystem()},
 | 
| +    {'currentMirrorSystem().isolate': currentMirrorSystem().isolate},
 | 
| +    {
 | 
| +      'thisLibrary': thisLibrary,
 | 
| +      'reflectClass(A).owner': reflectClass(A).owner,
 | 
| +      'reflectClass(B).owner': reflectClass(B).owner,
 | 
| +      'reflect(new A()).type.owner': reflect(new A()).type.owner,
 | 
| +      'reflect(new B()).type.owner': reflect(new B()).type.owner
 | 
| +    },
 | 
|    ]);
 | 
|  }
 | 
| 
 |