| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Test that classes referenced from a signature of a tear-off closure | 5 @MirrorsUsed(targets: const ["A"]) |
| 6 // are emitted. | |
| 7 | |
| 8 @MirrorsUsed(targets: 'C') | |
| 9 import 'dart:mirrors'; | 6 import 'dart:mirrors'; |
| 10 | 7 |
| 11 import 'package:expect/expect.dart'; | 8 import 'package:expect/expect.dart'; |
| 12 | 9 |
| 13 class A {} | 10 class A { |
| 14 | 11 toString() => "A"; |
| 15 class C { | |
| 16 A foo() {} | |
| 17 } | 12 } |
| 18 | 13 |
| 19 main() { | 14 main() { |
| 20 Expect.isFalse(reflect(new C().foo).function.returnType.toString() | 15 // The invocation cache must not find the 'toString' from JavaScript's |
| 21 .contains('dynamic')); | 16 // Object.prototype. |
| 17 var toString = reflect(new A()).getField(#toString).reflectee; |
| 18 Expect.equals("A", Function.apply(toString, [], {})); |
| 22 } | 19 } |
| OLD | NEW |