| 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 // SharedOptions=--enable-enum | 5 @MirrorsUsed(targets: const ["A"]) |
| 6 | |
| 7 import 'dart:mirrors'; | 6 import 'dart:mirrors'; |
| 8 | 7 |
| 9 import 'package:expect/expect.dart'; | 8 import 'package:expect/expect.dart'; |
| 10 | 9 |
| 11 enum Foo { BAR, BAZ } | 10 class A { |
| 11 toString() => "A"; |
| 12 } |
| 12 | 13 |
| 13 main() { | 14 main() { |
| 14 Expect.equals('Foo.BAR', Foo.BAR.toString()); | 15 // The invocation cache must not find the 'toString' from JavaScript's |
| 15 var name = reflect(Foo.BAR).invoke(#toString, []).reflectee; | 16 // Object.prototype. |
| 16 Expect.equals('Foo.BAR', name); | 17 var toString = reflect(new A()).getField(#toString).reflectee; |
| 18 Expect.equals("A", Function.apply(toString, [], {})); |
| 17 } | 19 } |
| OLD | NEW |