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

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

Issue 1534033003: VM: Fix crash parsing metadata with a closure as a const constructor argument. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « tests/lib/lib.status ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 library test.metadata_allowed_values; 5 library test.metadata_allowed_values;
6 6
7 import 'dart:mirrors'; 7 import 'dart:mirrors';
8 import 'package:expect/expect.dart'; 8 import 'package:expect/expect.dart';
9 9
10 import 'metadata_allowed_values_import.dart'; // Unprefixed. 10 import 'metadata_allowed_values_import.dart'; // Unprefixed.
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 142
143 @a[0] /// 26: compile-time error 143 @a[0] /// 26: compile-time error
144 class JJ {} 144 class JJ {}
145 145
146 @kk /// 27: compile-time error 146 @kk /// 27: compile-time error
147 class KK { 147 class KK {
148 const KK(); 148 const KK();
149 } 149 }
150 get kk => const KK(); 150 get kk => const KK();
151 151
152 @LL(() => 42) /// 28: compile-time error
153 class LL {
154 final field;
155 const LL(this.field);
156 }
157
158 @MM((x) => 42) /// 29: compile-time error
159 class MM {
160 final field;
161 const MM(this.field);
162 }
163
164 @NN(() {}) /// 30: compile-time error
165 class NN {
166 final field;
167 const NN(this.field);
168 }
169
170 @OO(() { () {} }) /// 31: compile-time error
171 class OO {
172 final field;
173 const OO(this.field);
174 }
175
152 checkMetadata(DeclarationMirror mirror, List expectedMetadata) { 176 checkMetadata(DeclarationMirror mirror, List expectedMetadata) {
153 Expect.listEquals(expectedMetadata.map(reflect).toList(), mirror.metadata); 177 Expect.listEquals(expectedMetadata.map(reflect).toList(), mirror.metadata);
154 } 178 }
155 179
156 main() { 180 main() {
157 reflectClass(A).metadata; 181 reflectClass(A).metadata;
158 checkMetadata(reflectClass(B), [B.CONSTANT]); 182 checkMetadata(reflectClass(B), [B.CONSTANT]);
159 checkMetadata(reflectClass(C), [const C(3)]); 183 checkMetadata(reflectClass(C), [const C(3)]);
160 checkMetadata(reflectClass(D), [const D.named(4)]); 184 checkMetadata(reflectClass(D), [const D.named(4)]);
161 reflectClass(E).metadata; 185 reflectClass(E).metadata;
(...skipping 22 matching lines...) Expand all
184 reflectClass(BB).metadata; 208 reflectClass(BB).metadata;
185 reflectClass(CC).metadata; 209 reflectClass(CC).metadata;
186 reflectClass(DD).metadata; 210 reflectClass(DD).metadata;
187 reflectClass(EE).metadata; 211 reflectClass(EE).metadata;
188 reflectClass(FF).metadata; 212 reflectClass(FF).metadata;
189 reflectClass(GG).metadata; 213 reflectClass(GG).metadata;
190 reflectClass(HH).metadata; 214 reflectClass(HH).metadata;
191 reflectClass(II).metadata; 215 reflectClass(II).metadata;
192 reflectClass(JJ).metadata; 216 reflectClass(JJ).metadata;
193 reflectClass(KK).metadata; 217 reflectClass(KK).metadata;
218 reflectClass(LL).metadata;
219 reflectClass(MM).metadata;
220 reflectClass(NN).metadata;
221 reflectClass(OO).metadata;
194 } 222 }
OLDNEW
« no previous file with comments | « tests/lib/lib.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698