| Index: mojo/public/dart/third_party/analyzer/lib/src/generated/element_handle.dart
|
| diff --git a/mojo/public/dart/third_party/analyzer/lib/src/generated/element_handle.dart b/mojo/public/dart/third_party/analyzer/lib/src/generated/element_handle.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..94bb7a41c3e9626aca7ad24a1a5fbb9a309fc3e7
|
| --- /dev/null
|
| +++ b/mojo/public/dart/third_party/analyzer/lib/src/generated/element_handle.dart
|
| @@ -0,0 +1,1122 @@
|
| +// Copyright (c) 2014, 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 engine.element_handle;
|
| +
|
| +import 'ast.dart';
|
| +import 'element.dart';
|
| +import 'engine.dart';
|
| +import 'java_core.dart';
|
| +import 'java_engine.dart';
|
| +import 'resolver.dart';
|
| +import 'source.dart';
|
| +import 'utilities_dart.dart';
|
| +
|
| +/**
|
| + * Instances of the class `ClassElementHandle` implement a handle to a `ClassElement`.
|
| + */
|
| +class ClassElementHandle extends ElementHandle implements ClassElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ClassElementHandle(ClassElement element) : super(element);
|
| +
|
| + @override
|
| + List<PropertyAccessorElement> get accessors => actualElement.accessors;
|
| +
|
| + @override
|
| + ClassElement get actualElement => super.actualElement as ClassElement;
|
| +
|
| + @override
|
| + List<InterfaceType> get allSupertypes => actualElement.allSupertypes;
|
| +
|
| + @override
|
| + List<ConstructorElement> get constructors => actualElement.constructors;
|
| +
|
| + @override
|
| + List<FieldElement> get fields => actualElement.fields;
|
| +
|
| + @override
|
| + bool get hasNonFinalField => actualElement.hasNonFinalField;
|
| +
|
| + @override
|
| + bool get hasReferenceToSuper => actualElement.hasReferenceToSuper;
|
| +
|
| + @override
|
| + bool get hasStaticMember => actualElement.hasStaticMember;
|
| +
|
| + @override
|
| + List<InterfaceType> get interfaces => actualElement.interfaces;
|
| +
|
| + @override
|
| + bool get isAbstract => actualElement.isAbstract;
|
| +
|
| + @override
|
| + bool get isEnum => actualElement.isEnum;
|
| +
|
| + @override
|
| + bool get isMixinApplication => actualElement.isMixinApplication;
|
| +
|
| + @override
|
| + bool get isOrInheritsProxy => actualElement.isOrInheritsProxy;
|
| +
|
| + @override
|
| + bool get isProxy => actualElement.isProxy;
|
| +
|
| + @override
|
| + @deprecated
|
| + bool get isTypedef => actualElement.isMixinApplication;
|
| +
|
| + @override
|
| + bool get isValidMixin => actualElement.isValidMixin;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.CLASS;
|
| +
|
| + @override
|
| + List<MethodElement> get methods => actualElement.methods;
|
| +
|
| + @override
|
| + List<InterfaceType> get mixins => actualElement.mixins;
|
| +
|
| + @override
|
| + InterfaceType get supertype => actualElement.supertype;
|
| +
|
| + @override
|
| + InterfaceType get type => actualElement.type;
|
| +
|
| + @override
|
| + List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
|
| +
|
| + @override
|
| + ConstructorElement get unnamedConstructor => actualElement.unnamedConstructor;
|
| +
|
| + @override
|
| + FieldElement getField(String fieldName) => actualElement.getField(fieldName);
|
| +
|
| + @override
|
| + PropertyAccessorElement getGetter(String getterName) =>
|
| + actualElement.getGetter(getterName);
|
| +
|
| + @override
|
| + MethodElement getMethod(String methodName) =>
|
| + actualElement.getMethod(methodName);
|
| +
|
| + @override
|
| + ConstructorElement getNamedConstructor(String name) =>
|
| + actualElement.getNamedConstructor(name);
|
| +
|
| + @override
|
| + PropertyAccessorElement getSetter(String setterName) =>
|
| + actualElement.getSetter(setterName);
|
| +
|
| + @override
|
| + bool isSuperConstructorAccessible(ConstructorElement constructor) =>
|
| + actualElement.isSuperConstructorAccessible(constructor);
|
| +
|
| + @override
|
| + MethodElement lookUpConcreteMethod(
|
| + String methodName, LibraryElement library) =>
|
| + actualElement.lookUpConcreteMethod(methodName, library);
|
| +
|
| + @override
|
| + PropertyAccessorElement lookUpGetter(
|
| + String getterName, LibraryElement library) =>
|
| + actualElement.lookUpGetter(getterName, library);
|
| +
|
| + @override
|
| + PropertyAccessorElement lookUpInheritedConcreteGetter(
|
| + String methodName, LibraryElement library) =>
|
| + actualElement.lookUpInheritedConcreteGetter(methodName, library);
|
| +
|
| + @override
|
| + MethodElement lookUpInheritedConcreteMethod(
|
| + String methodName, LibraryElement library) =>
|
| + actualElement.lookUpInheritedConcreteMethod(methodName, library);
|
| +
|
| + @override
|
| + PropertyAccessorElement lookUpInheritedConcreteSetter(
|
| + String methodName, LibraryElement library) =>
|
| + actualElement.lookUpInheritedConcreteSetter(methodName, library);
|
| +
|
| + @override
|
| + MethodElement lookUpInheritedMethod(
|
| + String methodName, LibraryElement library) =>
|
| + actualElement.lookUpInheritedMethod(methodName, library);
|
| +
|
| + @override
|
| + MethodElement lookUpMethod(String methodName, LibraryElement library) =>
|
| + actualElement.lookUpMethod(methodName, library);
|
| +
|
| + @override
|
| + PropertyAccessorElement lookUpSetter(
|
| + String setterName, LibraryElement library) =>
|
| + actualElement.lookUpSetter(setterName, library);
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `CompilationUnitElementHandle` implements a handle to a
|
| + * [CompilationUnitElement].
|
| + */
|
| +class CompilationUnitElementHandle extends ElementHandle
|
| + implements CompilationUnitElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + CompilationUnitElementHandle(CompilationUnitElement element) : super(element);
|
| +
|
| + @override
|
| + List<PropertyAccessorElement> get accessors => actualElement.accessors;
|
| +
|
| + @override
|
| + CompilationUnitElement get actualElement =>
|
| + super.actualElement as CompilationUnitElement;
|
| +
|
| + @override
|
| + LibraryElement get enclosingElement =>
|
| + super.enclosingElement as LibraryElement;
|
| +
|
| + @override
|
| + List<ClassElement> get enums => actualElement.enums;
|
| +
|
| + @override
|
| + List<FunctionElement> get functions => actualElement.functions;
|
| +
|
| + @override
|
| + List<FunctionTypeAliasElement> get functionTypeAliases =>
|
| + actualElement.functionTypeAliases;
|
| +
|
| + @override
|
| + bool get hasLoadLibraryFunction => actualElement.hasLoadLibraryFunction;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.COMPILATION_UNIT;
|
| +
|
| + @override
|
| + Source get source => actualElement.source;
|
| +
|
| + @override
|
| + List<TopLevelVariableElement> get topLevelVariables =>
|
| + actualElement.topLevelVariables;
|
| +
|
| + @override
|
| + List<ClassElement> get types => actualElement.types;
|
| +
|
| + @override
|
| + String get uri => actualElement.uri;
|
| +
|
| + @override
|
| + int get uriEnd => actualElement.uriEnd;
|
| +
|
| + @override
|
| + int get uriOffset => actualElement.uriOffset;
|
| +
|
| + @override
|
| + CompilationUnit computeNode() => actualElement.computeNode();
|
| +
|
| + @override
|
| + Element getElementAt(int offset) {
|
| + return actualElement.getElementAt(offset);
|
| + }
|
| +
|
| + @override
|
| + ClassElement getEnum(String enumName) => actualElement.getEnum(enumName);
|
| +
|
| + @override
|
| + ClassElement getType(String className) => actualElement.getType(className);
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `ConstructorElementHandle` implement a handle to a
|
| + * `ConstructorElement`.
|
| + */
|
| +class ConstructorElementHandle extends ExecutableElementHandle
|
| + implements ConstructorElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ConstructorElementHandle(ConstructorElement element) : super(element);
|
| +
|
| + @override
|
| + ConstructorElement get actualElement =>
|
| + super.actualElement as ConstructorElement;
|
| +
|
| + @override
|
| + ClassElement get enclosingElement => actualElement.enclosingElement;
|
| +
|
| + @override
|
| + bool get isConst => actualElement.isConst;
|
| +
|
| + @override
|
| + bool get isDefaultConstructor => actualElement.isDefaultConstructor;
|
| +
|
| + @override
|
| + bool get isFactory => actualElement.isFactory;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.CONSTRUCTOR;
|
| +
|
| + @override
|
| + int get nameEnd => actualElement.nameEnd;
|
| +
|
| + @override
|
| + int get periodOffset => actualElement.periodOffset;
|
| +
|
| + @override
|
| + ConstructorElement get redirectedConstructor =>
|
| + actualElement.redirectedConstructor;
|
| +
|
| + @override
|
| + ConstructorDeclaration computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * The abstract class `ElementHandle` implements the behavior common to objects that implement
|
| + * a handle to an [Element].
|
| + */
|
| +abstract class ElementHandle implements Element {
|
| + /**
|
| + * The unique integer identifier of this element.
|
| + */
|
| + final int id = 0;
|
| +
|
| + /**
|
| + * The context in which the element is defined.
|
| + */
|
| + AnalysisContext _context;
|
| +
|
| + /**
|
| + * The location of this element, used to reconstitute the element if it has been garbage
|
| + * collected.
|
| + */
|
| + ElementLocation _location;
|
| +
|
| + /**
|
| + * A reference to the element being referenced by this handle, or `null` if the element has
|
| + * been garbage collected.
|
| + */
|
| + WeakReference<Element> _elementReference;
|
| +
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ElementHandle(Element element) {
|
| + _context = element.context;
|
| + _location = element.location;
|
| + _elementReference = new WeakReference<Element>(element);
|
| + }
|
| +
|
| + /**
|
| + * Return the element being represented by this handle, reconstituting the element if the
|
| + * reference has been set to `null`.
|
| + *
|
| + * @return the element being represented by this handle
|
| + */
|
| + Element get actualElement {
|
| + Element element = _elementReference.get();
|
| + if (element == null) {
|
| + element = _context.getElement(_location);
|
| + _elementReference = new WeakReference<Element>(element);
|
| + }
|
| + return element;
|
| + }
|
| +
|
| + @override
|
| + AnalysisContext get context => _context;
|
| +
|
| + @override
|
| + String get displayName => actualElement.displayName;
|
| +
|
| + @override
|
| + Element get enclosingElement => actualElement.enclosingElement;
|
| +
|
| + @override
|
| + int get hashCode => _location.hashCode;
|
| +
|
| + @override
|
| + bool get isDeprecated => actualElement.isDeprecated;
|
| +
|
| + @override
|
| + bool get isOverride => actualElement.isOverride;
|
| +
|
| + @override
|
| + bool get isPrivate => actualElement.isPrivate;
|
| +
|
| + @override
|
| + bool get isPublic => actualElement.isPublic;
|
| +
|
| + @override
|
| + bool get isSynthetic => actualElement.isSynthetic;
|
| +
|
| + @override
|
| + LibraryElement get library =>
|
| + getAncestor((element) => element is LibraryElement);
|
| +
|
| + @override
|
| + ElementLocation get location => _location;
|
| +
|
| + @override
|
| + List<ElementAnnotation> get metadata => actualElement.metadata;
|
| +
|
| + @override
|
| + String get name => actualElement.name;
|
| +
|
| + @override
|
| + int get nameOffset => actualElement.nameOffset;
|
| +
|
| + @deprecated
|
| + @override
|
| + AstNode get node => computeNode();
|
| +
|
| + @override
|
| + Source get source => actualElement.source;
|
| +
|
| + @override
|
| + CompilationUnit get unit => actualElement.unit;
|
| +
|
| + @override
|
| + bool operator ==(Object object) =>
|
| + object is Element && object.location == _location;
|
| +
|
| + @override
|
| + accept(ElementVisitor visitor) => actualElement.accept(visitor);
|
| +
|
| + @override
|
| + String computeDocumentationComment() =>
|
| + actualElement.computeDocumentationComment();
|
| +
|
| + @override
|
| + AstNode computeNode() => actualElement.computeNode();
|
| +
|
| + @override
|
| + Element getAncestor(Predicate<Element> predicate) =>
|
| + actualElement.getAncestor(predicate);
|
| +
|
| + @override
|
| + String getExtendedDisplayName(String shortName) =>
|
| + actualElement.getExtendedDisplayName(shortName);
|
| +
|
| + @override
|
| + bool isAccessibleIn(LibraryElement library) =>
|
| + actualElement.isAccessibleIn(library);
|
| +
|
| + @override
|
| + void visitChildren(ElementVisitor visitor) {
|
| + actualElement.visitChildren(visitor);
|
| + }
|
| +
|
| + /**
|
| + * Return a handle on the given element. If the element is already a handle, then it will be
|
| + * returned directly, otherwise a handle of the appropriate class will be constructed.
|
| + *
|
| + * @param element the element for which a handle is to be constructed
|
| + * @return a handle on the given element
|
| + */
|
| + static Element forElement(Element element) {
|
| + if (element is ElementHandle) {
|
| + return element;
|
| + }
|
| + while (true) {
|
| + if (element.kind == ElementKind.CLASS) {
|
| + return new ClassElementHandle(element as ClassElement);
|
| + } else if (element.kind == ElementKind.COMPILATION_UNIT) {
|
| + return new CompilationUnitElementHandle(
|
| + element as CompilationUnitElement);
|
| + } else if (element.kind == ElementKind.CONSTRUCTOR) {
|
| + return new ConstructorElementHandle(element as ConstructorElement);
|
| + } else if (element.kind == ElementKind.EXPORT) {
|
| + return new ExportElementHandle(element as ExportElement);
|
| + } else if (element.kind == ElementKind.FIELD) {
|
| + return new FieldElementHandle(element as FieldElement);
|
| + } else if (element.kind == ElementKind.FUNCTION) {
|
| + return new FunctionElementHandle(element as FunctionElement);
|
| + } else if (element.kind == ElementKind.GETTER) {
|
| + return new PropertyAccessorElementHandle(
|
| + element as PropertyAccessorElement);
|
| + } else if (element.kind == ElementKind.IMPORT) {
|
| + return new ImportElementHandle(element as ImportElement);
|
| + } else if (element.kind == ElementKind.LABEL) {
|
| + return new LabelElementHandle(element as LabelElement);
|
| + } else if (element.kind == ElementKind.LIBRARY) {
|
| + return new LibraryElementHandle(element as LibraryElement);
|
| + } else if (element.kind == ElementKind.LOCAL_VARIABLE) {
|
| + return new LocalVariableElementHandle(element as LocalVariableElement);
|
| + } else if (element.kind == ElementKind.METHOD) {
|
| + return new MethodElementHandle(element as MethodElement);
|
| + } else if (element.kind == ElementKind.PARAMETER) {
|
| + return new ParameterElementHandle(element as ParameterElement);
|
| + } else if (element.kind == ElementKind.PREFIX) {
|
| + return new PrefixElementHandle(element as PrefixElement);
|
| + } else if (element.kind == ElementKind.SETTER) {
|
| + return new PropertyAccessorElementHandle(
|
| + element as PropertyAccessorElement);
|
| + } else if (element.kind == ElementKind.TOP_LEVEL_VARIABLE) {
|
| + return new TopLevelVariableElementHandle(
|
| + element as TopLevelVariableElement);
|
| + } else if (element.kind == ElementKind.FUNCTION_TYPE_ALIAS) {
|
| + return new FunctionTypeAliasElementHandle(
|
| + element as FunctionTypeAliasElement);
|
| + } else if (element.kind == ElementKind.TYPE_PARAMETER) {
|
| + return new TypeParameterElementHandle(element as TypeParameterElement);
|
| + } else {
|
| + throw new UnsupportedOperationException();
|
| + }
|
| + break;
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * Return an array of the same size as the given array where each element of the returned array is
|
| + * a handle for the corresponding element of the given array.
|
| + *
|
| + * @param elements the elements for which handles are to be created
|
| + * @return an array of handles to the given elements
|
| + */
|
| + static List<Element> forElements(List<Element> elements) {
|
| + int length = elements.length;
|
| + List<Element> handles = new List<Element>.from(elements);
|
| + for (int i = 0; i < length; i++) {
|
| + handles[i] = forElement(elements[i]);
|
| + }
|
| + return handles;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * The abstract class `ExecutableElementHandle` implements the behavior common to objects that
|
| + * implement a handle to an [ExecutableElement].
|
| + */
|
| +abstract class ExecutableElementHandle extends ElementHandle
|
| + implements ExecutableElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ExecutableElementHandle(ExecutableElement element) : super(element);
|
| +
|
| + @override
|
| + ExecutableElement get actualElement =>
|
| + super.actualElement as ExecutableElement;
|
| +
|
| + @override
|
| + List<FunctionElement> get functions => actualElement.functions;
|
| +
|
| + @override
|
| + bool get hasImplicitReturnType => actualElement.hasImplicitReturnType;
|
| +
|
| + @override
|
| + bool get isAbstract => actualElement.isAbstract;
|
| +
|
| + @override
|
| + bool get isAsynchronous => actualElement.isAsynchronous;
|
| +
|
| + @override
|
| + bool get isExternal => actualElement.isExternal;
|
| +
|
| + @override
|
| + bool get isGenerator => actualElement.isGenerator;
|
| +
|
| + @override
|
| + bool get isOperator => actualElement.isOperator;
|
| +
|
| + @override
|
| + bool get isStatic => actualElement.isStatic;
|
| +
|
| + @override
|
| + bool get isSynchronous => actualElement.isSynchronous;
|
| +
|
| + @override
|
| + List<LabelElement> get labels => actualElement.labels;
|
| +
|
| + @override
|
| + List<LocalVariableElement> get localVariables => actualElement.localVariables;
|
| +
|
| + @override
|
| + List<ParameterElement> get parameters => actualElement.parameters;
|
| +
|
| + @override
|
| + DartType get returnType => actualElement.returnType;
|
| +
|
| + @override
|
| + FunctionType get type => actualElement.type;
|
| +
|
| + @override
|
| + List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `ExportElementHandle` implement a handle to an `ExportElement`
|
| + * .
|
| + */
|
| +class ExportElementHandle extends ElementHandle implements ExportElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ExportElementHandle(ExportElement element) : super(element);
|
| +
|
| + @override
|
| + ExportElement get actualElement => super.actualElement as ExportElement;
|
| +
|
| + @override
|
| + List<NamespaceCombinator> get combinators => actualElement.combinators;
|
| +
|
| + @override
|
| + LibraryElement get exportedLibrary => actualElement.exportedLibrary;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.EXPORT;
|
| +
|
| + @override
|
| + String get uri => actualElement.uri;
|
| +
|
| + @override
|
| + int get uriEnd => actualElement.uriEnd;
|
| +
|
| + @override
|
| + int get uriOffset => actualElement.uriOffset;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `FieldElementHandle` implement a handle to a `FieldElement`.
|
| + */
|
| +class FieldElementHandle extends PropertyInducingElementHandle
|
| + implements FieldElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + FieldElementHandle(FieldElement element) : super(element);
|
| +
|
| + @override
|
| + FieldElement get actualElement => super.actualElement as FieldElement;
|
| +
|
| + @override
|
| + ClassElement get enclosingElement => actualElement.enclosingElement;
|
| +
|
| + @override
|
| + bool get isEnumConstant => actualElement.isEnumConstant;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.FIELD;
|
| +
|
| + @override
|
| + VariableDeclaration computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `FunctionElementHandle` implement a handle to a
|
| + * `FunctionElement`.
|
| + */
|
| +class FunctionElementHandle extends ExecutableElementHandle
|
| + implements FunctionElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + FunctionElementHandle(FunctionElement element) : super(element);
|
| +
|
| + @override
|
| + FunctionElement get actualElement => super.actualElement as FunctionElement;
|
| +
|
| + @override
|
| + bool get isEntryPoint => actualElement.isEntryPoint;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.FUNCTION;
|
| +
|
| + @override
|
| + SourceRange get visibleRange => actualElement.visibleRange;
|
| +
|
| + @override
|
| + FunctionDeclaration computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `FunctionTypeAliasElementHandle` implement a handle to a
|
| + * `FunctionTypeAliasElement`.
|
| + */
|
| +class FunctionTypeAliasElementHandle extends ElementHandle
|
| + implements FunctionTypeAliasElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + FunctionTypeAliasElementHandle(FunctionTypeAliasElement element)
|
| + : super(element);
|
| +
|
| + @override
|
| + FunctionTypeAliasElement get actualElement =>
|
| + super.actualElement as FunctionTypeAliasElement;
|
| +
|
| + @override
|
| + CompilationUnitElement get enclosingElement =>
|
| + super.enclosingElement as CompilationUnitElement;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.FUNCTION_TYPE_ALIAS;
|
| +
|
| + @override
|
| + List<ParameterElement> get parameters => actualElement.parameters;
|
| +
|
| + @override
|
| + DartType get returnType => actualElement.returnType;
|
| +
|
| + @override
|
| + FunctionType get type => actualElement.type;
|
| +
|
| + @override
|
| + List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
|
| +
|
| + @override
|
| + FunctionTypeAlias computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `ImportElementHandle` implement a handle to an `ImportElement`
|
| + * .
|
| + */
|
| +class ImportElementHandle extends ElementHandle implements ImportElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ImportElementHandle(ImportElement element) : super(element);
|
| +
|
| + @override
|
| + ImportElement get actualElement => super.actualElement as ImportElement;
|
| +
|
| + @override
|
| + List<NamespaceCombinator> get combinators => actualElement.combinators;
|
| +
|
| + @override
|
| + LibraryElement get importedLibrary => actualElement.importedLibrary;
|
| +
|
| + @override
|
| + bool get isDeferred => actualElement.isDeferred;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.IMPORT;
|
| +
|
| + @override
|
| + PrefixElement get prefix => actualElement.prefix;
|
| +
|
| + @override
|
| + int get prefixOffset => actualElement.prefixOffset;
|
| +
|
| + @override
|
| + String get uri => actualElement.uri;
|
| +
|
| + @override
|
| + int get uriEnd => actualElement.uriEnd;
|
| +
|
| + @override
|
| + int get uriOffset => actualElement.uriOffset;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `LabelElementHandle` implement a handle to a `LabelElement`.
|
| + */
|
| +class LabelElementHandle extends ElementHandle implements LabelElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + LabelElementHandle(LabelElement element) : super(element);
|
| +
|
| + @override
|
| + ExecutableElement get enclosingElement =>
|
| + super.enclosingElement as ExecutableElement;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.LABEL;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `LibraryElementHandle` implement a handle to a
|
| + * `LibraryElement`.
|
| + */
|
| +class LibraryElementHandle extends ElementHandle implements LibraryElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + LibraryElementHandle(LibraryElement element) : super(element);
|
| +
|
| + @override
|
| + LibraryElement get actualElement => super.actualElement as LibraryElement;
|
| +
|
| + @override
|
| + CompilationUnitElement get definingCompilationUnit =>
|
| + actualElement.definingCompilationUnit;
|
| +
|
| + @override
|
| + FunctionElement get entryPoint => actualElement.entryPoint;
|
| +
|
| + @override
|
| + List<LibraryElement> get exportedLibraries => actualElement.exportedLibraries;
|
| +
|
| + @override
|
| + Namespace get exportNamespace => actualElement.exportNamespace;
|
| +
|
| + @override
|
| + List<ExportElement> get exports => actualElement.exports;
|
| +
|
| + @override
|
| + bool get hasExtUri => actualElement.hasExtUri;
|
| +
|
| + @override
|
| + bool get hasLoadLibraryFunction => actualElement.hasLoadLibraryFunction;
|
| +
|
| + @override
|
| + List<LibraryElement> get importedLibraries => actualElement.importedLibraries;
|
| +
|
| + @override
|
| + List<ImportElement> get imports => actualElement.imports;
|
| +
|
| + @override
|
| + bool get isBrowserApplication => actualElement.isBrowserApplication;
|
| +
|
| + @override
|
| + bool get isDartCore => actualElement.isDartCore;
|
| +
|
| + @override
|
| + bool get isInSdk => actualElement.isInSdk;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.LIBRARY;
|
| +
|
| + @override
|
| + FunctionElement get loadLibraryFunction => actualElement.loadLibraryFunction;
|
| +
|
| + @override
|
| + List<CompilationUnitElement> get parts => actualElement.parts;
|
| +
|
| + @override
|
| + List<PrefixElement> get prefixes => actualElement.prefixes;
|
| +
|
| + @override
|
| + Namespace get publicNamespace => actualElement.publicNamespace;
|
| +
|
| + @override
|
| + List<CompilationUnitElement> get units => actualElement.units;
|
| +
|
| + @override
|
| + List<LibraryElement> get visibleLibraries => actualElement.visibleLibraries;
|
| +
|
| + @override
|
| + List<ImportElement> getImportsWithPrefix(PrefixElement prefixElement) =>
|
| + actualElement.getImportsWithPrefix(prefixElement);
|
| +
|
| + @override
|
| + ClassElement getType(String className) => actualElement.getType(className);
|
| +
|
| + @override
|
| + bool isUpToDate(int timeStamp) => actualElement.isUpToDate(timeStamp);
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `LocalVariableElementHandle` implement a handle to a
|
| + * `LocalVariableElement`.
|
| + */
|
| +class LocalVariableElementHandle extends VariableElementHandle
|
| + implements LocalVariableElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + LocalVariableElementHandle(LocalVariableElement element) : super(element);
|
| +
|
| + @override
|
| + LocalVariableElement get actualElement =>
|
| + super.actualElement as LocalVariableElement;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.LOCAL_VARIABLE;
|
| +
|
| + @override
|
| + SourceRange get visibleRange => actualElement.visibleRange;
|
| +
|
| + @override
|
| + VariableDeclaration computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `MethodElementHandle` implement a handle to a `MethodElement`.
|
| + */
|
| +class MethodElementHandle extends ExecutableElementHandle
|
| + implements MethodElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + MethodElementHandle(MethodElement element) : super(element);
|
| +
|
| + @override
|
| + MethodElement get actualElement => super.actualElement as MethodElement;
|
| +
|
| + @override
|
| + ClassElement get enclosingElement => super.enclosingElement as ClassElement;
|
| +
|
| + @override
|
| + bool get isStatic => actualElement.isStatic;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.METHOD;
|
| +
|
| + @override
|
| + MethodDeclaration computeNode() => actualElement.computeNode();
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `ParameterElementHandle` implement a handle to a
|
| + * `ParameterElement`.
|
| + */
|
| +class ParameterElementHandle extends VariableElementHandle
|
| + with ParameterElementMixin
|
| + implements ParameterElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + ParameterElementHandle(ParameterElement element) : super(element);
|
| +
|
| + @override
|
| + ParameterElement get actualElement => super.actualElement as ParameterElement;
|
| +
|
| + @override
|
| + String get defaultValueCode => actualElement.defaultValueCode;
|
| +
|
| + @override
|
| + bool get isInitializingFormal => actualElement.isInitializingFormal;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.PARAMETER;
|
| +
|
| + @override
|
| + ParameterKind get parameterKind => actualElement.parameterKind;
|
| +
|
| + @override
|
| + List<ParameterElement> get parameters => actualElement.parameters;
|
| +
|
| + @override
|
| + List<TypeParameterElement> get typeParameters => actualElement.typeParameters;
|
| +
|
| + @override
|
| + SourceRange get visibleRange => actualElement.visibleRange;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `PrefixElementHandle` implement a handle to a `PrefixElement`.
|
| + */
|
| +class PrefixElementHandle extends ElementHandle implements PrefixElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + PrefixElementHandle(PrefixElement element) : super(element);
|
| +
|
| + @override
|
| + PrefixElement get actualElement => super.actualElement as PrefixElement;
|
| +
|
| + @override
|
| + LibraryElement get enclosingElement =>
|
| + super.enclosingElement as LibraryElement;
|
| +
|
| + @override
|
| + List<LibraryElement> get importedLibraries => actualElement.importedLibraries;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.PREFIX;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `PropertyAccessorElementHandle` implement a handle to a
|
| + * `PropertyAccessorElement`.
|
| + */
|
| +class PropertyAccessorElementHandle extends ExecutableElementHandle
|
| + implements PropertyAccessorElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + PropertyAccessorElementHandle(PropertyAccessorElement element)
|
| + : super(element);
|
| +
|
| + @override
|
| + PropertyAccessorElement get actualElement =>
|
| + super.actualElement as PropertyAccessorElement;
|
| +
|
| + @override
|
| + PropertyAccessorElement get correspondingGetter =>
|
| + actualElement.correspondingGetter;
|
| +
|
| + @override
|
| + PropertyAccessorElement get correspondingSetter =>
|
| + actualElement.correspondingSetter;
|
| +
|
| + @override
|
| + bool get isGetter => actualElement.isGetter;
|
| +
|
| + @override
|
| + bool get isSetter => actualElement.isSetter;
|
| +
|
| + @override
|
| + ElementKind get kind {
|
| + if (isGetter) {
|
| + return ElementKind.GETTER;
|
| + } else {
|
| + return ElementKind.SETTER;
|
| + }
|
| + }
|
| +
|
| + @override
|
| + PropertyInducingElement get variable => actualElement.variable;
|
| +}
|
| +
|
| +/**
|
| + * The abstract class `PropertyInducingElementHandle` implements the behavior common to
|
| + * objects that implement a handle to an `PropertyInducingElement`.
|
| + */
|
| +abstract class PropertyInducingElementHandle extends VariableElementHandle
|
| + implements PropertyInducingElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + PropertyInducingElementHandle(PropertyInducingElement element)
|
| + : super(element);
|
| +
|
| + @override
|
| + PropertyInducingElement get actualElement =>
|
| + super.actualElement as PropertyInducingElement;
|
| +
|
| + @override
|
| + PropertyAccessorElement get getter => actualElement.getter;
|
| +
|
| + @override
|
| + DartType get propagatedType => actualElement.propagatedType;
|
| +
|
| + @override
|
| + PropertyAccessorElement get setter => actualElement.setter;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `TopLevelVariableElementHandle` implement a handle to a
|
| + * `TopLevelVariableElement`.
|
| + */
|
| +class TopLevelVariableElementHandle extends PropertyInducingElementHandle
|
| + implements TopLevelVariableElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + TopLevelVariableElementHandle(TopLevelVariableElement element)
|
| + : super(element);
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE;
|
| +}
|
| +
|
| +/**
|
| + * Instances of the class `TypeParameterElementHandle` implement a handle to a
|
| + * [TypeParameterElement].
|
| + */
|
| +class TypeParameterElementHandle extends ElementHandle
|
| + implements TypeParameterElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + TypeParameterElementHandle(TypeParameterElement element) : super(element);
|
| +
|
| + @override
|
| + TypeParameterElement get actualElement =>
|
| + super.actualElement as TypeParameterElement;
|
| +
|
| + @override
|
| + DartType get bound => actualElement.bound;
|
| +
|
| + @override
|
| + ElementKind get kind => ElementKind.TYPE_PARAMETER;
|
| +
|
| + @override
|
| + TypeParameterType get type => actualElement.type;
|
| +}
|
| +
|
| +/**
|
| + * The abstract class `VariableElementHandle` implements the behavior common to objects that
|
| + * implement a handle to an `VariableElement`.
|
| + */
|
| +abstract class VariableElementHandle extends ElementHandle
|
| + implements VariableElement {
|
| + /**
|
| + * Initialize a newly created element handle to represent the given element.
|
| + *
|
| + * @param element the element being represented
|
| + */
|
| + VariableElementHandle(VariableElement element) : super(element);
|
| +
|
| + @override
|
| + VariableElement get actualElement => super.actualElement as VariableElement;
|
| +
|
| + @override
|
| + bool get hasImplicitType => actualElement.hasImplicitType;
|
| +
|
| + @override
|
| + FunctionElement get initializer => actualElement.initializer;
|
| +
|
| + @override
|
| + bool get isConst => actualElement.isConst;
|
| +
|
| + @override
|
| + bool get isFinal => actualElement.isFinal;
|
| +
|
| + @override
|
| + bool get isPotentiallyMutatedInClosure =>
|
| + actualElement.isPotentiallyMutatedInClosure;
|
| +
|
| + @override
|
| + bool get isPotentiallyMutatedInScope =>
|
| + actualElement.isPotentiallyMutatedInScope;
|
| +
|
| + @override
|
| + bool get isStatic => actualElement.isStatic;
|
| +
|
| + @override
|
| + DartType get type => actualElement.type;
|
| +}
|
| +
|
| +/**
|
| + * TODO(scheglov) invalid implementation
|
| + */
|
| +class WeakReference<T> {
|
| + final T value;
|
| + WeakReference(this.value);
|
| + T get() => value;
|
| +}
|
|
|