Chromium Code Reviews| 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 // For the purposes of the mirrors library, we adopt a naming | 5 // For the purposes of the mirrors library, we adopt a naming |
| 6 // convention with respect to getters and setters. Specifically, for | 6 // convention with respect to getters and setters. Specifically, for |
| 7 // some variable or field... | 7 // some variable or field... |
| 8 // | 8 // |
| 9 // var myField; | 9 // var myField; |
| 10 // | 10 // |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 677 | 677 |
| 678 /** | 678 /** |
| 679 * Returns an immutable map of the declarations actually given in the library. | 679 * Returns an immutable map of the declarations actually given in the library. |
| 680 * | 680 * |
| 681 * This map includes all regular methods, getters, setters, fields, classes | 681 * This map includes all regular methods, getters, setters, fields, classes |
| 682 * and typedefs actually declared in the library. The map is keyed by the | 682 * and typedefs actually declared in the library. The map is keyed by the |
| 683 * simple names of the declarations. | 683 * simple names of the declarations. |
| 684 */ | 684 */ |
| 685 Map<Symbol, DeclarationMirror> get declarations; | 685 Map<Symbol, DeclarationMirror> get declarations; |
| 686 | 686 |
| 687 Map<Symbol, MethodMirror> get toplevelMembers; | |
|
gbracha
2013/10/26 18:37:48
So is the agreed name for api? It's not great, but
| |
| 688 | |
| 687 /** | 689 /** |
| 688 * An immutable map from from names to mirrors for all members in | 690 * An immutable map from from names to mirrors for all members in |
| 689 * this library. | 691 * this library. |
| 690 * | 692 * |
| 691 * The members of a library are its top-level classes, | 693 * The members of a library are its top-level classes, |
| 692 * functions, variables, getters, and setters. | 694 * functions, variables, getters, and setters. |
| 693 */ | 695 */ |
| 694 Map<Symbol, Mirror> get members; | 696 Map<Symbol, Mirror> get members; |
| 695 | 697 |
| 696 /** | 698 /** |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 832 * declaration. | 834 * declaration. |
| 833 * | 835 * |
| 834 * This map includes all regular methods, getters, setters, fields, | 836 * This map includes all regular methods, getters, setters, fields, |
| 835 * constructors and type variables actually declared in the class. Both | 837 * constructors and type variables actually declared in the class. Both |
| 836 * static and instance members are included, but no inherited members are | 838 * static and instance members are included, but no inherited members are |
| 837 * included. The map is keyed by the simple names of the declarations. | 839 * included. The map is keyed by the simple names of the declarations. |
| 838 */ | 840 */ |
| 839 Map<Symbol, DeclarationMirror> get declarations; | 841 Map<Symbol, DeclarationMirror> get declarations; |
| 840 | 842 |
| 841 /** | 843 /** |
| 844 * Returns a map of the methods, getters and setters of an | |
| 845 * instance of the class. | |
| 846 * The intent is to capture those members that can are | |
| 847 * part of the API of an instance. Hence fields are not | |
| 848 * included. Getters that are implicitly introduced | |
| 849 * by fields are included. Setters that are implicitly introduced | |
| 850 * by fields are included iff the field is non-final. | |
|
gbracha
2013/10/26 18:37:48
Since finals no longer imply a setter, we can drop
| |
| 851 * The map includes methods, getters and setters that | |
| 852 * are inherited as well as those introduced by the class itself. | |
| 853 * The map is keyed by the simple names of the members. | |
| 854 */ | |
| 855 Map<Symbol, MethodMirror> get instanceMembers; | |
| 856 | |
| 857 Map<Symbol, MethodMirror> get staticMembers; | |
|
gbracha
2013/10/26 18:37:48
Add analogous spec for static members.
| |
| 858 | |
|
ahe
2013/10/29 10:14:38
Extra line.
| |
| 859 | |
| 860 /** | |
| 842 * The mixin of this class. | 861 * The mixin of this class. |
| 843 * If this class is the result of a mixin application of the | 862 * If this class is the result of a mixin application of the |
| 844 * form S with M, returns a class mirror on M. | 863 * form S with M, returns a class mirror on M. |
| 845 * Otherwise returns a class mirror on [reflectee]. | 864 * Otherwise returns a class mirror on [reflectee]. |
| 846 */ | 865 */ |
| 847 ClassMirror get mixin; | 866 ClassMirror get mixin; |
| 848 | 867 |
| 849 /** | 868 /** |
| 850 * An immutable map from names to mirrors for all members of | 869 * An immutable map from names to mirrors for all members of |
| 851 * this type. | 870 * this type. |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1422 * | 1441 * |
| 1423 * When used as metadata on an import of "dart:mirrors", this metadata does | 1442 * When used as metadata on an import of "dart:mirrors", this metadata does |
| 1424 * not apply to the library in which the annotation is used, but instead | 1443 * not apply to the library in which the annotation is used, but instead |
| 1425 * applies to the other libraries (all libraries if "*" is used). | 1444 * applies to the other libraries (all libraries if "*" is used). |
| 1426 */ | 1445 */ |
| 1427 final override; | 1446 final override; |
| 1428 | 1447 |
| 1429 const MirrorsUsed( | 1448 const MirrorsUsed( |
| 1430 {this.symbols, this.targets, this.metaTargets, this.override}); | 1449 {this.symbols, this.targets, this.metaTargets, this.override}); |
| 1431 } | 1450 } |
| OLD | NEW |