| Index: sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart b/sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart
|
| deleted file mode 100644
|
| index 5acdfa07e44ed54b7ae1b3d18aa0a10eeed816fa..0000000000000000000000000000000000000000
|
| --- a/sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart
|
| +++ /dev/null
|
| @@ -1,752 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -library mirrors;
|
| -
|
| -/**
|
| - * The main interface for the whole mirror system.
|
| - */
|
| -abstract class MirrorSystem {
|
| - /**
|
| - * Returns an unmodifiable map of all libraries in this mirror system.
|
| - */
|
| - Map<Uri, LibraryMirror> get libraries;
|
| -
|
| - /**
|
| - * Returns an iterable of all libraries in the mirror system whose library
|
| - * name is [libraryName].
|
| - */
|
| - LibraryMirror findLibrary(String libraryName) {
|
| - return libraries.values.singleWhere(
|
| - (library) => library.simpleName == libraryName);
|
| - }
|
| -
|
| - /**
|
| - * A mirror on the [:dynamic:] type.
|
| - */
|
| - TypeMirror get dynamicType;
|
| -
|
| - /**
|
| - * A mirror on the [:void:] type.
|
| - */
|
| - TypeMirror get voidType;
|
| -}
|
| -
|
| -
|
| -/**
|
| - * An entity in the mirror system.
|
| - */
|
| -abstract class Mirror {
|
| - static const String UNARY_MINUS = 'unary-';
|
| -
|
| - // TODO(johnniwinther): Do we need this on all mirrors?
|
| - /**
|
| - * Returns the mirror system which contains this mirror.
|
| - */
|
| - MirrorSystem get mirrors;
|
| -}
|
| -
|
| -abstract class DeclarationMirror implements Mirror {
|
| - /**
|
| - * The simple name of the entity. The simple name is unique within the
|
| - * scope of the entity declaration.
|
| - *
|
| - * The simple name is in most cases the declared single identifier name of
|
| - * the entity, such as 'method' for a method [:void method() {...}:]. For an
|
| - * unnamed constructor for [:class Foo:] the simple name is ''. For a
|
| - * constructor for [:class Foo:] named 'named' the simple name is 'named'.
|
| - * For a property [:foo:] the simple name of the getter method is 'foo' and
|
| - * the simple name of the setter is 'foo='. For operators the simple name is
|
| - * the operator itself, for example '+' for [:operator +:].
|
| - *
|
| - * The simple name for the unary minus operator is [Mirror.UNARY_MINUS].
|
| - */
|
| - String get simpleName;
|
| -
|
| - /// Returns `true` if the name of this declaration is generated by the
|
| - /// provider of the mirror system.
|
| - bool get isNameSynthetic;
|
| -
|
| - /**
|
| - * Returns the name of this entity qualified by is enclosing context. For
|
| - * instance, the qualified name of a method 'method' in class 'Class' in
|
| - * library 'library' is 'library.Class.method'.
|
| - */
|
| - String get qualifiedName;
|
| -
|
| - /**
|
| - * The source location of this Dart language entity.
|
| - */
|
| - SourceLocation get location;
|
| -
|
| - /**
|
| - * A mirror on the owner of this function. This is the declaration immediately
|
| - * surrounding the reflectee.
|
| - *
|
| - * Note that for libraries, the owner will be [:null:].
|
| - */
|
| - DeclarationMirror get owner;
|
| -
|
| - /**
|
| - * Is this declaration private?
|
| - *
|
| - * Note that for libraries, this will be [:false:].
|
| - */
|
| - bool get isPrivate;
|
| -
|
| - /**
|
| - * Is this declaration top-level?
|
| - *
|
| - * This is defined to be equivalent to:
|
| - * [:mirror.owner != null && mirror.owner is LibraryMirror:]
|
| - */
|
| - bool get isTopLevel;
|
| -
|
| - /**
|
| - * A list of the metadata associated with this declaration.
|
| - */
|
| - List<InstanceMirror> get metadata;
|
| -
|
| - /**
|
| - * Looks up [name] in the scope of this declaration.
|
| - *
|
| - * [name] may be either a single identifier, like 'foo', or of the
|
| - * a prefixed identifier, like 'foo.bar', where 'foo' must be a prefix.
|
| - * For methods and constructors, the scope includes the parameters. For
|
| - * classes and typedefs, the scope includes the type variables.
|
| - * For classes and class members, the scope includes inherited members.
|
| - *
|
| - * See also:
|
| - *
|
| - * * [Lexical Scope](https://www.dartlang.org/docs/dart-up-and-running/contents/ch02.html#ch02-lexical-scope)
|
| - * in Dart Up and Running.
|
| - * * [Lexical Scoping](http://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.jb82efuudrc5)
|
| - * in the Dart Specification.
|
| - */
|
| - DeclarationMirror lookupInScope(String name);
|
| -}
|
| -
|
| -abstract class ObjectMirror implements Mirror {
|
| - /**
|
| - * 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.
|
| - */
|
| - InstanceMirror getField(String fieldName);
|
| -}
|
| -
|
| -/**
|
| - * An [InstanceMirror] reflects an instance of a Dart language object.
|
| - */
|
| -abstract class InstanceMirror implements ObjectMirror {
|
| - /**
|
| - * A mirror on the type of the reflectee.
|
| - */
|
| - ClassMirror get type;
|
| -
|
| - /**
|
| - * Does [reflectee] contain the instance reflected by this mirror?
|
| - * This will always be true in the local case (reflecting instances
|
| - * in the same isolate), but only true in the remote case if this
|
| - * mirror reflects a simple value.
|
| - *
|
| - * A value is simple if one of the following holds:
|
| - * - the value is null
|
| - * - the value is of type [num]
|
| - * - the value is of type [bool]
|
| - * - the value is of type [String]
|
| - */
|
| - bool get hasReflectee;
|
| -
|
| - /**
|
| - * If the [InstanceMirror] reflects an instance it is meaningful to
|
| - * have a local reference to, we provide access to the actual
|
| - * instance here.
|
| - *
|
| - * If you access [reflectee] when [hasReflectee] is false, an
|
| - * exception is thrown.
|
| - */
|
| - get reflectee;
|
| -}
|
| -
|
| -/**
|
| - * Specialized [InstanceMirror] used for reflection on constant lists.
|
| - */
|
| -abstract class ListInstanceMirror implements InstanceMirror {
|
| - /**
|
| - * Returns an instance mirror of the value at [index] or throws a [RangeError]
|
| - * if the [index] is out of bounds.
|
| - */
|
| - InstanceMirror operator[](int index);
|
| -
|
| - /**
|
| - * The number of elements in the list.
|
| - */
|
| - int get length;
|
| -}
|
| -
|
| -/**
|
| - * Specialized [InstanceMirror] used for reflection on constant maps.
|
| - */
|
| -abstract class MapInstanceMirror implements InstanceMirror {
|
| - /**
|
| - * Returns a collection containing all the keys in the map.
|
| - */
|
| - Iterable<String> get keys;
|
| -
|
| - /**
|
| - * Returns an instance mirror of the value for the given key or
|
| - * null if key is not in the map.
|
| - */
|
| - InstanceMirror operator[](String key);
|
| -
|
| - /**
|
| - * The number of {key, value} pairs in the map.
|
| - */
|
| - int get length;
|
| -}
|
| -
|
| -/**
|
| - * Specialized [InstanceMirror] used for reflection on type constants.
|
| - */
|
| -abstract class TypeInstanceMirror implements InstanceMirror {
|
| - /**
|
| - * Returns the type mirror for the type represented by the reflected type
|
| - * constant.
|
| - */
|
| - TypeMirror get representedType;
|
| -}
|
| -
|
| -/**
|
| - * Specialized [InstanceMirror] used for reflection on comments as metadata.
|
| - */
|
| -abstract class CommentInstanceMirror implements InstanceMirror {
|
| - /**
|
| - * The comment text as written in the source text.
|
| - */
|
| - String get text;
|
| -
|
| - /**
|
| - * The comment text without the start, end, and padding text.
|
| - *
|
| - * For example, if [text] is [: /** Comment text. */ :] then the [trimmedText]
|
| - * is [: Comment text. :].
|
| - */
|
| - String get trimmedText;
|
| -
|
| - /**
|
| - * Is [:true:] if this comment is a documentation comment.
|
| - *
|
| - * That is, that the comment is either enclosed in [: /** ... */ :] or starts
|
| - * with [: /// :].
|
| - */
|
| - bool get isDocComment;
|
| -}
|
| -
|
| -/**
|
| - * Common interface for classes and libraries.
|
| - */
|
| -abstract class ContainerMirror implements Mirror {
|
| -
|
| - /**
|
| - * An immutable map from from names to mirrors for all members in this
|
| - * container.
|
| - */
|
| - Map<String, MemberMirror> get members;
|
| -}
|
| -
|
| -/**
|
| - * A library.
|
| - */
|
| -abstract class LibraryMirror implements ContainerMirror, DeclarationMirror {
|
| - /**
|
| - * An immutable map from from names to mirrors for all members in this
|
| - * library.
|
| - *
|
| - * The members of a library are its top-level classes, functions, variables,
|
| - * getters, and setters.
|
| - */
|
| - Map<String, MemberMirror> get members;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all class
|
| - * declarations in this library.
|
| - */
|
| - Map<String, ClassMirror> get classes;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all function, getter,
|
| - * and setter declarations in this library.
|
| - */
|
| - Map<String, MethodMirror> get functions;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all getter
|
| - * declarations in this library.
|
| - */
|
| - Map<String, MethodMirror> get getters;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all setter
|
| - * declarations in this library.
|
| - */
|
| - Map<String, MethodMirror> get setters;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all variable
|
| - * declarations in this library.
|
| - */
|
| - Map<String, VariableMirror> get variables;
|
| -
|
| - /**
|
| - * Returns the canonical URI for this library.
|
| - */
|
| - Uri get uri;
|
| -
|
| - /**
|
| - * Returns a list of the imports and exports in this library;
|
| - */
|
| - List<LibraryDependencyMirror> get libraryDependencies;
|
| -}
|
| -
|
| -/// A mirror on an import or export declaration.
|
| -abstract class LibraryDependencyMirror {
|
| - /// Is `true` if this dependency is an import.
|
| - bool get isImport;
|
| -
|
| - /// Is `true` if this dependency is an export.
|
| - bool get isExport;
|
| -
|
| - /// Returns the library mirror of the library that imports or exports the
|
| - /// [targetLibrary].
|
| - LibraryMirror get sourceLibrary;
|
| -
|
| - /// Returns the library mirror of the library that is imported or exported.
|
| - LibraryMirror get targetLibrary;
|
| -
|
| - /// Returns the prefix if this is a prefixed import and `null` otherwise.
|
| - String get prefix;
|
| -
|
| - /// Returns the list of show/hide combinators on the import/export
|
| - /// declaration.
|
| - List<CombinatorMirror> get combinators;
|
| -
|
| - /// Returns the source location for this import/export declaration.
|
| - SourceLocation get location;
|
| -}
|
| -
|
| -/// A mirror on a show/hide combinator declared on a library dependency.
|
| -abstract class CombinatorMirror {
|
| - /// The list of identifiers on the combinator.
|
| - List<String> get identifiers;
|
| -
|
| - /// Is `true` if this is a 'show' combinator.
|
| - bool get isShow;
|
| -
|
| - /// Is `true` if this is a 'hide' combinator.
|
| - bool get isHide;
|
| -}
|
| -
|
| -/**
|
| - * Common interface for classes, interfaces, typedefs and type variables.
|
| - */
|
| -abstract class TypeMirror implements DeclarationMirror {
|
| - /**
|
| - * Returns the library in which this member resides.
|
| - */
|
| - LibraryMirror get library;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is the [:Object:] type.
|
| - */
|
| - bool get isObject;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is the [:dynamic:] type.
|
| - */
|
| - bool get isDynamic;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is the void type.
|
| - */
|
| - bool get isVoid;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is a type variable.
|
| - */
|
| - bool get isTypeVariable;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is a typedef.
|
| - */
|
| - bool get isTypedef;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is a function type.
|
| - */
|
| - bool get isFunction;
|
| -}
|
| -
|
| -/**
|
| - * A class or interface type.
|
| - */
|
| -abstract class ClassMirror implements TypeMirror, ContainerMirror {
|
| - /**
|
| - * A mirror on the original declaration of this type.
|
| - *
|
| - * For most classes, they are their own original declaration. For
|
| - * generic classes, however, there is a distinction between the
|
| - * original class declaration, which has unbound type variables, and
|
| - * the instantiations of generic classes, which have bound type
|
| - * variables.
|
| - */
|
| - ClassMirror get originalDeclaration;
|
| -
|
| - /**
|
| - * Returns the super class of this type, or null if this type is [Object] or a
|
| - * typedef.
|
| - */
|
| - ClassMirror get superclass;
|
| -
|
| - /**
|
| - * Returns a list of the interfaces directly implemented by this type.
|
| - */
|
| - List<ClassMirror> get superinterfaces;
|
| -
|
| - /**
|
| - * The mixin of this class. If this class is the result of a mixin application
|
| - * of the form S with M, returns a class mirror on M. Otherwise return the
|
| - * class mirror itself.
|
| - */
|
| - ClassMirror get mixin;
|
| -
|
| - /**
|
| - * Is [:true:] iff this type is a class.
|
| - */
|
| - bool get isClass;
|
| -
|
| - /**
|
| - * Is this the original declaration of this type?
|
| - *
|
| - * For most classes, they are their own original declaration. For
|
| - * generic classes, however, there is a distinction between the
|
| - * original class declaration, which has unbound type variables, and
|
| - * the instantiations of generic classes, which have bound type
|
| - * variables.
|
| - */
|
| - bool get isOriginalDeclaration;
|
| -
|
| - /**
|
| - * Is [:true:] if this class is declared abstract.
|
| - */
|
| - bool get isAbstract;
|
| -
|
| - /**
|
| - * Returns a list of the type arguments for this type.
|
| - */
|
| - List<TypeMirror> get typeArguments;
|
| -
|
| - /**
|
| - * Returns the list of type variables for this type.
|
| - */
|
| - List<TypeVariableMirror> get typeVariables;
|
| -
|
| - /**
|
| - * An immutable map from from names to mirrors for all members of
|
| - * this type.
|
| - *
|
| - * The members of a type are its methods, fields, getters, and
|
| - * setters. Note that constructors and type variables are not
|
| - * considered to be members of a type.
|
| - *
|
| - * This does not include inherited members.
|
| - */
|
| - Map<String, MemberMirror> get members;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all method,
|
| - * declarations for this type. This does not include getters and
|
| - * setters.
|
| - */
|
| - Map<String, MethodMirror> get methods;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all getter
|
| - * declarations for this type.
|
| - */
|
| - Map<String, MethodMirror> get getters;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all setter
|
| - * declarations for this type.
|
| - */
|
| - Map<String, MethodMirror> get setters;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all variable
|
| - * declarations for this type.
|
| - */
|
| - Map<String, VariableMirror> get variables;
|
| -
|
| - /**
|
| - * An immutable map from names to mirrors for all constructor
|
| - * declarations for this type.
|
| - */
|
| - Map<String, MethodMirror> get constructors;
|
| -}
|
| -
|
| -/**
|
| - * A type parameter as declared on a generic type.
|
| - */
|
| -abstract class TypeVariableMirror implements TypeMirror {
|
| - /**
|
| - * Returns the bound of the type parameter.
|
| - */
|
| - TypeMirror get upperBound;
|
| -}
|
| -
|
| -/**
|
| - * A function type.
|
| - */
|
| -abstract class FunctionTypeMirror implements ClassMirror {
|
| - /**
|
| - * Returns the return type of this function type.
|
| - */
|
| - TypeMirror get returnType;
|
| -
|
| - /**
|
| - * Returns the parameters for this function type.
|
| - */
|
| - List<ParameterMirror> get parameters;
|
| -
|
| - /**
|
| - * Returns the call method for this function type.
|
| - */
|
| - MethodMirror get callMethod;
|
| -}
|
| -
|
| -/**
|
| - * A typedef.
|
| - */
|
| -abstract class TypedefMirror implements ClassMirror {
|
| - /**
|
| - * The defining type for this typedef.
|
| - *
|
| - * For instance [:void f(int):] for a [:typedef void f(int):].
|
| - */
|
| - TypeMirror get value;
|
| -}
|
| -
|
| -/**
|
| - * A member of a type, i.e. a field, method or constructor.
|
| - */
|
| -abstract class MemberMirror implements DeclarationMirror {
|
| - /**
|
| - * Is this member a constructor?
|
| - */
|
| - bool get isConstructor;
|
| -
|
| - /**
|
| - * Is this member a variable?
|
| - *
|
| - * This is [:false:] for locals.
|
| - */
|
| - bool get isVariable;
|
| -
|
| - /**
|
| - * Is this member a method?.
|
| - *
|
| - * This is [:false:] for constructors.
|
| - */
|
| - bool get isMethod;
|
| -
|
| - /**
|
| - * Is this member declared static?
|
| - */
|
| - bool get isStatic;
|
| -
|
| - /**
|
| - * Is this member a parameter?
|
| - */
|
| - bool get isParameter;
|
| -}
|
| -
|
| -/**
|
| - * A field.
|
| - */
|
| -abstract class VariableMirror implements MemberMirror {
|
| -
|
| - /**
|
| - * Returns true if this field is final.
|
| - */
|
| - bool get isFinal;
|
| -
|
| - /**
|
| - * Returns true if this field is const.
|
| - */
|
| - bool get isConst;
|
| -
|
| - /**
|
| - * Returns the type of this field.
|
| - */
|
| - TypeMirror get type;
|
| -}
|
| -
|
| -/**
|
| - * Common interface constructors and methods, including factories, getters and
|
| - * setters.
|
| - */
|
| -abstract class MethodMirror implements MemberMirror {
|
| - /**
|
| - * Returns the list of parameters for this method.
|
| - */
|
| - List<ParameterMirror> get parameters;
|
| -
|
| - /**
|
| - * Returns the return type of this method.
|
| - */
|
| - TypeMirror get returnType;
|
| -
|
| - /**
|
| - * Is the reflectee abstract?
|
| - */
|
| - bool get isAbstract;
|
| -
|
| - /**
|
| - * Is the reflectee a regular function or method?
|
| - *
|
| - * A function or method is regular if it is not a getter, setter, or
|
| - * constructor. Note that operators, by this definition, are
|
| - * regular methods.
|
| - */
|
| - bool get isRegularMethod;
|
| -
|
| - /**
|
| - * Is the reflectee a const constructor?
|
| - */
|
| - bool get isConstConstructor;
|
| -
|
| - /**
|
| - * Is the reflectee a generative constructor?
|
| - */
|
| - bool get isGenerativeConstructor;
|
| -
|
| - /**
|
| - * Is the reflectee a redirecting constructor?
|
| - */
|
| - bool get isRedirectingConstructor;
|
| -
|
| - /**
|
| - * Is the reflectee a factory constructor?
|
| - */
|
| - bool get isFactoryConstructor;
|
| -
|
| - /**
|
| - * Is [:true:] if this method is a getter method.
|
| - */
|
| - bool get isGetter;
|
| -
|
| - /**
|
| - * Is [:true:] if this method is a setter method.
|
| - */
|
| - bool get isSetter;
|
| -
|
| - /**
|
| - * Is [:true:] if this method is an operator method.
|
| - */
|
| - bool get isOperator;
|
| -}
|
| -
|
| -/**
|
| - * A formal parameter.
|
| - */
|
| -abstract class ParameterMirror implements VariableMirror {
|
| - /**
|
| - * Returns the type of this parameter.
|
| - */
|
| - TypeMirror get type;
|
| -
|
| - /**
|
| - * Returns the default value for this parameter.
|
| - */
|
| - String get defaultValue;
|
| -
|
| - /**
|
| - * Does this parameter have a default value?
|
| - */
|
| - bool get hasDefaultValue;
|
| -
|
| - /**
|
| - * Is this parameter optional?
|
| - */
|
| - bool get isOptional;
|
| -
|
| - /**
|
| - * Is this parameter named?
|
| - */
|
| - bool get isNamed;
|
| -
|
| - /**
|
| - * Returns [:true:] iff this parameter is an initializing formal of a
|
| - * constructor. That is, if it is of the form [:this.x:] where [:x:] is a
|
| - * field.
|
| - */
|
| - bool get isInitializingFormal;
|
| -
|
| - /**
|
| - * Returns the initialized field, if this parameter is an initializing formal.
|
| - */
|
| - VariableMirror get initializedField;
|
| -}
|
| -
|
| -/**
|
| - * A [SourceLocation] describes the span of an entity in Dart source code.
|
| - * A [SourceLocation] with a non-zero [length] should be the minimum span that
|
| - * encloses the declaration of the mirrored entity.
|
| - */
|
| -abstract class SourceLocation {
|
| - /**
|
| - * The 1-based line number for this source location.
|
| - *
|
| - * A value of 0 means that the line number is unknown.
|
| - */
|
| - int get line;
|
| -
|
| - /**
|
| - * The 1-based column number for this source location.
|
| - *
|
| - * A value of 0 means that the column number is unknown.
|
| - */
|
| - int get column;
|
| -
|
| - /**
|
| - * The 0-based character offset into the [sourceText] where this source
|
| - * location begins.
|
| - *
|
| - * A value of -1 means that the offset is unknown.
|
| - */
|
| - int get offset;
|
| -
|
| - /**
|
| - * The number of characters in this source location.
|
| - *
|
| - * A value of 0 means that the [offset] is approximate.
|
| - */
|
| - int get length;
|
| -
|
| - /**
|
| - * The text of the location span.
|
| - */
|
| - String get text;
|
| -
|
| - /**
|
| - * Returns the URI where the source originated.
|
| - */
|
| - Uri get sourceUri;
|
| -
|
| - /**
|
| - * Returns the text of this source.
|
| - */
|
| - String get sourceText;
|
| -}
|
|
|