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

Side by Side Diff: tests/compiler/dart2js/mirrors_test.dart

Issue 14333011: Make source mirror ObjectMirror.getField synchronous (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ; 6 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ;
7 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util. dart'; 7 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util. dart';
8 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart'; 8 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart';
9 import '../../../sdk/lib/_internal/compiler/implementation/filenames.dart' 9 import '../../../sdk/lib/_internal/compiler/implementation/filenames.dart'
10 show currentDirectory, nativeToUriPath; 10 show currentDirectory, nativeToUriPath;
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 "// Singleline comment 2.", metadata.text); 259 "// Singleline comment 2.", metadata.text);
260 Expect.stringEquals( 260 Expect.stringEquals(
261 "Singleline comment 2.", metadata.trimmedText); 261 "Singleline comment 2.", metadata.trimmedText);
262 262
263 // @Metadata(null) 263 // @Metadata(null)
264 metadata = metadataList[metadataListIndex++]; 264 metadata = metadataList[metadataListIndex++];
265 Expect.isTrue(metadata is InstanceMirror); 265 Expect.isTrue(metadata is InstanceMirror);
266 Expect.isFalse(metadata.hasReflectee); 266 Expect.isFalse(metadata.hasReflectee);
267 Expect.throws(() => metadata.reflectee, (_) => true); 267 Expect.throws(() => metadata.reflectee, (_) => true);
268 Expect.equals(metadataType.originalDeclaration, metadata.type); 268 Expect.equals(metadataType.originalDeclaration, metadata.type);
269 metadata.getField('data').then((InstanceMirror data) { 269 InstanceMirror data = metadata.getField('data');
270 Expect.isNotNull(data); 270 Expect.isNotNull(data);
271 Expect.isTrue(data.hasReflectee); 271 Expect.isTrue(data.hasReflectee);
272 Expect.isNull(data.reflectee); 272 Expect.isNull(data.reflectee);
273 });
274 273
275 // @Metadata(true) 274 // @Metadata(true)
276 metadata = metadataList[metadataListIndex++]; 275 metadata = metadataList[metadataListIndex++];
277 Expect.isTrue(metadata is InstanceMirror); 276 Expect.isTrue(metadata is InstanceMirror);
278 Expect.isFalse(metadata.hasReflectee); 277 Expect.isFalse(metadata.hasReflectee);
279 Expect.throws(() => metadata.reflectee, (_) => true); 278 Expect.throws(() => metadata.reflectee, (_) => true);
280 Expect.equals(metadataType.originalDeclaration, metadata.type); 279 Expect.equals(metadataType.originalDeclaration, metadata.type);
281 metadata.getField('data').then((InstanceMirror data) { 280 data = metadata.getField('data');
282 Expect.isNotNull(data); 281 Expect.isNotNull(data);
283 Expect.isTrue(data.hasReflectee); 282 Expect.isTrue(data.hasReflectee);
284 Expect.isTrue(data.reflectee); 283 Expect.isTrue(data.reflectee);
285 });
286 284
287 // @Metadata(false) 285 // @Metadata(false)
288 metadata = metadataList[metadataListIndex++]; 286 metadata = metadataList[metadataListIndex++];
289 Expect.isTrue(metadata is InstanceMirror); 287 Expect.isTrue(metadata is InstanceMirror);
290 Expect.isFalse(metadata.hasReflectee); 288 Expect.isFalse(metadata.hasReflectee);
291 Expect.throws(() => metadata.reflectee, (_) => true); 289 Expect.throws(() => metadata.reflectee, (_) => true);
292 Expect.equals(metadataType.originalDeclaration, metadata.type); 290 Expect.equals(metadataType.originalDeclaration, metadata.type);
293 metadata.getField('data').then((InstanceMirror data) { 291 data = metadata.getField('data');
294 Expect.isNotNull(data); 292 Expect.isNotNull(data);
295 Expect.isTrue(data.hasReflectee); 293 Expect.isTrue(data.hasReflectee);
296 Expect.isFalse(data.reflectee); 294 Expect.isFalse(data.reflectee);
297 });
298 295
299 // @Metadata(0) 296 // @Metadata(0)
300 metadata = metadataList[metadataListIndex++]; 297 metadata = metadataList[metadataListIndex++];
301 Expect.isTrue(metadata is InstanceMirror); 298 Expect.isTrue(metadata is InstanceMirror);
302 Expect.isFalse(metadata.hasReflectee); 299 Expect.isFalse(metadata.hasReflectee);
303 Expect.throws(() => metadata.reflectee, (_) => true); 300 Expect.throws(() => metadata.reflectee, (_) => true);
304 Expect.equals(metadataType.originalDeclaration, metadata.type); 301 Expect.equals(metadataType.originalDeclaration, metadata.type);
305 metadata.getField('data').then((InstanceMirror data) { 302 data = metadata.getField('data');
306 Expect.isNotNull(data); 303 Expect.isNotNull(data);
307 Expect.isTrue(data.hasReflectee); 304 Expect.isTrue(data.hasReflectee);
308 Expect.equals(0, data.reflectee); 305 Expect.equals(0, data.reflectee);
309 });
310 306
311 // @Metadata(1.5) 307 // @Metadata(1.5)
312 metadata = metadataList[metadataListIndex++]; 308 metadata = metadataList[metadataListIndex++];
313 Expect.isTrue(metadata is InstanceMirror); 309 Expect.isTrue(metadata is InstanceMirror);
314 Expect.isFalse(metadata.hasReflectee); 310 Expect.isFalse(metadata.hasReflectee);
315 Expect.throws(() => metadata.reflectee, (_) => true); 311 Expect.throws(() => metadata.reflectee, (_) => true);
316 Expect.equals(metadataType.originalDeclaration, metadata.type); 312 Expect.equals(metadataType.originalDeclaration, metadata.type);
317 metadata.getField('data').then((InstanceMirror data) { 313 data = metadata.getField('data');
318 Expect.isNotNull(data); 314 Expect.isNotNull(data);
319 Expect.isTrue(data.hasReflectee); 315 Expect.isTrue(data.hasReflectee);
320 Expect.equals(1.5, data.reflectee); 316 Expect.equals(1.5, data.reflectee);
321 });
322 317
323 // @Metadata("Foo") 318 // @Metadata("Foo")
324 metadata = metadataList[metadataListIndex++]; 319 metadata = metadataList[metadataListIndex++];
325 Expect.isTrue(metadata is InstanceMirror); 320 Expect.isTrue(metadata is InstanceMirror);
326 Expect.isFalse(metadata.hasReflectee); 321 Expect.isFalse(metadata.hasReflectee);
327 Expect.throws(() => metadata.reflectee, (_) => true); 322 Expect.throws(() => metadata.reflectee, (_) => true);
328 Expect.equals(metadataType.originalDeclaration, metadata.type); 323 Expect.equals(metadataType.originalDeclaration, metadata.type);
329 metadata.getField('data').then((InstanceMirror data) { 324 data = metadata.getField('data');
330 Expect.isNotNull(data); 325 Expect.isNotNull(data);
331 Expect.isTrue(data.hasReflectee); 326 Expect.isTrue(data.hasReflectee);
332 Expect.stringEquals("Foo", data.reflectee); 327 Expect.stringEquals("Foo", data.reflectee);
333 });
334 328
335 // @Metadata(const ["Foo"]) 329 // @Metadata(const ["Foo"])
336 metadata = metadataList[metadataListIndex++]; 330 metadata = metadataList[metadataListIndex++];
337 Expect.isTrue(metadata is InstanceMirror); 331 Expect.isTrue(metadata is InstanceMirror);
338 Expect.isFalse(metadata.hasReflectee); 332 Expect.isFalse(metadata.hasReflectee);
339 Expect.throws(() => metadata.reflectee, (_) => true); 333 Expect.throws(() => metadata.reflectee, (_) => true);
340 Expect.equals(metadataType.originalDeclaration, metadata.type); 334 Expect.equals(metadataType.originalDeclaration, metadata.type);
341 metadata.getField('data').then((InstanceMirror data) { 335 data = metadata.getField('data');
342 Expect.isTrue(data is ListInstanceMirror); 336 Expect.isTrue(data is ListInstanceMirror);
343 Expect.isFalse(data.hasReflectee); 337 Expect.isFalse(data.hasReflectee);
344 Expect.throws(() => data.reflectee, (_) => true); 338 Expect.throws(() => data.reflectee, (_) => true);
345 ListInstanceMirror listData = data; 339 ListInstanceMirror listData = data;
346 Expect.equals(1, listData.length); 340 Expect.equals(1, listData.length);
347 listData[0].then((InstanceMirror element) { 341 InstanceMirror element = listData[0];
348 Expect.isNotNull(element); 342 Expect.isNotNull(element);
349 Expect.isTrue(element.hasReflectee); 343 Expect.isTrue(element.hasReflectee);
350 Expect.stringEquals("Foo", element.reflectee); 344 Expect.stringEquals("Foo", element.reflectee);
351 });
352 });
353 345
354 // @Metadata(/* Inline comment */ const {'foo':"Foo"}) 346 // @Metadata(/* Inline comment */ const {'foo':"Foo"})
355 metadata = metadataList[metadataListIndex++]; 347 metadata = metadataList[metadataListIndex++];
356 Expect.isTrue(metadata is InstanceMirror); 348 Expect.isTrue(metadata is InstanceMirror);
357 Expect.isFalse(metadata.hasReflectee); 349 Expect.isFalse(metadata.hasReflectee);
358 Expect.throws(() => metadata.reflectee, (_) => true); 350 Expect.throws(() => metadata.reflectee, (_) => true);
359 Expect.equals(metadataType.originalDeclaration, metadata.type); 351 Expect.equals(metadataType.originalDeclaration, metadata.type);
360 metadata.getField('data').then((InstanceMirror data) { 352 data = metadata.getField('data');
361 Expect.isTrue(data is MapInstanceMirror); 353 Expect.isTrue(data is MapInstanceMirror);
362 Expect.isFalse(data.hasReflectee); 354 Expect.isFalse(data.hasReflectee);
363 Expect.throws(() => data.reflectee, (_) => true); 355 Expect.throws(() => data.reflectee, (_) => true);
364 MapInstanceMirror mapData = data; 356 MapInstanceMirror mapData = data;
365 Expect.equals(1, mapData.length); 357 Expect.equals(1, mapData.length);
366 var it = mapData.keys.iterator; 358 var it = mapData.keys.iterator;
367 Expect.isTrue(it.moveNext()); 359 Expect.isTrue(it.moveNext());
368 Expect.stringEquals('foo', it.current); 360 Expect.stringEquals('foo', it.current);
369 mapData['foo'].then((InstanceMirror element) { 361 element = mapData['foo'];
370 Expect.isNotNull(element); 362 Expect.isNotNull(element);
371 Expect.isTrue(element.hasReflectee); 363 Expect.isTrue(element.hasReflectee);
372 Expect.stringEquals("Foo", element.reflectee); 364 Expect.stringEquals("Foo", element.reflectee);
373 }); 365 Expect.isNull(mapData['bar']);
374 Expect.isNull(mapData['bar']);
375 });
376 366
377 // @metadata 367 // @metadata
378 metadata = metadataList[metadataListIndex++]; 368 metadata = metadataList[metadataListIndex++];
379 Expect.isTrue(metadata is InstanceMirror); 369 Expect.isTrue(metadata is InstanceMirror);
380 Expect.isFalse(metadata.hasReflectee); 370 Expect.isFalse(metadata.hasReflectee);
381 Expect.throws(() => metadata.reflectee, (_) => true); 371 Expect.throws(() => metadata.reflectee, (_) => true);
382 Expect.equals(metadataType.originalDeclaration, metadata.type); 372 Expect.equals(metadataType.originalDeclaration, metadata.type);
383 metadata.getField('data').then((InstanceMirror data) { 373 data = metadata.getField('data');
384 Expect.isNotNull(data); 374 Expect.isNotNull(data);
385 Expect.isTrue(data.hasReflectee); 375 Expect.isTrue(data.hasReflectee);
386 Expect.isNull(data.reflectee); 376 Expect.isNull(data.reflectee);
387 });
388 377
389 // /** Multiline doc comment. */ 378 // /** Multiline doc comment. */
390 metadata = metadataList[metadataListIndex++]; 379 metadata = metadataList[metadataListIndex++];
391 Expect.isTrue(metadata is InstanceMirror); 380 Expect.isTrue(metadata is InstanceMirror);
392 Expect.isFalse(metadata.hasReflectee); 381 Expect.isFalse(metadata.hasReflectee);
393 Expect.throws(() => metadata.reflectee, (_) => true); 382 Expect.throws(() => metadata.reflectee, (_) => true);
394 Expect.isTrue(metadata is CommentInstanceMirror); 383 Expect.isTrue(metadata is CommentInstanceMirror);
395 Expect.equals(commentType.originalDeclaration, metadata.type); 384 Expect.equals(commentType.originalDeclaration, metadata.type);
396 Expect.isTrue(metadata.isDocComment); 385 Expect.isTrue(metadata.isDocComment);
397 Expect.stringEquals( 386 Expect.stringEquals(
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 Expect.isTrue(privateFactoryConstructor.isPrivate); 1048 Expect.isTrue(privateFactoryConstructor.isPrivate);
1060 Expect.isFalse(privateFactoryConstructor.isConstConstructor); 1049 Expect.isFalse(privateFactoryConstructor.isConstConstructor);
1061 Expect.isFalse(privateFactoryConstructor.isRedirectingConstructor); 1050 Expect.isFalse(privateFactoryConstructor.isRedirectingConstructor);
1062 Expect.isFalse(privateFactoryConstructor.isGenerativeConstructor); 1051 Expect.isFalse(privateFactoryConstructor.isGenerativeConstructor);
1063 Expect.isTrue(privateFactoryConstructor.isFactoryConstructor); 1052 Expect.isTrue(privateFactoryConstructor.isFactoryConstructor);
1064 1053
1065 var metadata = privateClass.metadata; 1054 var metadata = privateClass.metadata;
1066 Expect.isNotNull(metadata); 1055 Expect.isNotNull(metadata);
1067 Expect.equals(0, metadata.length); 1056 Expect.equals(0, metadata.length);
1068 } 1057 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698