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

Side by Side Diff: sdk/lib/mirrors/mirrors.dart

Issue 165773002: Remove ObjectMirror.[]. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: sync Created 6 years, 9 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
« no previous file with comments | « sdk/lib/_internal/lib/js_mirrors.dart ('k') | tests/lib/lib.status » ('j') | 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 // 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 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 475
476 /** 476 /**
477 * Perform [invocation] on [reflectee]. 477 * Perform [invocation] on [reflectee].
478 * Equivalent to 478 * Equivalent to
479 * 479 *
480 * this.invoke(invocation.memberName, 480 * this.invoke(invocation.memberName,
481 * invocation.positionalArguments, 481 * invocation.positionalArguments,
482 * invocation.namedArguments); 482 * invocation.namedArguments);
483 */ 483 */
484 delegate(Invocation invocation); 484 delegate(Invocation invocation);
485
486 /**
487 * Returns a closure for invoking the regular method named [name].
488 *
489 * If [:type.instanceLookup(name):] returns a regular method m, the result of
490 * this method is a closure equivalent to:
491 *
492 * (r1, ..., rn, {p1: d1, ..., pk: dk}) {
493 * return this.invoke(name, [r1, ..., rn], {#p1: p1, ..., #pk: pk});
494 * }
495 *
496 * if m has required parameters r1, ..., rn, and named parameters p1, ..., pk
497 * with defaults d1, ..., dk. The result of this method is a
498 * closure equivalent to:
499 *
500 * (r1, ..., rn, [p1 = d1, ..., pk = dk]) {
501 * return this.invoke(name, [r1, ..., rn, p1, ..., pk]);
502 * }
503 *
504 * if m has required parameters r1, ..., rn, and optional positional
505 * parameters p1, ..., pk with defaults d1, ..., dk. Otherwise, an
506 * [ArgumentError] is thrown.
507 */
508 Function operator [](Symbol name);
509 } 485 }
510 486
511 /** 487 /**
512 * A [ClosureMirror] reflects a closure. 488 * A [ClosureMirror] reflects a closure.
513 * 489 *
514 * A [ClosureMirror] provides access to its captured variables and 490 * A [ClosureMirror] provides access to its captured variables and
515 * provides the ability to execute its reflectee. 491 * provides the ability to execute its reflectee.
516 */ 492 */
517 abstract class ClosureMirror implements InstanceMirror { 493 abstract class ClosureMirror implements InstanceMirror {
518 /** 494 /**
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 * (1) [other] is a mirror of the same kind 556 * (1) [other] is a mirror of the same kind
581 * and 557 * and
582 * (2) The library being reflected by this mirror 558 * (2) The library being reflected by this mirror
583 * and the library being reflected by [other] 559 * and the library being reflected by [other]
584 * are 560 * are
585 * the same library in the same isolate. 561 * the same library in the same isolate.
586 */ 562 */
587 bool operator ==(other); 563 bool operator ==(other);
588 564
589 /** 565 /**
590 * If [:declarations[name]:] is a regular method m, the result of this method
591 * is a closure equivalent to:
592 *
593 * (r1, ..., rn, {p1: d1, ..., pk: dk}) {
594 * return this.invoke(name, [r1, ..., rn], {#p1: p1, ..., #pk: pk});
595 * }
596 *
597 * if m has required parameters r1, ..., rn, and named parameters p1, ..., pk
598 * with defaults d1, ..., dk. The result of this method is a
599 * closure equivalent to:
600 *
601 * (r1, ..., rn, [p1 = d1, ..., pk = dk]) {
602 * return this.invoke(name, [r1, ..., rn, p1, ..., pk]);
603 * }
604 *
605 * if m has required parameters r1, ..., rn, and optional positional
606 * parameters p1, ..., pk with defaults d1, ..., dk. Otherwise, an
607 * [ArgumentError] is thrown.
608 */
609 Function operator [](Symbol name);
610
611 /**
612 * Returns a list of the imports and exports in this library; 566 * Returns a list of the imports and exports in this library;
613 */ 567 */
614 List<LibraryDependencyMirror> get libraryDependencies; 568 List<LibraryDependencyMirror> get libraryDependencies;
615 } 569 }
616 570
617 /// A mirror on an import or export declaration. 571 /// A mirror on an import or export declaration.
618 abstract class LibraryDependencyMirror { 572 abstract class LibraryDependencyMirror {
619 /// Is `true` if this dependency is an import. 573 /// Is `true` if this dependency is an import.
620 bool get isImport; 574 bool get isImport;
621 575
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 * and 804 * and
851 * (2) This mirror and [other] reflect the same class. 805 * (2) This mirror and [other] reflect the same class.
852 * 806 *
853 * Note that if the reflected class is an invocation of 807 * Note that if the reflected class is an invocation of
854 * a generic class,(2) implies that the reflected class 808 * a generic class,(2) implies that the reflected class
855 * and [other] have equal type arguments. 809 * and [other] have equal type arguments.
856 */ 810 */
857 bool operator == (other); 811 bool operator == (other);
858 812
859 /** 813 /**
860 * If [:declarations[name]:] is a regular method m, the result of this method
861 * is a closure equivalent to:
862 *
863 * (r1, ..., rn, {p1: d1, ..., pk: dk}) {
864 * return this.invoke(name, [r1, ..., rn], {#p1: p1, ..., #pk: pk});
865 * }
866 *
867 * if m has required parameters r1, ..., rn, and named parameters p1, ..., pk
868 * with defaults d1, ..., dk. The result of this method is a
869 * closure equivalent to:
870 *
871 * (r1, ..., rn, [p1 = d1, ..., pk = dk]) {
872 * return this.invoke(name, [r1, ..., rn, p1, ..., pk]);
873 * }
874 *
875 * if m has required parameters r1, ..., rn, and optional positional
876 * parameters p1, ..., pk with defaults d1, ..., dk. Otherwise, an
877 * [ArgumentError] is thrown.
878 */
879 Function operator [](Symbol name);
880
881 /**
882 * Returns whether the class denoted by the receiver is a subclass of the 814 * Returns whether the class denoted by the receiver is a subclass of the
883 * class denoted by the argument. 815 * class denoted by the argument.
884 * 816 *
885 * Note that the subclass relationship is reflexive. 817 * Note that the subclass relationship is reflexive.
886 */ 818 */
887 bool isSubclassOf(ClassMirror other); 819 bool isSubclassOf(ClassMirror other);
888 } 820 }
889 821
890 /** 822 /**
891 * A [FunctionTypeMirror] represents the type of a function in the 823 * A [FunctionTypeMirror] represents the type of a function in the
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 * 1204 *
1273 * When used as metadata on an import of "dart:mirrors", this metadata does 1205 * When used as metadata on an import of "dart:mirrors", this metadata does
1274 * not apply to the library in which the annotation is used, but instead 1206 * not apply to the library in which the annotation is used, but instead
1275 * applies to the other libraries (all libraries if "*" is used). 1207 * applies to the other libraries (all libraries if "*" is used).
1276 */ 1208 */
1277 final override; 1209 final override;
1278 1210
1279 const MirrorsUsed( 1211 const MirrorsUsed(
1280 {this.symbols, this.targets, this.metaTargets, this.override}); 1212 {this.symbols, this.targets, this.metaTargets, this.override});
1281 } 1213 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/lib/js_mirrors.dart ('k') | tests/lib/lib.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698