OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 library test.parameter_metadata_test; | 5 library test.parameter_metadata_test; |
6 | 6 |
7 import 'dart:mirrors'; | 7 import 'dart:mirrors'; |
8 | 8 |
9 import 'metadata_test.dart'; | 9 import 'metadata_test.dart'; |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 baz(@m1 final int x, @m2 int y, @m3 final int z) {} | 25 baz(@m1 final int x, @m2 int y, @m3 final int z) {} |
26 qux(int x, [@m3 @m2 @m1 int y= 3 + 1]) {} | 26 qux(int x, [@m3 @m2 @m1 int y= 3 + 1]) {} |
27 quux(int x, {String str: "foo"}) {} | 27 quux(int x, {String str: "foo"}) {} |
28 corge({@m1 int x: 3 * 17, @m2 String str: "bar"}) {} | 28 corge({@m1 int x: 3 * 17, @m2 String str: "bar"}) {} |
29 | 29 |
30 set x(@m2 final value) {} | 30 set x(@m2 final value) {} |
31 } | 31 } |
32 | 32 |
33 main() { | 33 main() { |
34 ClassMirror cm = reflectClass(B); | 34 ClassMirror cm = reflectClass(B); |
| 35 MethodMirror mm; |
35 | 36 |
36 checkMetadata(cm.constructors[#B.foo].parameters[0], []); | 37 mm = cm.declarations[#B.foo]; |
| 38 checkMetadata(mm.parameters[0], []); |
37 | 39 |
38 checkMetadata(cm.constructors[#B.bar].parameters[0], [m3, m2]); | 40 mm = cm.declarations[#B.bar]; |
39 checkMetadata(cm.constructors[#B.bar].parameters[1], []); | 41 checkMetadata(mm.parameters[0], [m3, m2]); |
| 42 checkMetadata(mm.parameters[1], []); |
40 | 43 |
41 checkMetadata(cm.methods[#baz].parameters[0], [m1]); | 44 mm = cm.declarations[#baz]; |
42 checkMetadata(cm.methods[#baz].parameters[1], [m2]); | 45 checkMetadata(mm.parameters[0], [m1]); |
43 checkMetadata(cm.methods[#baz].parameters[2], [m3]); | 46 checkMetadata(mm.parameters[1], [m2]); |
| 47 checkMetadata(mm.parameters[2], [m3]); |
44 | 48 |
45 checkMetadata(cm.methods[#qux].parameters[0], []); | 49 mm = cm.declarations[#qux]; |
46 checkMetadata(cm.methods[#qux].parameters[1], [m3, m2, m1]); | 50 checkMetadata(mm.parameters[0], []); |
| 51 checkMetadata(mm.parameters[1], [m3, m2, m1]); |
47 | 52 |
48 checkMetadata(cm.methods[#quux].parameters[0], []); | 53 mm = cm.declarations[#quux]; |
49 checkMetadata(cm.methods[#quux].parameters[1], []); | 54 checkMetadata(mm.parameters[0], []); |
| 55 checkMetadata(mm.parameters[1], []); |
50 | 56 |
51 checkMetadata(cm.methods[#corge].parameters[0], [m1]); | 57 mm = cm.declarations[#corge]; |
52 checkMetadata(cm.methods[#corge].parameters[1], [m2]); | 58 checkMetadata(mm.parameters[0], [m1]); |
| 59 checkMetadata(mm.parameters[1], [m2]); |
53 | 60 |
54 checkMetadata(cm.setters[const Symbol('x=')].parameters[0], [m2]); | 61 mm = cm.declarations[const Symbol('x=')]; |
| 62 checkMetadata(mm.parameters[0], [m2]); |
55 } | 63 } |
OLD | NEW |