| Index: dart/tests/compiler/dart2js/mirrors_used_test.dart | 
| diff --git a/dart/tests/compiler/dart2js/mirrors_used_test.dart b/dart/tests/compiler/dart2js/mirrors_used_test.dart | 
| index 09fdd29c9b883a28848d4f775b1914e9865e1c14..f3719a5cdc3353b294c976bc46c93e478eb3b18f 100644 | 
| --- a/dart/tests/compiler/dart2js/mirrors_used_test.dart | 
| +++ b/dart/tests/compiler/dart2js/mirrors_used_test.dart | 
| @@ -48,7 +48,7 @@ void main() { | 
| // 2. Some code was refactored, and there are more methods. | 
| // Either situation could be problematic, but in situation 2, it is often | 
| // acceptable to increase [expectedMethodCount] a little. | 
| -  int expectedMethodCount = 315; | 
| +  int expectedMethodCount = 317; | 
| Expect.isTrue( | 
| generatedCode.length <= expectedMethodCount, | 
| 'Too many compiled methods: ' | 
| @@ -56,11 +56,15 @@ void main() { | 
|  | 
| for (var library in compiler.libraries.values) { | 
| library.forEachLocalMember((member) { | 
| -      if (library == compiler.mainApp) { | 
| -        // TODO(ahe): We currently retain the entire library. Update this test | 
| -        // to test that only Foo is retained. | 
| +      if (library == compiler.mainApp | 
| +          && member.name == const SourceString('Foo')) { | 
| Expect.isTrue( | 
| compiler.backend.isNeededForReflection(member), '$member'); | 
| +        member.forEachLocalMember((classMember) { | 
| +          Expect.isTrue( | 
| +              compiler.backend.isNeededForReflection(classMember), | 
| +              '$classMember'); | 
| +        }); | 
| } else { | 
| Expect.isFalse( | 
| compiler.backend.isNeededForReflection(member), '$member'); | 
| @@ -76,7 +80,14 @@ import 'dart:mirrors'; | 
|  | 
| import 'library.dart'; | 
|  | 
| -class Foo {} | 
| +class Foo { | 
| +  int field; | 
| +  instanceMethod() {} | 
| +  static staticMethod() {} | 
| +} | 
| + | 
| +unusedFunction() { | 
| +} | 
|  | 
| main() { | 
| useReflect(Foo); | 
|  |