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

Side by Side Diff: tests/lib/mirrors/parameter_test.dart

Issue 63363003: Cascaded mirror removal revert. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
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 // This tests uses the multi-test "ok" feature: 5 // This tests uses the multi-test "ok" feature:
6 // none: Desired behaviour, passing on the VM. 6 // none: Desired behaviour, passing on the VM.
7 // 01: Trimmed version for dart2js. 7 // 01: Trimmed version for dart2js.
8 // 8 //
9 // TODO(rmacnak,ahe): Remove multi-test when VM and dart2js are on par. 9 // TODO(rmacnak,ahe): Remove multi-test when VM and dart2js are on par.
10 10
(...skipping 27 matching lines...) Expand all
38 } 38 }
39 39
40 class C <S extends int, T> { 40 class C <S extends int, T> {
41 // TODO(6490): Currently only supported by the VM. 41 // TODO(6490): Currently only supported by the VM.
42 foo(int a, S b) => b; 42 foo(int a, S b) => b;
43 bar(S a, T b, num c) {} 43 bar(S a, T b, num c) {}
44 } 44 }
45 45
46 main() { 46 main() {
47 ClassMirror cm = reflectClass(B); 47 ClassMirror cm = reflectClass(B);
48 var constructors = new Map<Symbol, MethodMirror>(); 48 Map<Symbol, MethodMirror> constructors = cm.constructors;
49 cm.declarations.forEach((k, v) {
50 if (v is MethodMirror && v.isConstructor) constructors[k] = v;
51 });
52 49
53 List<Symbol> constructorKeys = 50 List<Symbol> constructorKeys =
54 [#B, #B.bar, #B.baz, #B.foo, #B.quux, #B.qux, #B.corge]; 51 [#B, #B.bar, #B.baz, #B.foo, #B.quux, #B.qux, #B.corge];
55 Expect.setEquals(constructorKeys, constructors.keys); 52 Expect.setEquals(constructorKeys, constructors.keys);
56 53
57 MethodMirror unnamedConstructor = constructors[#B]; 54 MethodMirror unnamedConstructor = constructors[#B];
58 expect('Method(s(B) in s(B), constructor)', unnamedConstructor); 55 expect('Method(s(B) in s(B), constructor)', unnamedConstructor);
59 expect('[]', unnamedConstructor.parameters); 56 expect('[]', unnamedConstructor.parameters);
60 expect('Class(s(B) in s(test.parameter_test), top-level)', 57 expect('Class(s(B) in s(test.parameter_test), top-level)',
61 unnamedConstructor.returnType); 58 unnamedConstructor.returnType);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 expect('[Parameter(s(x) in s(B.corge), optional, named,' 117 expect('[Parameter(s(x) in s(B.corge), optional, named,'
121 ' value = Instance(value = 51),' 118 ' value = Instance(value = 51),'
122 ' type = Class(s(int) in s(dart.core), top-level)), ' 119 ' type = Class(s(int) in s(dart.core), top-level)), '
123 'Parameter(s(str) in s(B.corge), optional, named,' 120 'Parameter(s(str) in s(B.corge), optional, named,'
124 ' value = Instance(value = bar),' 121 ' value = Instance(value = bar),'
125 ' type = Class(s(String) in s(dart.core), top-level))]', 122 ' type = Class(s(String) in s(dart.core), top-level))]',
126 corgeConstructor.parameters); 123 corgeConstructor.parameters);
127 expect('Class(s(B) in s(test.parameter_test), top-level)', 124 expect('Class(s(B) in s(test.parameter_test), top-level)',
128 corgeConstructor.returnType); 125 corgeConstructor.returnType);
129 126
130 MethodMirror xGetter = cm.declarations[#x]; 127 MethodMirror xGetter = cm.getters[#x];
131 expect('Method(s(x) in s(B), getter)', xGetter); 128 expect('Method(s(x) in s(B), getter)', xGetter);
132 expect('[]', xGetter.parameters); 129 expect('[]', xGetter.parameters);
133 130
134 MethodMirror xSetter = cm.declarations[const Symbol('x=')]; 131 MethodMirror xSetter = cm.setters[const Symbol('x=')];
135 expect('Method(s(x=) in s(B), setter)', xSetter); 132 expect('Method(s(x=) in s(B), setter)', xSetter);
136 expect('[Parameter(s(value) in s(x=), final,' 133 expect('[Parameter(s(value) in s(x=), final,'
137 ' type = Type(s(dynamic), top-level))]', 134 ' type = Type(s(dynamic), top-level))]',
138 xSetter.parameters); 135 xSetter.parameters);
139 136
140 MethodMirror grault = cm.declarations[#grault]; 137 MethodMirror grault = cm.members[#grault];
141 expect('Method(s(grault) in s(B))', grault); 138 expect('Method(s(grault) in s(B))', grault);
142 expect('[Parameter(s(x) in s(grault), optional,' 139 expect('[Parameter(s(x) in s(grault), optional,'
143 ' type = Class(s(int) in s(dart.core), top-level))]', 140 ' type = Class(s(int) in s(dart.core), top-level))]',
144 grault.parameters); 141 grault.parameters);
145 expect('Instance(value = <null>)', grault.parameters[0].defaultValue); 142 expect('Instance(value = <null>)', grault.parameters[0].defaultValue);
146 143
147 MethodMirror garply = cm.declarations[#garply]; 144 MethodMirror garply = cm.members[#garply];
148 expect('Method(s(garply) in s(B))', garply); 145 expect('Method(s(garply) in s(B))', garply);
149 expect('[Parameter(s(y) in s(garply), optional, named,' 146 expect('[Parameter(s(y) in s(garply), optional, named,'
150 ' type = Class(s(int) in s(dart.core), top-level))]', 147 ' type = Class(s(int) in s(dart.core), top-level))]',
151 garply.parameters); 148 garply.parameters);
152 expect('Instance(value = <null>)', garply.parameters[0].defaultValue); 149 expect('Instance(value = <null>)', garply.parameters[0].defaultValue);
153 150
154 MethodMirror waldo = cm.declarations[#waldo]; 151 MethodMirror waldo = cm.members[#waldo];
155 expect('Method(s(waldo) in s(B))', waldo); 152 expect('Method(s(waldo) in s(B))', waldo);
156 expect('[Parameter(s(z) in s(waldo),' 153 expect('[Parameter(s(z) in s(waldo),'
157 ' type = Class(s(int) in s(dart.core), top-level))]', 154 ' type = Class(s(int) in s(dart.core), top-level))]',
158 waldo.parameters); 155 waldo.parameters);
159 expect('<null>', waldo.parameters[0].defaultValue); 156 expect('<null>', waldo.parameters[0].defaultValue);
160 157
161 cm = reflectClass(C); 158 cm = reflectClass(C);
162 159
163 MethodMirror fooInC = cm.declarations[#foo]; 160 MethodMirror fooInC = cm.members[#foo];
164 expect('Method(s(foo) in s(C))', fooInC); 161 expect('Method(s(foo) in s(C))', fooInC);
165 expect('[Parameter(s(a) in s(foo),' 162 expect('[Parameter(s(a) in s(foo),'
166 ' type = Class(s(int) in s(dart.core), top-level)), ' 163 ' type = Class(s(int) in s(dart.core), top-level)), '
167 'Parameter(s(b) in s(foo),' 164 'Parameter(s(b) in s(foo),'
168 ' type = TypeVariable(s(S) in s(C),' 165 ' type = TypeVariable(s(S) in s(C),'
169 ' upperBound = Class(s(int) in s(dart.core), top-level)))]', 166 ' upperBound = Class(s(int) in s(dart.core), top-level)))]',
170 fooInC.parameters); 167 fooInC.parameters);
171 168
172 MethodMirror barInC = cm.declarations[#bar]; 169 MethodMirror barInC = cm.members[#bar];
173 expect('Method(s(bar) in s(C))', barInC); 170 expect('Method(s(bar) in s(C))', barInC);
174 expect('[Parameter(s(a) in s(bar),' 171 expect('[Parameter(s(a) in s(bar),'
175 ' type = TypeVariable(s(S) in s(C),' 172 ' type = TypeVariable(s(S) in s(C),'
176 ' upperBound = Class(s(int) in s(dart.core), top-level))), ' 173 ' upperBound = Class(s(int) in s(dart.core), top-level))), '
177 'Parameter(s(b) in s(bar),' 174 'Parameter(s(b) in s(bar),'
178 ' type = TypeVariable(s(T) in s(C),' 175 ' type = TypeVariable(s(T) in s(C),'
179 ' upperBound = Class(s(Object) in s(dart.core), top-level))), ' 176 ' upperBound = Class(s(Object) in s(dart.core), top-level))), '
180 'Parameter(s(c) in s(bar),' 177 'Parameter(s(c) in s(bar),'
181 ' type = Class(s(num) in s(dart.core), top-level))]', 178 ' type = Class(s(num) in s(dart.core), top-level))]',
182 barInC.parameters); 179 barInC.parameters);
183 } 180 }
OLDNEW
« no previous file with comments | « tests/lib/mirrors/parameter_metadata_test.dart ('k') | tests/lib/mirrors/private_symbol_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698