OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library test.synthetic_accessor_properties; | |
6 | |
7 import 'dart:mirrors'; | |
8 import 'package:expect/expect.dart'; | |
9 | |
10 import 'stringify.dart'; | |
11 | |
12 class C { | |
13 String instanceField; | |
14 final num finalInstanceField = 2; | |
15 | |
16 static bool staticField; | |
17 static final int finalStaticField = 4; | |
18 } | |
19 | |
20 String topLevelField; | |
21 final double finalTopLevelField = 6.0; | |
22 | |
23 | |
24 main() { | |
25 ClassMirror cm = reflectClass(C); | |
26 LibraryMirror lm = cm.owner; | |
27 MethodMirror mm; | |
28 ParameterMirror pm; | |
29 | |
30 mm = cm.instanceMembers[#instanceField]; | |
31 expect('Method(s(instanceField) in s(C), synthetic, getter)', mm); | |
32 Expect.equals(reflectClass(String), mm.returnType); | |
33 Expect.listEquals([], mm.parameters); | |
34 | |
35 mm = cm.instanceMembers[const Symbol('instanceField=')]; | |
36 expect('Method(s(instanceField=) in s(C), synthetic, setter)', mm); | |
37 Expect.equals(reflectClass(String), mm.returnType); | |
38 pm = mm.parameters.single; | |
39 expect('Parameter(s(instanceField) in s(instanceField=), final,' | |
40 ' type = Class(s(String) in s(dart.core), top-level))', pm); | |
41 | |
42 mm = cm.instanceMembers[#finalInstanceField]; | |
43 expect('Method(s(finalInstanceField) in s(C), synthetic, getter)', mm); | |
44 Expect.equals(reflectClass(num), mm.returnType); | |
45 Expect.listEquals([], mm.parameters); | |
46 | |
47 mm = cm.instanceMembers[const Symbol('finalInstanceField=')]; | |
48 Expect.isNull(mm); | |
49 | |
50 | |
51 | |
52 mm = cm.staticMembers[#staticField]; | |
53 expect('Method(s(staticField) in s(C), synthetic, static, getter)', mm); | |
54 Expect.equals(reflectClass(bool), mm.returnType); | |
55 Expect.listEquals([], mm.parameters); | |
56 | |
57 mm = cm.staticMembers[const Symbol('staticField=')]; | |
58 expect('Method(s(staticField=) in s(C), synthetic, static, setter)', mm); | |
59 Expect.equals(reflectClass(bool), mm.returnType); | |
60 pm = mm.parameters.single; | |
61 expect('Parameter(s(staticField) in s(staticField=), final,' | |
62 ' type = Class(s(bool) in s(dart.core), top-level))', pm); | |
63 | |
64 mm = cm.staticMembers[#finalStaticField]; | |
65 expect('Method(s(finalStaticField) in s(C), synthetic, static, getter)', mm); | |
66 Expect.equals(reflectClass(int), mm.returnType); | |
67 Expect.listEquals([], mm.parameters); | |
68 | |
69 mm = cm.staticMembers[const Symbol('finalStaticField=')]; | |
70 Expect.isNull(mm); | |
71 | |
72 | |
73 | |
74 mm = lm.topLevelMembers[#topLevelField]; | |
75 expect('Method(s(topLevelField) in s(test.synthetic_accessor_properties),' | |
76 ' top-level, synthetic, static, getter)', mm); | |
77 Expect.equals(reflectClass(String), mm.returnType); | |
78 Expect.listEquals([], mm.parameters); | |
79 | |
80 mm = lm.topLevelMembers[const Symbol('topLevelField=')]; | |
81 expect('Method(s(topLevelField=) in s(test.synthetic_accessor_properties),' | |
82 ' top-level, synthetic, static, setter)', mm); | |
83 Expect.equals(reflectClass(String), mm.returnType); | |
84 pm = mm.parameters.single; | |
85 expect('Parameter(s(topLevelField) in s(topLevelField=), final,' | |
86 ' type = Class(s(String) in s(dart.core), top-level))', pm); | |
87 | |
88 mm = lm.topLevelMembers[#finalTopLevelField]; | |
89 expect('Method(s(finalTopLevelField) in s(test.synthetic_accessor_properties)' | |
90 ', top-level, synthetic, static, getter)', mm); | |
91 Expect.equals(reflectClass(double), mm.returnType); | |
92 Expect.listEquals([], mm.parameters); | |
93 | |
94 mm = lm.topLevelMembers[const Symbol('finalTopLevelField=')]; | |
95 Expect.isNull(mm); | |
96 | |
97 mm = lm.topLevelMembers[#C]; | |
98 expect('Method(s(C) in s(test.synthetic_accessor_properties),' | |
99 ' top-level, synthetic, static, getter)', mm); | |
100 Expect.equals(reflectClass(C), mm.returnType); | |
gbracha
2013/11/14 19:21:21
Should be Type
rmacnak
2013/11/14 22:19:02
Done.
| |
101 Expect.listEquals([], mm.parameters); | |
102 | |
103 mm = lm.topLevelMembers[const Symbol('C=')]; | |
104 Expect.isNull(mm); | |
105 } | |
OLD | NEW |