| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |