Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2015, the Dart Team. All rights reserved. Use of this | 1 // Copyright (c) 2015, the Dart Team. All rights reserved. Use of this |
| 2 // source code is governed by a BSD-style license that can be found in | 2 // source code is governed by a BSD-style license that can be found in |
| 3 // the LICENSE file. | 3 // the LICENSE file. |
| 4 | 4 |
| 5 // This file defines the same types as sdk/lib/mirrors/mirrors.dart, in | 5 // This file defines the same types as sdk/lib/mirrors/mirrors.dart, in |
| 6 // order to enable code using [dart:mirrors] to switch to using | 6 // order to enable code using [dart:mirrors] to switch to using |
| 7 // [Reflectable] based mirrors with the smallest possible change. | 7 // [Reflectable] based mirrors with the smallest possible change. |
| 8 // The changes are discussed below, under headings on the form | 8 // The changes are discussed below, under headings on the form |
| 9 // 'API Change: ..'. | 9 // 'API Change: ..'. |
| 10 | 10 |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 302 } | 302 } |
| 303 | 303 |
| 304 abstract class CombinatorMirror implements Mirror { | 304 abstract class CombinatorMirror implements Mirror { |
| 305 List<String> get identifiers; | 305 List<String> get identifiers; |
| 306 bool get isShow; | 306 bool get isShow; |
| 307 bool get isHide; | 307 bool get isHide; |
| 308 } | 308 } |
| 309 | 309 |
| 310 abstract class TypeMirror implements DeclarationMirror { | 310 abstract class TypeMirror implements DeclarationMirror { |
| 311 bool get hasReflectedType; | 311 bool get hasReflectedType; |
| 312 Type get reflectedType; | 312 Type get reflectedType; |
|
sigurdm
2015/11/26 10:18:03
Document conditions for availability.
eernst
2015/11/26 11:24:00
Done.
| |
| 313 List<TypeVariableMirror> get typeVariables; | 313 List<TypeVariableMirror> get typeVariables; |
| 314 List<TypeMirror> get typeArguments; | 314 List<TypeMirror> get typeArguments; |
| 315 bool get isOriginalDeclaration; | 315 bool get isOriginalDeclaration; |
| 316 TypeMirror get originalDeclaration; | 316 TypeMirror get originalDeclaration; |
| 317 | 317 |
| 318 // Possible ARG: Type. | 318 // Possible ARG: Type. |
| 319 // Input from Gilad on this issue: | 319 // Input from Gilad on this issue: |
| 320 // I think we could consider using Type objects as arguments, because that is | 320 // I think we could consider using Type objects as arguments, because that is |
| 321 // actually more uniform; in general, the mirror API takes in base level | 321 // actually more uniform; in general, the mirror API takes in base level |
| 322 // objects and produces meta-level objects. As a practical matter, I'd say we | 322 // objects and produces meta-level objects. As a practical matter, I'd say we |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 335 bool get isAbstract; | 335 bool get isAbstract; |
| 336 bool get isEnum; | 336 bool get isEnum; |
| 337 | 337 |
| 338 // The non-abstract members declared in this class. | 338 // The non-abstract members declared in this class. |
| 339 Map<String, DeclarationMirror> get declarations; | 339 Map<String, DeclarationMirror> get declarations; |
| 340 Map<String, MethodMirror> get instanceMembers; | 340 Map<String, MethodMirror> get instanceMembers; |
| 341 Map<String, MethodMirror> get staticMembers; | 341 Map<String, MethodMirror> get staticMembers; |
| 342 | 342 |
| 343 ClassMirror get mixin; | 343 ClassMirror get mixin; |
| 344 | 344 |
| 345 /// Return true iff this class mirror is capable of delivering its | |
|
sigurdm
2015/11/26 10:18:03
Returns
eernst
2015/11/26 11:23:59
Done, fixed 10 occurrences of `/// [verb-not-in-pr
| |
| 346 /// [dynamicReflectedType]. | |
|
sigurdm
2015/11/26 10:18:03
Explain when this is/is not the case.
eernst
2015/11/26 11:24:00
Done.
| |
| 347 bool get hasDynamicReflectedType; | |
| 348 | |
| 349 /// Return the [Type] object representing the fully dynamic instantiation of | |
|
sigurdm
2015/11/26 10:18:03
Returns ...
eernst
2015/11/26 11:24:00
Done.
| |
| 350 /// this class if it is generic, and return the [Type] object representing | |
| 351 /// this class if it is not generic. The fully dynamic instantiation of a | |
| 352 /// generic class `C` is the application of `C` to a type argument list of | |
| 353 /// the appropriate length where every argument is `dynamic`. For instance, | |
| 354 /// the fully dynamic instantiation of `List` and `Map` is `List<dynamic>` | |
| 355 /// respectively `Map<dynamic, dynamic>`. | |
|
sigurdm
2015/11/26 10:18:03
Write about the relation to hasDynamicReflectedTyp
eernst
2015/11/26 11:24:00
Done.
| |
| 356 Type get dynamicReflectedType; | |
| 357 | |
| 345 /** | 358 /** |
| 346 * Invokes the named constructor and returns the result. | 359 * Invokes the named constructor and returns the result. |
| 347 * | 360 * |
| 348 * Let *c* be the class reflected by this mirror | 361 * Let *c* be the class reflected by this mirror |
| 349 * let *a1, ..., an* be the elements of [positionalArguments] | 362 * let *a1, ..., an* be the elements of [positionalArguments] |
| 350 * let *k1, ..., km* be the identifiers denoted by the elements of | 363 * let *k1, ..., km* be the identifiers denoted by the elements of |
| 351 * [namedArguments.keys] | 364 * [namedArguments.keys] |
| 352 * and let *v1, ..., vm* be the elements of [namedArguments.values]. | 365 * and let *v1, ..., vm* be the elements of [namedArguments.values]. |
| 353 * If [constructorName] was created from the empty string | 366 * If [constructorName] was created from the empty string |
| 354 * Then this method will execute the instance creation expression | 367 * Then this method will execute the instance creation expression |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 442 } | 455 } |
| 443 | 456 |
| 444 abstract class TypedefMirror implements TypeMirror { | 457 abstract class TypedefMirror implements TypeMirror { |
| 445 FunctionTypeMirror get referent; | 458 FunctionTypeMirror get referent; |
| 446 } | 459 } |
| 447 | 460 |
| 448 abstract class MethodMirror implements DeclarationMirror { | 461 abstract class MethodMirror implements DeclarationMirror { |
| 449 TypeMirror get returnType; // Possible RET: Type | 462 TypeMirror get returnType; // Possible RET: Type |
| 450 bool get hasReflectedReturnType; | 463 bool get hasReflectedReturnType; |
| 451 Type get reflectedReturnType; | 464 Type get reflectedReturnType; |
| 465 bool get hasDynamicReflectedReturnType; | |
| 466 Type get dynamicReflectedReturnType; | |
| 452 String get source; | 467 String get source; |
| 453 List<ParameterMirror> get parameters; | 468 List<ParameterMirror> get parameters; |
| 454 bool get isStatic; | 469 bool get isStatic; |
| 455 bool get isAbstract; | 470 bool get isAbstract; |
| 456 bool get isSynthetic; | 471 bool get isSynthetic; |
| 457 bool get isRegularMethod; | 472 bool get isRegularMethod; |
| 458 bool get isOperator; | 473 bool get isOperator; |
| 459 bool get isGetter; | 474 bool get isGetter; |
| 460 bool get isSetter; | 475 bool get isSetter; |
| 461 bool get isConstructor; | 476 bool get isConstructor; |
| 462 String get constructorName; | 477 String get constructorName; |
| 463 bool get isConstConstructor; | 478 bool get isConstConstructor; |
| 464 bool get isGenerativeConstructor; | 479 bool get isGenerativeConstructor; |
| 465 bool get isRedirectingConstructor; | 480 bool get isRedirectingConstructor; |
| 466 bool get isFactoryConstructor; | 481 bool get isFactoryConstructor; |
| 467 bool operator ==(other); | 482 bool operator ==(other); |
| 468 } | 483 } |
| 469 | 484 |
| 470 abstract class VariableMirror implements DeclarationMirror { | 485 abstract class VariableMirror implements DeclarationMirror { |
| 471 TypeMirror get type; // Possible RET: Type | 486 TypeMirror get type; // Possible RET: Type |
| 472 bool get hasReflectedType; | 487 bool get hasReflectedType; |
| 473 Type get reflectedType; | 488 Type get reflectedType; |
| 489 bool get hasDynamicReflectedType; | |
| 490 Type get dynamicReflectedType; | |
| 474 bool get isStatic; | 491 bool get isStatic; |
| 475 bool get isFinal; | 492 bool get isFinal; |
| 476 bool get isConst; | 493 bool get isConst; |
| 477 bool operator ==(other); | 494 bool operator ==(other); |
| 478 } | 495 } |
| 479 | 496 |
| 480 abstract class ParameterMirror implements VariableMirror { | 497 abstract class ParameterMirror implements VariableMirror { |
| 481 TypeMirror get type; // Possible RET: Type | |
| 482 bool get hasReflectedType; | |
| 483 Type get reflectedType; | |
| 484 bool get isOptional; | 498 bool get isOptional; |
| 485 bool get isNamed; | 499 bool get isNamed; |
| 486 bool get hasDefaultValue; | 500 bool get hasDefaultValue; |
| 487 Object get defaultValue; // RET: InstanceMirror | 501 Object get defaultValue; // RET: InstanceMirror |
| 488 } | 502 } |
| 489 | 503 |
| 490 abstract class SourceLocation { | 504 abstract class SourceLocation { |
| 491 int get line; | 505 int get line; |
| 492 int get column; | 506 int get column; |
| 493 Uri get sourceUri; | 507 Uri get sourceUri; |
| 494 } | 508 } |
| 495 | 509 |
| 496 class Comment { | 510 class Comment { |
| 497 final String text; | 511 final String text; |
| 498 final String trimmedText; | 512 final String trimmedText; |
| 499 final bool isDocComment; | 513 final bool isDocComment; |
| 500 const Comment(this.text, this.trimmedText, this.isDocComment); | 514 const Comment(this.text, this.trimmedText, this.isDocComment); |
| 501 } | 515 } |
| 516 | |
| 517 class TypeValue<E> { | |
| 518 const TypeValue(); | |
| 519 Type get type => E; | |
| 520 } | |
| OLD | NEW |