OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 @MirrorsUsed(targets: const ["A", "B", "f", "g"]) |
5 import 'dart:mirrors'; | 6 import 'dart:mirrors'; |
6 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
7 | 8 |
8 class A { | 9 class A { |
9 const A(); | 10 const A(); |
10 } | 11 } |
11 | 12 |
12 class B { | 13 class B { |
13 const B(); | 14 const B(); |
14 } | 15 } |
15 | 16 |
16 typedef void f(@A() int, String); | 17 typedef void f(@A() int, String); |
17 | 18 |
18 typedef void g(@B() int, String); | 19 typedef void g(@B() int, String); |
19 | 20 |
20 main() { | 21 main() { |
21 ParameterMirror fParamMirror = (reflectType(f) as TypedefMirror).referent.para
meters[0]; | 22 ParameterMirror fParamMirror = (reflectType(f) as TypedefMirror).referent.para
meters[0]; |
22 ParameterMirror gParamMirror = (reflectType(g) as TypedefMirror).referent.para
meters[0]; | 23 ParameterMirror gParamMirror = (reflectType(g) as TypedefMirror).referent.para
meters[0]; |
23 Expect.equals('.A', MirrorSystem.getName(fParamMirror.metadata[0].type.qualifi
edName)); | 24 Expect.equals('.A', MirrorSystem.getName(fParamMirror.metadata[0].type.qualifi
edName)); |
24 Expect.equals('.B', MirrorSystem.getName(gParamMirror.metadata[0].type.qualifi
edName)); | 25 Expect.equals('.B', MirrorSystem.getName(gParamMirror.metadata[0].type.qualifi
edName)); |
25 } | 26 } |
OLD | NEW |