| 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 * can be the implicit getter for a field or a user-defined getter | 332 * can be the implicit getter for a field or a user-defined getter |
| 333 * method. | 333 * method. |
| 334 * | 334 * |
| 335 * Let *o* be the object reflected by this mirror, let | 335 * Let *o* be the object reflected by this mirror, let |
| 336 * *f* be the simple name of the getter denoted by [fieldName], | 336 * *f* be the simple name of the getter denoted by [fieldName], |
| 337 * Then this method will perform the getter invocation | 337 * Then this method will perform the getter invocation |
| 338 * *o.f* | 338 * *o.f* |
| 339 * in a scope that has access to the private members | 339 * in a scope that has access to the private members |
| 340 * of *o* (if *o* is a class or library) or the private members of the | 340 * of *o* (if *o* is a class or library) or the private members of the |
| 341 * class of *o* (otherwise). | 341 * class of *o* (otherwise). |
| 342 * |
| 343 * If this mirror is an [InstanceMirror], and [fieldName] denotes an instance |
| 344 * method on its reflectee, the result of the invocation is an instance |
| 345 * mirror on a closure corresponding to that method. |
| 346 * |
| 347 * If this mirror is a [LibraryMirror], and [fieldName] denotes a top-level |
| 348 * method in the corresponding library, the result of the invocation is an |
| 349 * instance mirror on a closure corresponding to that method. |
| 350 * |
| 351 * If this mirror is a [ClassMirror], and [fieldName] denotes a static method |
| 352 * in the corresponding class, the result of the invocation is an instance |
| 353 * mirror on a closure corresponding to that method. |
| 354 * |
| 342 * If the invocation returns a result *r*, this method returns | 355 * If the invocation returns a result *r*, this method returns |
| 343 * the result of calling [reflect](*r*). | 356 * the result of calling [reflect](*r*). |
| 344 * If the invocation causes a compilation error | 357 * If the invocation causes a compilation error |
| 345 * this method throws a [MirroredCompilationError]. | 358 * this method throws a [MirroredCompilationError]. |
| 346 * If the invocation throws an exception *e* (that it does not catch) | 359 * If the invocation throws an exception *e* (that it does not catch) |
| 347 * this method throws *e*. | 360 * this method throws *e*. |
| 348 */ | 361 */ |
| 349 /* TODO(turnidge): Handle ambiguous names.*/ | 362 /* TODO(turnidge): Handle ambiguous names.*/ |
| 350 InstanceMirror getField(Symbol fieldName); | 363 InstanceMirror getField(Symbol fieldName); |
| 351 | 364 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 * can be the implicit getter for a field or a user-defined getter | 427 * can be the implicit getter for a field or a user-defined getter |
| 415 * method. | 428 * method. |
| 416 * | 429 * |
| 417 * Let *o* be the object reflected by this mirror, let | 430 * Let *o* be the object reflected by this mirror, let |
| 418 * *f* be the simple name of the getter denoted by [fieldName], | 431 * *f* be the simple name of the getter denoted by [fieldName], |
| 419 * Then this method will perform the getter invocation | 432 * Then this method will perform the getter invocation |
| 420 * *o.f* | 433 * *o.f* |
| 421 * in a scope that has access to the private members | 434 * in a scope that has access to the private members |
| 422 * of *o* (if *o* is a class or library) or the private members of the | 435 * of *o* (if *o* is a class or library) or the private members of the |
| 423 * class of *o*(otherwise). | 436 * class of *o*(otherwise). |
| 437 * |
| 438 * If this mirror is an [InstanceMirror], and [fieldName] denotes an instance |
| 439 * method on its reflectee, the result of the invocation is an instance |
| 440 * mirror on a closure corresponding to that method. |
| 441 * |
| 442 * If this mirror is a [LibraryMirror], and [fieldName] denotes a top-level |
| 443 * method in the corresponding library, the result of the invocation is an |
| 444 * instance mirror on a closure corresponding to that method. |
| 445 * |
| 446 * If this mirror is a [ClassMirror], and [fieldName] denotes a static method |
| 447 * in the corresponding class, the result of the invocation is an instance |
| 448 * mirror on a closure corresponding to that method. |
| 449 * |
| 424 * The method returns a future *k*. | 450 * The method returns a future *k*. |
| 425 * If the invocation returns a result *r*, *k* will be completed | 451 * If the invocation returns a result *r*, *k* will be completed |
| 426 * with the result of calling [reflect](*r*). | 452 * with the result of calling [reflect](*r*). |
| 427 * If the invocation throws an exception *e* (that it does not catch) | 453 * If the invocation throws an exception *e* (that it does not catch) |
| 428 * then *k* is completed with a [MirrorError] wrapping *e*. | 454 * then *k* is completed with a [MirrorError] wrapping *e*. |
| 429 */ | 455 */ |
| 430 /* TODO(turnidge): Handle ambiguous names.*/ | 456 /* TODO(turnidge): Handle ambiguous names.*/ |
| 431 Future<InstanceMirror> getFieldAsync(Symbol fieldName); | 457 Future<InstanceMirror> getFieldAsync(Symbol fieldName); |
| 432 | 458 |
| 433 /** | 459 /** |
| (...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1321 * | 1347 * |
| 1322 * When used as metadata on an import of "dart:mirrors", this metadata does | 1348 * When used as metadata on an import of "dart:mirrors", this metadata does |
| 1323 * not apply to the library in which the annotation is used, but instead | 1349 * not apply to the library in which the annotation is used, but instead |
| 1324 * applies to the other libraries (all libraries if "*" is used). | 1350 * applies to the other libraries (all libraries if "*" is used). |
| 1325 */ | 1351 */ |
| 1326 final override; | 1352 final override; |
| 1327 | 1353 |
| 1328 const MirrorsUsed( | 1354 const MirrorsUsed( |
| 1329 {this.symbols, this.targets, this.metaTargets, this.override}); | 1355 {this.symbols, this.targets, this.metaTargets, this.override}); |
| 1330 } | 1356 } |
| OLD | NEW |