Dart API Referencedart:mirrorsObjectMirror

ObjectMirror abstract class

An ObjectMirror is a common superinterface of InstanceMirror, ClassMirror, and LibraryMirror that represents their shared functionality.

For the purposes of the mirrors library, these types are all object-like, in that they support method invocation and field access. Real Dart objects are represented by the InstanceMirror type.

See InstanceMirror, ClassMirror, and LibraryMirror.

abstract class ObjectMirror implements Mirror {
  /**
   * Invokes the named function and returns a mirror on the result.
   *
   * TODO(turnidge): Properly document.
   * TODO(turnidge): Handle ambiguous names.
   * TODO(turnidge): Handle optional & named arguments.
   */
  Future<InstanceMirror> invoke(String memberName,
                                List<Object> positionalArguments,
                                [Map<String,Object> namedArguments]);

  /**
   * Invokes a getter and returns a mirror on the result. The getter
   * can be the implicit getter for a field or a user-defined getter
   * method.
   *
   * TODO(turnidge): Handle ambiguous names.
   */
  Future<InstanceMirror> getField(String fieldName);

  /**
   * Invokes a setter and returns a mirror on the result. The setter
   * may be either the implicit setter for a non-final field or a
   * user-defined setter method.
   *
   * TODO(turnidge): Handle ambiguous names.
   */
  Future<InstanceMirror> setField(String fieldName, Object value);
}

Subclasses

ClassMirror, InstanceMirror, LibraryMirror

Implements

Mirror

Properties

final MirrorSystem mirrors #

inherited from Mirror

The MirrorSystem that contains this mirror.

MirrorSystem get mirrors;

Methods

Future<InstanceMirror> getField(String fieldName) #

Invokes a getter and returns a mirror on the result. The getter can be the implicit getter for a field or a user-defined getter method.

TODO(turnidge): Handle ambiguous names.

Future<InstanceMirror> getField(String fieldName);

Future<InstanceMirror> invoke(String memberName, List<Object> positionalArguments, [Map<String, Object> namedArguments]) #

Invokes the named function and returns a mirror on the result.

TODO(turnidge): Properly document. TODO(turnidge): Handle ambiguous names. TODO(turnidge): Handle optional & named arguments.

Future<InstanceMirror> invoke(String memberName,
                              List<Object> positionalArguments,
                              [Map<String,Object> namedArguments]);

Future<InstanceMirror> setField(String fieldName, Object value) #

Invokes a setter and returns a mirror on the result. The setter may be either the implicit setter for a non-final field or a user-defined setter method.

TODO(turnidge): Handle ambiguous names.

Future<InstanceMirror> setField(String fieldName, Object value);