| Index: pkg/analyzer_experimental/lib/src/generated/element.dart
|
| diff --git a/pkg/analyzer-experimental/lib/src/generated/element.dart b/pkg/analyzer_experimental/lib/src/generated/element.dart
|
| similarity index 95%
|
| rename from pkg/analyzer-experimental/lib/src/generated/element.dart
|
| rename to pkg/analyzer_experimental/lib/src/generated/element.dart
|
| index 426cb096a6ba73a65243ca8633fe3b77b2db8982..601a3e1e191e1502c9afe40a86c55f50ce2ec52e 100644
|
| --- a/pkg/analyzer-experimental/lib/src/generated/element.dart
|
| +++ b/pkg/analyzer_experimental/lib/src/generated/element.dart
|
| @@ -11,6 +11,7 @@ import 'scanner.dart' show Keyword;
|
| import 'ast.dart' show Identifier, LibraryIdentifier;
|
| import 'html.dart' show XmlTagNode;
|
| import 'engine.dart' show AnalysisContext;
|
| +import 'constant.dart' show EvaluationResultImpl;
|
| import 'utilities_dart.dart';
|
|
|
| /**
|
| @@ -208,10 +209,10 @@ abstract class CompilationUnitElement implements Element {
|
| */
|
| List<TopLevelVariableElement> get topLevelVariables;
|
| /**
|
| - * Return an array containing all of the type aliases contained in this compilation unit.
|
| - * @return the type aliases contained in this compilation unit
|
| + * Return an array containing all of the function type aliases contained in this compilation unit.
|
| + * @return the function type aliases contained in this compilation unit
|
| */
|
| - List<TypeAliasElement> get typeAliases;
|
| + List<FunctionTypeAliasElement> get functionTypeAliases;
|
| /**
|
| * Return an array containing all of the classes contained in this compilation unit.
|
| * @return the classes contained in this compilation unit
|
| @@ -380,10 +381,10 @@ class ElementKind {
|
| static final ElementKind PREFIX = new ElementKind('PREFIX', 19, "import prefix");
|
| static final ElementKind SETTER = new ElementKind('SETTER', 20, "setter");
|
| static final ElementKind TOP_LEVEL_VARIABLE = new ElementKind('TOP_LEVEL_VARIABLE', 21, "top level variable");
|
| - static final ElementKind TYPE_ALIAS = new ElementKind('TYPE_ALIAS', 22, "function type alias");
|
| + static final ElementKind FUNCTION_TYPE_ALIAS = new ElementKind('FUNCTION_TYPE_ALIAS', 22, "function type alias");
|
| static final ElementKind TYPE_VARIABLE = new ElementKind('TYPE_VARIABLE', 23, "type variable");
|
| static final ElementKind UNIVERSE = new ElementKind('UNIVERSE', 24, "<universe>");
|
| - static final List<ElementKind> values = [CLASS, COMPILATION_UNIT, CONSTRUCTOR, DYNAMIC, EMBEDDED_HTML_SCRIPT, ERROR, EXPORT, EXTERNAL_HTML_SCRIPT, FIELD, FUNCTION, GETTER, HTML, IMPORT, LABEL, LIBRARY, LOCAL_VARIABLE, METHOD, NAME, PARAMETER, PREFIX, SETTER, TOP_LEVEL_VARIABLE, TYPE_ALIAS, TYPE_VARIABLE, UNIVERSE];
|
| + static final List<ElementKind> values = [CLASS, COMPILATION_UNIT, CONSTRUCTOR, DYNAMIC, EMBEDDED_HTML_SCRIPT, ERROR, EXPORT, EXTERNAL_HTML_SCRIPT, FIELD, FUNCTION, GETTER, HTML, IMPORT, LABEL, LIBRARY, LOCAL_VARIABLE, METHOD, NAME, PARAMETER, PREFIX, SETTER, TOP_LEVEL_VARIABLE, FUNCTION_TYPE_ALIAS, TYPE_VARIABLE, UNIVERSE];
|
| final String __name;
|
| final int __ordinal;
|
| int get ordinal => __ordinal;
|
| @@ -435,7 +436,7 @@ abstract class ElementVisitor<R> {
|
| R visitPrefixElement(PrefixElement element);
|
| R visitPropertyAccessorElement(PropertyAccessorElement element);
|
| R visitTopLevelVariableElement(TopLevelVariableElement element);
|
| - R visitTypeAliasElement(TypeAliasElement element);
|
| + R visitFunctionTypeAliasElement(FunctionTypeAliasElement element);
|
| R visitTypeVariableElement(TypeVariableElement element);
|
| }
|
| /**
|
| @@ -543,6 +544,33 @@ abstract class FieldElement implements PropertyInducingElement {
|
| abstract class FunctionElement implements ExecutableElement, LocalElement {
|
| }
|
| /**
|
| + * The interface {@code FunctionTypeAliasElement} defines the behavior of elements representing a
|
| + * function type alias ({@code typedef}).
|
| + * @coverage dart.engine.element
|
| + */
|
| +abstract class FunctionTypeAliasElement implements Element {
|
| + /**
|
| + * Return the compilation unit in which this type alias is defined.
|
| + * @return the compilation unit in which this type alias is defined
|
| + */
|
| + CompilationUnitElement get enclosingElement;
|
| + /**
|
| + * Return an array containing all of the parameters defined by this type alias.
|
| + * @return the parameters defined by this type alias
|
| + */
|
| + List<ParameterElement> get parameters;
|
| + /**
|
| + * Return the type of function defined by this type alias.
|
| + * @return the type of function defined by this type alias
|
| + */
|
| + FunctionType get type;
|
| + /**
|
| + * Return an array containing all of the type variables defined for this type.
|
| + * @return the type variables defined for this type
|
| + */
|
| + List<TypeVariableElement> get typeVariables;
|
| +}
|
| +/**
|
| * The interface {@code HideCombinator} defines the behavior of combinators that cause some of the
|
| * names in a namespace to be hidden when being imported.
|
| * @coverage dart.engine.element
|
| @@ -887,33 +915,6 @@ abstract class ShowCombinator implements NamespaceCombinator {
|
| abstract class TopLevelVariableElement implements PropertyInducingElement {
|
| }
|
| /**
|
| - * The interface {@code TypeAliasElement} defines the behavior of elements representing a type alias
|
| - * ({@code typedef}).
|
| - * @coverage dart.engine.element
|
| - */
|
| -abstract class TypeAliasElement implements Element {
|
| - /**
|
| - * Return the compilation unit in which this type alias is defined.
|
| - * @return the compilation unit in which this type alias is defined
|
| - */
|
| - CompilationUnitElement get enclosingElement;
|
| - /**
|
| - * Return an array containing all of the parameters defined by this type alias.
|
| - * @return the parameters defined by this type alias
|
| - */
|
| - List<ParameterElement> get parameters;
|
| - /**
|
| - * Return the type of function defined by this type alias.
|
| - * @return the type of function defined by this type alias
|
| - */
|
| - FunctionType get type;
|
| - /**
|
| - * Return an array containing all of the type variables defined for this type.
|
| - * @return the type variables defined for this type
|
| - */
|
| - List<TypeVariableElement> get typeVariables;
|
| -}
|
| -/**
|
| * The interface {@code TypeVariableElement} defines the behavior of elements representing a type
|
| * variable.
|
| * @coverage dart.engine.element
|
| @@ -1059,7 +1060,7 @@ class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
|
| R visitPropertyAccessorElement(PropertyAccessorElement element) => visitExecutableElement(element);
|
| R visitPropertyInducingElement(PropertyInducingElement element) => visitVariableElement(element);
|
| R visitTopLevelVariableElement(TopLevelVariableElement element) => visitPropertyInducingElement(element);
|
| - R visitTypeAliasElement(TypeAliasElement element) => visitElement(element);
|
| + R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => visitElement(element);
|
| R visitTypeVariableElement(TypeVariableElement element) => visitElement(element);
|
| R visitVariableElement(VariableElement element) => visitElement(element);
|
| }
|
| @@ -1151,7 +1152,7 @@ class RecursiveElementVisitor<R> implements ElementVisitor<R> {
|
| element.visitChildren(this);
|
| return null;
|
| }
|
| - R visitTypeAliasElement(TypeAliasElement element) {
|
| + R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) {
|
| element.visitChildren(this);
|
| return null;
|
| }
|
| @@ -1187,7 +1188,7 @@ class SimpleElementVisitor<R> implements ElementVisitor<R> {
|
| R visitPrefixElement(PrefixElement element) => null;
|
| R visitPropertyAccessorElement(PropertyAccessorElement element) => null;
|
| R visitTopLevelVariableElement(TopLevelVariableElement element) => null;
|
| - R visitTypeAliasElement(TypeAliasElement element) => null;
|
| + R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null;
|
| R visitTypeVariableElement(TypeVariableElement element) => null;
|
| }
|
| /**
|
| @@ -1617,9 +1618,9 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| */
|
| Source _source;
|
| /**
|
| - * An array containing all of the type aliases contained in this compilation unit.
|
| + * An array containing all of the function type aliases contained in this compilation unit.
|
| */
|
| - List<TypeAliasElement> _typeAliases = TypeAliasElementImpl.EMPTY_ARRAY;
|
| + List<FunctionTypeAliasElement> _typeAliases = FunctionTypeAliasElementImpl.EMPTY_ARRAY;
|
| /**
|
| * An array containing all of the types contained in this compilation unit.
|
| */
|
| @@ -1635,7 +1636,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| CompilationUnitElementImpl(String name) : super.con2(name, -1) {
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitCompilationUnitElement(this);
|
| - bool operator ==(Object object) => identical(runtimeType, object.runtimeType) && _source == ((object as CompilationUnitElementImpl)).source;
|
| + bool operator ==(Object object) => object != null && identical(runtimeType, object.runtimeType) && _source == ((object as CompilationUnitElementImpl)).source;
|
| List<PropertyAccessorElement> get accessors => _accessors;
|
| ElementImpl getChild(String identifier26) {
|
| for (PropertyAccessorElement accessor in _accessors) {
|
| @@ -1653,9 +1654,9 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| return function as ExecutableElementImpl;
|
| }
|
| }
|
| - for (TypeAliasElement typeAlias in _typeAliases) {
|
| - if (((typeAlias as TypeAliasElementImpl)).identifier == identifier26) {
|
| - return typeAlias as TypeAliasElementImpl;
|
| + for (FunctionTypeAliasElement typeAlias in _typeAliases) {
|
| + if (((typeAlias as FunctionTypeAliasElementImpl)).identifier == identifier26) {
|
| + return typeAlias as FunctionTypeAliasElementImpl;
|
| }
|
| }
|
| for (ClassElement type in _types) {
|
| @@ -1667,11 +1668,11 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| }
|
| LibraryElement get enclosingElement => super.enclosingElement as LibraryElement;
|
| List<FunctionElement> get functions => _functions;
|
| + List<FunctionTypeAliasElement> get functionTypeAliases => _typeAliases;
|
| String get identifier => source.fullName;
|
| ElementKind get kind => ElementKind.COMPILATION_UNIT;
|
| Source get source => _source;
|
| List<TopLevelVariableElement> get topLevelVariables => _variables;
|
| - List<TypeAliasElement> get typeAliases => _typeAliases;
|
| List<ClassElement> get types => _types;
|
| int get hashCode => _source.hashCode;
|
| /**
|
| @@ -1713,12 +1714,12 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| this._variables = variables2;
|
| }
|
| /**
|
| - * Set the type aliases contained in this compilation unit to the given type aliases.
|
| - * @param typeAliases the type aliases contained in this compilation unit
|
| + * Set the function type aliases contained in this compilation unit to the given type aliases.
|
| + * @param typeAliases the function type aliases contained in this compilation unit
|
| */
|
| - void set typeAliases(List<TypeAliasElement> typeAliases2) {
|
| - for (TypeAliasElement typeAlias in typeAliases2) {
|
| - ((typeAlias as TypeAliasElementImpl)).enclosingElement = this;
|
| + void set typeAliases(List<FunctionTypeAliasElement> typeAliases2) {
|
| + for (FunctionTypeAliasElement typeAlias in typeAliases2) {
|
| + ((typeAlias as FunctionTypeAliasElementImpl)).enclosingElement = this;
|
| }
|
| this._typeAliases = typeAliases2;
|
| }
|
| @@ -1749,6 +1750,86 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
|
| }
|
| }
|
| /**
|
| + * Instances of the class {@code ConstFieldElementImpl} implement a {@code FieldElement} for a
|
| + * 'const' field that has an initializer.
|
| + */
|
| +class ConstFieldElementImpl extends FieldElementImpl {
|
| + /**
|
| + * The result of evaluating this variable's initializer.
|
| + */
|
| + EvaluationResultImpl _result;
|
| + /**
|
| + * Initialize a newly created field element to have the given name.
|
| + * @param name the name of this element
|
| + */
|
| + ConstFieldElementImpl(Identifier name) : super.con1(name) {
|
| + }
|
| + EvaluationResultImpl get evaluationResult => _result;
|
| + void set evaluationResult(EvaluationResultImpl result2) {
|
| + this._result = result2;
|
| + }
|
| +}
|
| +/**
|
| + * Instances of the class {@code ConstLocalVariableElementImpl} implement a{@code LocalVariableElement} for a local 'const' variable that has an initializer.
|
| + * @coverage dart.engine.element
|
| + */
|
| +class ConstLocalVariableElementImpl extends LocalVariableElementImpl {
|
| + /**
|
| + * The result of evaluating this variable's initializer.
|
| + */
|
| + EvaluationResultImpl _result;
|
| + /**
|
| + * Initialize a newly created local variable element to have the given name.
|
| + * @param name the name of this element
|
| + */
|
| + ConstLocalVariableElementImpl(Identifier name) : super(name) {
|
| + }
|
| + EvaluationResultImpl get evaluationResult => _result;
|
| + void set evaluationResult(EvaluationResultImpl result3) {
|
| + this._result = result3;
|
| + }
|
| +}
|
| +/**
|
| + * Instances of the class {@code ConstParameterElementImpl} implement a {@code ParameterElement} for
|
| + * a 'const' parameter that has an initializer.
|
| + * @coverage dart.engine.element
|
| + */
|
| +class ConstParameterElementImpl extends ParameterElementImpl {
|
| + /**
|
| + * The result of evaluating this variable's initializer.
|
| + */
|
| + EvaluationResultImpl _result;
|
| + /**
|
| + * Initialize a newly created parameter element to have the given name.
|
| + * @param name the name of this element
|
| + */
|
| + ConstParameterElementImpl(Identifier name) : super(name) {
|
| + }
|
| + EvaluationResultImpl get evaluationResult => _result;
|
| + void set evaluationResult(EvaluationResultImpl result4) {
|
| + this._result = result4;
|
| + }
|
| +}
|
| +/**
|
| + * Instances of the class {@code ConstTopLevelVariableElementImpl} implement a{@code TopLevelVariableElement} for a top-level 'const' variable that has an initializer.
|
| + */
|
| +class ConstTopLevelVariableElementImpl extends TopLevelVariableElementImpl {
|
| + /**
|
| + * The result of evaluating this variable's initializer.
|
| + */
|
| + EvaluationResultImpl _result;
|
| + /**
|
| + * Initialize a newly created top-level variable element to have the given name.
|
| + * @param name the name of this element
|
| + */
|
| + ConstTopLevelVariableElementImpl(Identifier name) : super.con1(name) {
|
| + }
|
| + EvaluationResultImpl get evaluationResult => _result;
|
| + void set evaluationResult(EvaluationResultImpl result5) {
|
| + this._result = result5;
|
| + }
|
| +}
|
| +/**
|
| * Instances of the class {@code ConstructorElementImpl} implement a {@code ConstructorElement}.
|
| * @coverage dart.engine.element
|
| */
|
| @@ -1770,6 +1851,13 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
|
| bool isFactory() => hasModifier(Modifier.FACTORY);
|
| bool isStatic() => false;
|
| /**
|
| + * Set whether this constructor represents a 'const' constructor to the given value.
|
| + * @param isConst {@code true} if this constructor represents a 'const' constructor
|
| + */
|
| + void set const2(bool isConst) {
|
| + setModifier(Modifier.CONST, isConst);
|
| + }
|
| + /**
|
| * Set whether this constructor represents a factory method to the given value.
|
| * @param isFactory {@code true} if this constructor represents a factory method
|
| */
|
| @@ -1857,10 +1945,10 @@ abstract class ElementImpl implements Element {
|
| * @param name the name of this element
|
| */
|
| ElementImpl.con1(Identifier name24) {
|
| - _jtd_constructor_161_impl(name24);
|
| + _jtd_constructor_172_impl(name24);
|
| }
|
| - _jtd_constructor_161_impl(Identifier name24) {
|
| - _jtd_constructor_162_impl(name24 == null ? "" : name24.name, name24 == null ? -1 : name24.offset);
|
| + _jtd_constructor_172_impl(Identifier name24) {
|
| + _jtd_constructor_173_impl(name24 == null ? "" : name24.name, name24 == null ? -1 : name24.offset);
|
| }
|
| /**
|
| * Initialize a newly created element to have the given name.
|
| @@ -1869,9 +1957,9 @@ abstract class ElementImpl implements Element {
|
| * declaration of this element
|
| */
|
| ElementImpl.con2(String name8, int nameOffset2) {
|
| - _jtd_constructor_162_impl(name8, nameOffset2);
|
| + _jtd_constructor_173_impl(name8, nameOffset2);
|
| }
|
| - _jtd_constructor_162_impl(String name8, int nameOffset2) {
|
| + _jtd_constructor_173_impl(String name8, int nameOffset2) {
|
| this._name = name8;
|
| this._nameOffset = nameOffset2;
|
| this._modifiers = new Set();
|
| @@ -1909,9 +1997,9 @@ abstract class ElementImpl implements Element {
|
| return _enclosingElement.source;
|
| }
|
| int get hashCode => location.hashCode;
|
| - bool isAccessibleIn(LibraryElement library20) {
|
| + bool isAccessibleIn(LibraryElement library21) {
|
| if (Identifier.isPrivateName(_name)) {
|
| - return library20 == library;
|
| + return library21 == library;
|
| }
|
| return true;
|
| }
|
| @@ -2023,9 +2111,9 @@ class ElementLocationImpl implements ElementLocation {
|
| * @param element the element whose location is being represented
|
| */
|
| ElementLocationImpl.con1(Element element) {
|
| - _jtd_constructor_163_impl(element);
|
| + _jtd_constructor_174_impl(element);
|
| }
|
| - _jtd_constructor_163_impl(Element element) {
|
| + _jtd_constructor_174_impl(Element element) {
|
| List<String> components = new List<String>();
|
| Element ancestor = element;
|
| while (ancestor != null) {
|
| @@ -2039,9 +2127,9 @@ class ElementLocationImpl implements ElementLocation {
|
| * @param encoding the encoded form of a location
|
| */
|
| ElementLocationImpl.con2(String encoding) {
|
| - _jtd_constructor_164_impl(encoding);
|
| + _jtd_constructor_175_impl(encoding);
|
| }
|
| - _jtd_constructor_164_impl(String encoding) {
|
| + _jtd_constructor_175_impl(String encoding) {
|
| this._components = decode(encoding);
|
| }
|
| bool operator ==(Object object) {
|
| @@ -2180,9 +2268,9 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
|
| * @param name the name of this element
|
| */
|
| ExecutableElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_166_impl(name);
|
| + _jtd_constructor_177_impl(name);
|
| }
|
| - _jtd_constructor_166_impl(Identifier name) {
|
| + _jtd_constructor_177_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created executable element to have the given name.
|
| @@ -2191,9 +2279,9 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
|
| * declaration of this element
|
| */
|
| ExecutableElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
|
| - _jtd_constructor_167_impl(name, nameOffset);
|
| + _jtd_constructor_178_impl(name, nameOffset);
|
| }
|
| - _jtd_constructor_167_impl(String name, int nameOffset) {
|
| + _jtd_constructor_178_impl(String name, int nameOffset) {
|
| }
|
| ElementImpl getChild(String identifier27) {
|
| for (ExecutableElement function in _functions) {
|
| @@ -2377,18 +2465,18 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
|
| * @param name the name of this element
|
| */
|
| FieldElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_170_impl(name);
|
| + _jtd_constructor_181_impl(name);
|
| }
|
| - _jtd_constructor_170_impl(Identifier name) {
|
| + _jtd_constructor_181_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created synthetic field element to have the given name.
|
| * @param name the name of this element
|
| */
|
| FieldElementImpl.con2(String name) : super.con2(name) {
|
| - _jtd_constructor_171_impl(name);
|
| + _jtd_constructor_182_impl(name);
|
| }
|
| - _jtd_constructor_171_impl(String name) {
|
| + _jtd_constructor_182_impl(String name) {
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitFieldElement(this);
|
| ClassElement get enclosingElement => super.enclosingElement as ClassElement;
|
| @@ -2424,9 +2512,9 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
|
| * Initialize a newly created synthetic function element.
|
| */
|
| FunctionElementImpl() : super.con2("", -1) {
|
| - _jtd_constructor_172_impl();
|
| + _jtd_constructor_183_impl();
|
| }
|
| - _jtd_constructor_172_impl() {
|
| + _jtd_constructor_183_impl() {
|
| synthetic = true;
|
| }
|
| /**
|
| @@ -2434,9 +2522,9 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
|
| * @param name the name of this element
|
| */
|
| FunctionElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_173_impl(name);
|
| + _jtd_constructor_184_impl(name);
|
| }
|
| - _jtd_constructor_173_impl(Identifier name) {
|
| + _jtd_constructor_184_impl(Identifier name) {
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitFunctionElement(this);
|
| String get identifier => name;
|
| @@ -2468,6 +2556,115 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
|
| }
|
| }
|
| /**
|
| + * Instances of the class {@code FunctionTypeAliasElementImpl} implement a{@code FunctionTypeAliasElement}.
|
| + * @coverage dart.engine.element
|
| + */
|
| +class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAliasElement {
|
| + /**
|
| + * An array containing all of the parameters defined by this type alias.
|
| + */
|
| + List<ParameterElement> _parameters = ParameterElementImpl.EMPTY_ARRAY;
|
| + /**
|
| + * The type of function defined by this type alias.
|
| + */
|
| + FunctionType _type;
|
| + /**
|
| + * An array containing all of the type variables defined for this type.
|
| + */
|
| + List<TypeVariableElement> _typeVariables = TypeVariableElementImpl.EMPTY_ARRAY;
|
| + /**
|
| + * An empty array of type alias elements.
|
| + */
|
| + static List<FunctionTypeAliasElement> EMPTY_ARRAY = new List<FunctionTypeAliasElement>(0);
|
| + /**
|
| + * Initialize a newly created type alias element to have the given name.
|
| + * @param name the name of this element
|
| + */
|
| + FunctionTypeAliasElementImpl(Identifier name) : super.con1(name) {
|
| + }
|
| + accept(ElementVisitor visitor) => visitor.visitFunctionTypeAliasElement(this);
|
| + ElementImpl getChild(String identifier28) {
|
| + for (VariableElement parameter in _parameters) {
|
| + if (((parameter as VariableElementImpl)).identifier == identifier28) {
|
| + return parameter as VariableElementImpl;
|
| + }
|
| + }
|
| + for (TypeVariableElement typeVariable in _typeVariables) {
|
| + if (((typeVariable as TypeVariableElementImpl)).identifier == identifier28) {
|
| + return typeVariable as TypeVariableElementImpl;
|
| + }
|
| + }
|
| + return null;
|
| + }
|
| + CompilationUnitElement get enclosingElement => super.enclosingElement as CompilationUnitElement;
|
| + ElementKind get kind => ElementKind.FUNCTION_TYPE_ALIAS;
|
| + List<ParameterElement> get parameters => _parameters;
|
| + FunctionType get type => _type;
|
| + List<TypeVariableElement> get typeVariables => _typeVariables;
|
| + /**
|
| + * Set the parameters defined by this type alias to the given parameters.
|
| + * @param parameters the parameters defined by this type alias
|
| + */
|
| + void set parameters(List<ParameterElement> parameters8) {
|
| + if (parameters8 != null) {
|
| + for (ParameterElement parameter in parameters8) {
|
| + ((parameter as ParameterElementImpl)).enclosingElement = this;
|
| + }
|
| + }
|
| + this._parameters = parameters8;
|
| + }
|
| + /**
|
| + * Set the type of function defined by this type alias to the given type.
|
| + * @param type the type of function defined by this type alias
|
| + */
|
| + void set type(FunctionType type8) {
|
| + this._type = type8;
|
| + }
|
| + /**
|
| + * Set the type variables defined for this type to the given variables.
|
| + * @param typeVariables the type variables defined for this type
|
| + */
|
| + void set typeVariables(List<TypeVariableElement> typeVariables3) {
|
| + for (TypeVariableElement variable in typeVariables3) {
|
| + ((variable as TypeVariableElementImpl)).enclosingElement = this;
|
| + }
|
| + this._typeVariables = typeVariables3;
|
| + }
|
| + void visitChildren(ElementVisitor<Object> visitor) {
|
| + super.visitChildren(visitor);
|
| + safelyVisitChildren(_parameters, visitor);
|
| + safelyVisitChildren(_typeVariables, visitor);
|
| + }
|
| + void appendTo(JavaStringBuilder builder) {
|
| + builder.append("typedef ");
|
| + builder.append(name);
|
| + int variableCount = _typeVariables.length;
|
| + if (variableCount > 0) {
|
| + builder.append("<");
|
| + for (int i = 0; i < variableCount; i++) {
|
| + if (i > 0) {
|
| + builder.append(", ");
|
| + }
|
| + ((_typeVariables[i] as TypeVariableElementImpl)).appendTo(builder);
|
| + }
|
| + builder.append(">");
|
| + }
|
| + builder.append("(");
|
| + int parameterCount = _parameters.length;
|
| + for (int i = 0; i < parameterCount; i++) {
|
| + if (i > 0) {
|
| + builder.append(", ");
|
| + }
|
| + ((_parameters[i] as ParameterElementImpl)).appendTo(builder);
|
| + }
|
| + builder.append(")");
|
| + if (_type != null) {
|
| + builder.append(" -> ");
|
| + builder.append(_type.returnType);
|
| + }
|
| + }
|
| +}
|
| +/**
|
| * Instances of the class {@code ShowCombinatorImpl} implement a {@link ShowCombinator}.
|
| * @coverage dart.engine.element
|
| */
|
| @@ -2759,13 +2956,13 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
|
| this._context = context;
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitLibraryElement(this);
|
| - bool operator ==(Object object) => identical(runtimeType, object.runtimeType) && _definingCompilationUnit == ((object as LibraryElementImpl)).definingCompilationUnit;
|
| - ElementImpl getChild(String identifier28) {
|
| - if (((_definingCompilationUnit as CompilationUnitElementImpl)).identifier == identifier28) {
|
| + bool operator ==(Object object) => object != null && identical(runtimeType, object.runtimeType) && _definingCompilationUnit == ((object as LibraryElementImpl)).definingCompilationUnit;
|
| + ElementImpl getChild(String identifier29) {
|
| + if (((_definingCompilationUnit as CompilationUnitElementImpl)).identifier == identifier29) {
|
| return _definingCompilationUnit as CompilationUnitElementImpl;
|
| }
|
| for (CompilationUnitElement part in _parts) {
|
| - if (((part as CompilationUnitElementImpl)).identifier == identifier28) {
|
| + if (((part as CompilationUnitElementImpl)).identifier == identifier29) {
|
| return part as CompilationUnitElementImpl;
|
| }
|
| }
|
| @@ -2915,7 +3112,7 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
|
| */
|
| static List<LocalVariableElement> EMPTY_ARRAY = new List<LocalVariableElement>(0);
|
| /**
|
| - * Initialize a newly created parameter element to have the given name.
|
| + * Initialize a newly created local variable element to have the given name.
|
| * @param name the name of this element
|
| */
|
| LocalVariableElementImpl(Identifier name) : super.con1(name) {
|
| @@ -2959,9 +3156,9 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
|
| * @param name the name of this element
|
| */
|
| MethodElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_181_impl(name);
|
| + _jtd_constructor_193_impl(name);
|
| }
|
| - _jtd_constructor_181_impl(Identifier name) {
|
| + _jtd_constructor_193_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created method element to have the given name.
|
| @@ -2970,9 +3167,9 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
|
| * declaration of this element
|
| */
|
| MethodElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
|
| - _jtd_constructor_182_impl(name, nameOffset);
|
| + _jtd_constructor_194_impl(name, nameOffset);
|
| }
|
| - _jtd_constructor_182_impl(String name, int nameOffset) {
|
| + _jtd_constructor_194_impl(String name, int nameOffset) {
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitMethodElement(this);
|
| ClassElement get enclosingElement => super.enclosingElement as ClassElement;
|
| @@ -3247,9 +3444,9 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
|
| * @param name the name of this element
|
| */
|
| PropertyAccessorElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_187_impl(name);
|
| + _jtd_constructor_199_impl(name);
|
| }
|
| - _jtd_constructor_187_impl(Identifier name) {
|
| + _jtd_constructor_199_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created synthetic property accessor element to be associated with the given
|
| @@ -3257,9 +3454,9 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
|
| * @param variable the variable with which this access is associated
|
| */
|
| PropertyAccessorElementImpl.con2(PropertyInducingElementImpl variable2) : super.con2(variable2.name, -1) {
|
| - _jtd_constructor_188_impl(variable2);
|
| + _jtd_constructor_200_impl(variable2);
|
| }
|
| - _jtd_constructor_188_impl(PropertyInducingElementImpl variable2) {
|
| + _jtd_constructor_200_impl(PropertyInducingElementImpl variable2) {
|
| this._variable = variable2;
|
| synthetic = true;
|
| }
|
| @@ -3324,18 +3521,18 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
|
| * @param name the name of this element
|
| */
|
| PropertyInducingElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_189_impl(name);
|
| + _jtd_constructor_201_impl(name);
|
| }
|
| - _jtd_constructor_189_impl(Identifier name) {
|
| + _jtd_constructor_201_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created synthetic element to have the given name.
|
| * @param name the name of this element
|
| */
|
| PropertyInducingElementImpl.con2(String name) : super.con2(name, -1) {
|
| - _jtd_constructor_190_impl(name);
|
| + _jtd_constructor_202_impl(name);
|
| }
|
| - _jtd_constructor_190_impl(String name) {
|
| + _jtd_constructor_202_impl(String name) {
|
| synthetic = true;
|
| }
|
| PropertyAccessorElement get getter => _getter;
|
| @@ -3406,133 +3603,24 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
|
| * @param name the name of this element
|
| */
|
| TopLevelVariableElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_192_impl(name);
|
| + _jtd_constructor_204_impl(name);
|
| }
|
| - _jtd_constructor_192_impl(Identifier name) {
|
| + _jtd_constructor_204_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created synthetic top-level variable element to have the given name.
|
| * @param name the name of this element
|
| */
|
| TopLevelVariableElementImpl.con2(String name) : super.con2(name) {
|
| - _jtd_constructor_193_impl(name);
|
| + _jtd_constructor_205_impl(name);
|
| }
|
| - _jtd_constructor_193_impl(String name) {
|
| + _jtd_constructor_205_impl(String name) {
|
| }
|
| accept(ElementVisitor visitor) => visitor.visitTopLevelVariableElement(this);
|
| ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE;
|
| bool isStatic() => true;
|
| }
|
| /**
|
| - * Instances of the class {@code TypeAliasElementImpl} implement a {@code TypeAliasElement}.
|
| - * @coverage dart.engine.element
|
| - */
|
| -class TypeAliasElementImpl extends ElementImpl implements TypeAliasElement {
|
| - /**
|
| - * An array containing all of the parameters defined by this type alias.
|
| - */
|
| - List<ParameterElement> _parameters = ParameterElementImpl.EMPTY_ARRAY;
|
| - /**
|
| - * The type of function defined by this type alias.
|
| - */
|
| - FunctionType _type;
|
| - /**
|
| - * An array containing all of the type variables defined for this type.
|
| - */
|
| - List<TypeVariableElement> _typeVariables = TypeVariableElementImpl.EMPTY_ARRAY;
|
| - /**
|
| - * An empty array of type alias elements.
|
| - */
|
| - static List<TypeAliasElement> EMPTY_ARRAY = new List<TypeAliasElement>(0);
|
| - /**
|
| - * Initialize a newly created type alias element to have the given name.
|
| - * @param name the name of this element
|
| - */
|
| - TypeAliasElementImpl(Identifier name) : super.con1(name) {
|
| - }
|
| - accept(ElementVisitor visitor) => visitor.visitTypeAliasElement(this);
|
| - ElementImpl getChild(String identifier29) {
|
| - for (VariableElement parameter in _parameters) {
|
| - if (((parameter as VariableElementImpl)).identifier == identifier29) {
|
| - return parameter as VariableElementImpl;
|
| - }
|
| - }
|
| - for (TypeVariableElement typeVariable in _typeVariables) {
|
| - if (((typeVariable as TypeVariableElementImpl)).identifier == identifier29) {
|
| - return typeVariable as TypeVariableElementImpl;
|
| - }
|
| - }
|
| - return null;
|
| - }
|
| - CompilationUnitElement get enclosingElement => super.enclosingElement as CompilationUnitElement;
|
| - ElementKind get kind => ElementKind.TYPE_ALIAS;
|
| - List<ParameterElement> get parameters => _parameters;
|
| - FunctionType get type => _type;
|
| - List<TypeVariableElement> get typeVariables => _typeVariables;
|
| - /**
|
| - * Set the parameters defined by this type alias to the given parameters.
|
| - * @param parameters the parameters defined by this type alias
|
| - */
|
| - void set parameters(List<ParameterElement> parameters8) {
|
| - if (parameters8 != null) {
|
| - for (ParameterElement parameter in parameters8) {
|
| - ((parameter as ParameterElementImpl)).enclosingElement = this;
|
| - }
|
| - }
|
| - this._parameters = parameters8;
|
| - }
|
| - /**
|
| - * Set the type of function defined by this type alias to the given type.
|
| - * @param type the type of function defined by this type alias
|
| - */
|
| - void set type(FunctionType type8) {
|
| - this._type = type8;
|
| - }
|
| - /**
|
| - * Set the type variables defined for this type to the given variables.
|
| - * @param typeVariables the type variables defined for this type
|
| - */
|
| - void set typeVariables(List<TypeVariableElement> typeVariables3) {
|
| - for (TypeVariableElement variable in typeVariables3) {
|
| - ((variable as TypeVariableElementImpl)).enclosingElement = this;
|
| - }
|
| - this._typeVariables = typeVariables3;
|
| - }
|
| - void visitChildren(ElementVisitor<Object> visitor) {
|
| - super.visitChildren(visitor);
|
| - safelyVisitChildren(_parameters, visitor);
|
| - safelyVisitChildren(_typeVariables, visitor);
|
| - }
|
| - void appendTo(JavaStringBuilder builder) {
|
| - builder.append("typedef ");
|
| - builder.append(name);
|
| - int variableCount = _typeVariables.length;
|
| - if (variableCount > 0) {
|
| - builder.append("<");
|
| - for (int i = 0; i < variableCount; i++) {
|
| - if (i > 0) {
|
| - builder.append(", ");
|
| - }
|
| - ((_typeVariables[i] as TypeVariableElementImpl)).appendTo(builder);
|
| - }
|
| - builder.append(">");
|
| - }
|
| - builder.append("(");
|
| - int parameterCount = _parameters.length;
|
| - for (int i = 0; i < parameterCount; i++) {
|
| - if (i > 0) {
|
| - builder.append(", ");
|
| - }
|
| - ((_parameters[i] as ParameterElementImpl)).appendTo(builder);
|
| - }
|
| - builder.append(")");
|
| - if (_type != null) {
|
| - builder.append(" -> ");
|
| - builder.append(_type.returnType);
|
| - }
|
| - }
|
| -}
|
| -/**
|
| * Instances of the class {@code TypeVariableElementImpl} implement a {@code TypeVariableElement}.
|
| * @coverage dart.engine.element
|
| */
|
| @@ -3605,9 +3693,9 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
|
| * @param name the name of this element
|
| */
|
| VariableElementImpl.con1(Identifier name) : super.con1(name) {
|
| - _jtd_constructor_196_impl(name);
|
| + _jtd_constructor_207_impl(name);
|
| }
|
| - _jtd_constructor_196_impl(Identifier name) {
|
| + _jtd_constructor_207_impl(Identifier name) {
|
| }
|
| /**
|
| * Initialize a newly created variable element to have the given name.
|
| @@ -3616,10 +3704,17 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
|
| * declaration of this element
|
| */
|
| VariableElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
|
| - _jtd_constructor_197_impl(name, nameOffset);
|
| + _jtd_constructor_208_impl(name, nameOffset);
|
| }
|
| - _jtd_constructor_197_impl(String name, int nameOffset) {
|
| + _jtd_constructor_208_impl(String name, int nameOffset) {
|
| }
|
| + /**
|
| + * Return the result of evaluating this variable's initializer as a compile-time constant
|
| + * expression, or {@code null} if this variable is not a 'const' variable or does not have an
|
| + * initializer.
|
| + * @return the result of evaluating this variable's initializer
|
| + */
|
| + EvaluationResultImpl get evaluationResult => null;
|
| FunctionElement get initializer => _initializer;
|
| Type2 get type => _type;
|
| bool isConst() => hasModifier(Modifier.CONST);
|
| @@ -3628,10 +3723,18 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
|
| * Set whether this variable is const to correspond to the given value.
|
| * @param isConst {@code true} if the variable is const
|
| */
|
| - void set const2(bool isConst) {
|
| + void set const3(bool isConst) {
|
| setModifier(Modifier.CONST, isConst);
|
| }
|
| /**
|
| + * Set the result of evaluating this variable's initializer as a compile-time constant expression
|
| + * to the given result.
|
| + * @param result the result of evaluating this variable's initializer
|
| + */
|
| + void set evaluationResult(EvaluationResultImpl result) {
|
| + throw new IllegalStateException("Invalid attempt to set a compile-time constant result");
|
| + }
|
| + /**
|
| * Set whether this variable is final to correspond to the given value.
|
| * @param isFinal {@code true} if the variable is final
|
| */
|
| @@ -3796,19 +3899,19 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
|
| * @param element the element representing the declaration of the function type
|
| */
|
| FunctionTypeImpl.con1(ExecutableElement element) : super(element, element == null ? null : element.name) {
|
| - _jtd_constructor_248_impl(element);
|
| + _jtd_constructor_259_impl(element);
|
| }
|
| - _jtd_constructor_248_impl(ExecutableElement element) {
|
| + _jtd_constructor_259_impl(ExecutableElement element) {
|
| }
|
| /**
|
| * Initialize a newly created function type to be declared by the given element and to have the
|
| * given name.
|
| * @param element the element representing the declaration of the function type
|
| */
|
| - FunctionTypeImpl.con2(TypeAliasElement element) : super(element, element == null ? null : element.name) {
|
| - _jtd_constructor_249_impl(element);
|
| + FunctionTypeImpl.con2(FunctionTypeAliasElement element) : super(element, element == null ? null : element.name) {
|
| + _jtd_constructor_260_impl(element);
|
| }
|
| - _jtd_constructor_249_impl(TypeAliasElement element) {
|
| + _jtd_constructor_260_impl(FunctionTypeAliasElement element) {
|
| }
|
| bool operator ==(Object object) {
|
| if (object is! FunctionTypeImpl) {
|
| @@ -3823,11 +3926,11 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
|
| Type2 get returnType => _returnType;
|
| List<Type2> get typeArguments => _typeArguments;
|
| int get hashCode {
|
| - Element element39 = element;
|
| - if (element39 == null) {
|
| + Element element40 = element;
|
| + if (element40 == null) {
|
| return 0;
|
| }
|
| - return element39.hashCode;
|
| + return element40.hashCode;
|
| }
|
| bool isSubtypeOf(Type2 type) {
|
| if (type == null) {
|
| @@ -3938,8 +4041,8 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
|
| if (argumentTypes.length == 0) {
|
| return this;
|
| }
|
| - Element element40 = element;
|
| - FunctionTypeImpl newType = (element40 is ExecutableElement) ? new FunctionTypeImpl.con1((element40 as ExecutableElement)) : new FunctionTypeImpl.con2((element40 as TypeAliasElement));
|
| + Element element41 = element;
|
| + FunctionTypeImpl newType = (element41 is ExecutableElement) ? new FunctionTypeImpl.con1((element41 as ExecutableElement)) : new FunctionTypeImpl.con2((element41 as FunctionTypeAliasElement));
|
| newType.returnType = _returnType.substitute2(argumentTypes, parameterTypes);
|
| newType.normalParameterTypes = TypeImpl.substitute(_normalParameterTypes, argumentTypes, parameterTypes);
|
| newType.optionalParameterTypes = TypeImpl.substitute(_optionalParameterTypes, argumentTypes, parameterTypes);
|
| @@ -4072,9 +4175,9 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
|
| * @see #getLeastUpperBound(Type)
|
| */
|
| static Set<InterfaceType> computeSuperinterfaceSet2(InterfaceType type, Set<InterfaceType> set) {
|
| - Element element41 = type.element;
|
| - if (element41 != null && element41 is ClassElement) {
|
| - ClassElement classElement = element41 as ClassElement;
|
| + Element element42 = type.element;
|
| + if (element42 != null && element42 is ClassElement) {
|
| + ClassElement classElement = element42 as ClassElement;
|
| List<InterfaceType> superinterfaces = classElement.interfaces;
|
| for (InterfaceType superinterface in superinterfaces) {
|
| javaSetAdd(set, superinterface);
|
| @@ -4097,9 +4200,9 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
|
| * @param element the element representing the declaration of the type
|
| */
|
| InterfaceTypeImpl.con1(ClassElement element) : super(element, element.name) {
|
| - _jtd_constructor_250_impl(element);
|
| + _jtd_constructor_261_impl(element);
|
| }
|
| - _jtd_constructor_250_impl(ClassElement element) {
|
| + _jtd_constructor_261_impl(ClassElement element) {
|
| }
|
| /**
|
| * Initialize a newly created type to have the given name. This constructor should only be used in
|
| @@ -4107,9 +4210,9 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
|
| * @param name the name of the type
|
| */
|
| InterfaceTypeImpl.con2(String name) : super(null, name) {
|
| - _jtd_constructor_251_impl(name);
|
| + _jtd_constructor_262_impl(name);
|
| }
|
| - _jtd_constructor_251_impl(String name) {
|
| + _jtd_constructor_262_impl(String name) {
|
| }
|
| bool operator ==(Object object) {
|
| if (object is! InterfaceTypeImpl) {
|
| @@ -4165,18 +4268,18 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
|
| }
|
| List<Type2> get typeArguments => _typeArguments;
|
| int get hashCode {
|
| - ClassElement element42 = element;
|
| - if (element42 == null) {
|
| + ClassElement element43 = element;
|
| + if (element43 == null) {
|
| return 0;
|
| }
|
| - return element42.hashCode;
|
| + return element43.hashCode;
|
| }
|
| bool isDartCoreFunction() {
|
| - ClassElement element43 = element;
|
| - if (element43 == null) {
|
| + ClassElement element44 = element;
|
| + if (element44 == null) {
|
| return false;
|
| }
|
| - return element43.name == "Function" && element43.library.isDartCore();
|
| + return element44.name == "Function" && element44.library.isDartCore();
|
| }
|
| bool isDirectSupertypeOf(InterfaceType type) {
|
| ClassElement i = element;
|
|
|