Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: test/codegen/lib/mirrors/initializing_formals_test.dart

Issue 2265533002: Add mirrors tests (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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.initializing_formals;
6
7 import 'dart:mirrors';
8 import 'package:expect/expect.dart';
9
10 class Class<T> {
11 int intField;
12 bool boolField;
13 String stringField;
14 T tField;
15 dynamic _privateField;
16
17 Class.nongeneric(this.intField);
18 Class.named({this.boolField});
19 Class.optPos([this.stringField = 'default']);
20 Class.generic(this.tField);
21 Class.private(this._privateField);
22
23 Class.explicitType(num this.intField);
24 Class.withVar(var this.intField);
25 Class.withDynamic(dynamic this.intField);
26 }
27
28 class Constant {
29 final num value;
30 const Constant(this.value);
31 const Constant.marked(final this.value);
32 }
33
34 main() {
35 MethodMirror mm;
36 ParameterMirror pm;
37
38 mm = reflectClass(Class).declarations[#Class.nongeneric];
39 pm = mm.parameters.single;
40 Expect.equals(#intField, pm.simpleName);
41 Expect.equals(reflectClass(int), pm.type);
42 Expect.isFalse(pm.isNamed); /// 01: ok
43 Expect.isFalse(pm.isFinal); /// 01: ok
44 Expect.isFalse(pm.isOptional); /// 01: ok
45 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
46 Expect.isFalse(pm.isPrivate);
47 Expect.isFalse(pm.isStatic);
48 Expect.isFalse(pm.isTopLevel);
49
50 mm = reflectClass(Class).declarations[#Class.named];
51 pm = mm.parameters.single;
52 Expect.equals(#boolField, pm.simpleName);
53 Expect.equals(reflectClass(bool), pm.type);
54 Expect.isTrue(pm.isNamed); /// 01: ok
55 Expect.isFalse(pm.isFinal); /// 01: ok
56 Expect.isTrue(pm.isOptional); /// 01: ok
57 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
58 Expect.isFalse(pm.isPrivate);
59 Expect.isFalse(pm.isStatic);
60 Expect.isFalse(pm.isTopLevel);
61
62 mm = reflectClass(Class).declarations[#Class.optPos];
63 pm = mm.parameters.single;
64 Expect.equals(#stringField, pm.simpleName);
65 Expect.equals(reflectClass(String), pm.type);
66 Expect.isFalse(pm.isNamed); /// 01: ok
67 Expect.isFalse(pm.isFinal); /// 01: ok
68 Expect.isTrue(pm.isOptional); /// 01: ok
69 Expect.isTrue(pm.hasDefaultValue); /// 01: ok
70 Expect.equals('default', pm.defaultValue.reflectee); /// 01: ok
71 Expect.isFalse(pm.isPrivate);
72 Expect.isFalse(pm.isStatic);
73 Expect.isFalse(pm.isTopLevel);
74
75 mm = reflectClass(Class).declarations[#Class.generic];
76 pm = mm.parameters.single;
77 Expect.equals(#tField, pm.simpleName);
78 Expect.equals(reflectClass(Class).typeVariables.single, pm.type);
79 Expect.isFalse(pm.isNamed); /// 01: ok
80 Expect.isFalse(pm.isFinal); /// 01: ok
81 Expect.isFalse(pm.isOptional); /// 01: ok
82 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
83 Expect.isFalse(pm.isPrivate);
84 Expect.isFalse(pm.isStatic);
85 Expect.isFalse(pm.isTopLevel);
86
87 mm = reflectClass(Class).declarations[#Class.private];
88 pm = mm.parameters.single;
89 Expect.equals(#_privateField, pm.simpleName); /// 03: ok
90 Expect.equals(currentMirrorSystem().dynamicType, pm.type);
91 Expect.isFalse(pm.isNamed); /// 01: ok
92 Expect.isFalse(pm.isFinal); /// 01: ok
93 Expect.isFalse(pm.isOptional); /// 01: ok
94 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
95 Expect.isTrue(pm.isPrivate);
96 Expect.isFalse(pm.isStatic);
97 Expect.isFalse(pm.isTopLevel);
98
99 mm = reflectClass(Class).declarations[#Class.explicitType];
100 pm = mm.parameters.single;
101 Expect.equals(#intField, pm.simpleName);
102 Expect.equals(reflectClass(num), pm.type);
103 Expect.isFalse(pm.isNamed); /// 01: ok
104 Expect.isFalse(pm.isFinal); /// 01: ok
105 Expect.isFalse(pm.isOptional); /// 01: ok
106 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
107 Expect.isFalse(pm.isPrivate);
108 Expect.isFalse(pm.isStatic);
109 Expect.isFalse(pm.isTopLevel);
110
111 mm = reflectClass(Class).declarations[#Class.withVar];
112 pm = mm.parameters.single;
113 Expect.equals(#intField, pm.simpleName);
114 Expect.equals(reflectClass(int), pm.type);
115 Expect.isFalse(pm.isNamed); /// 01: ok
116 Expect.isFalse(pm.isFinal); /// 01: ok
117 Expect.isFalse(pm.isOptional); /// 01: ok
118 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
119 Expect.isFalse(pm.isPrivate);
120 Expect.isFalse(pm.isStatic);
121 Expect.isFalse(pm.isTopLevel);
122
123 mm = reflectClass(Class).declarations[#Class.withDynamic];
124 pm = mm.parameters.single;
125 Expect.equals(#intField, pm.simpleName);
126 Expect.equals(currentMirrorSystem().dynamicType, pm.type); // N.B.
127 Expect.isFalse(pm.isNamed); /// 01: ok
128 Expect.isFalse(pm.isFinal); /// 01: ok
129 Expect.isFalse(pm.isOptional); /// 01: ok
130 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
131 Expect.isFalse(pm.isPrivate);
132 Expect.isFalse(pm.isStatic);
133 Expect.isFalse(pm.isTopLevel);
134
135 mm = reflectClass(Constant).declarations[#Constant];
136 pm = mm.parameters.single;
137 Expect.equals(#value, pm.simpleName);
138 Expect.equals(reflectClass(num), pm.type);
139 Expect.isFalse(pm.isNamed); /// 01: ok
140 Expect.isFalse(pm.isFinal); // N.B. /// 01: ok
141 Expect.isFalse(pm.isOptional); /// 01: ok
142 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
143 Expect.isFalse(pm.isPrivate);
144 Expect.isFalse(pm.isStatic);
145 Expect.isFalse(pm.isTopLevel);
146
147 mm = reflectClass(Constant).declarations[#Constant.marked];
148 pm = mm.parameters.single;
149 Expect.equals(#value, pm.simpleName);
150 Expect.equals(reflectClass(num), pm.type);
151 Expect.isFalse(pm.isNamed); /// 01: ok
152 Expect.isTrue(pm.isFinal); // N.B. /// 01: ok
153 Expect.isFalse(pm.isOptional); /// 01: ok
154 Expect.isFalse(pm.hasDefaultValue); /// 01: ok
155 Expect.isFalse(pm.isPrivate);
156 Expect.isFalse(pm.isStatic);
157 Expect.isFalse(pm.isTopLevel);
158 }
OLDNEW
« no previous file with comments | « test/codegen/lib/mirrors/inherited_metadata_test.dart ('k') | test/codegen/lib/mirrors/instance_members_easier_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698