Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1217)

Unified Diff: pkg/analyzer_experimental/lib/src/generated/element.dart

Issue 17932005: New analyzer_experimental snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Disable resolver tests Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
index af56601b591e5e4ab9c7c93fade43ed80f30790d..60534cee8204a56ef759f75178f5472163a13bee 100644
--- a/pkg/analyzer_experimental/lib/src/generated/element.dart
+++ b/pkg/analyzer_experimental/lib/src/generated/element.dart
@@ -14,12 +14,14 @@ import 'constant.dart' show EvaluationResultImpl;
import 'utilities_dart.dart';
/**
* The interface `ClassElement` defines the behavior of elements that represent a class.
+ *
* @coverage dart.engine.element
*/
abstract class ClassElement implements Element {
/**
* Return an array containing all of the accessors (getters and setters) declared in this class.
+ *
* @return the accessors declared in this class
*/
List<PropertyAccessorElement> get accessors;
@@ -27,18 +29,21 @@ abstract class ClassElement implements Element {
/**
* Return an array containing all the supertypes defined for this class and its supertypes. This
* includes superclasses, mixins and interfaces.
+ *
* @return all the supertypes of this class, including mixins
*/
List<InterfaceType> get allSupertypes;
/**
* Return an array containing all of the constructors declared in this class.
+ *
* @return the constructors declared in this class
*/
List<ConstructorElement> get constructors;
/**
* Return an array containing all of the fields declared in this class.
+ *
* @return the fields declared in this class
*/
List<FieldElement> get fields;
@@ -46,6 +51,7 @@ abstract class ClassElement implements Element {
/**
* Return the element representing the getter with the given name that is declared in this class,
* or `null` if this class does not declare a getter with the given name.
+ *
* @param getterName the name of the getter to be returned
* @return the getter declared in this class with the given name
*/
@@ -58,6 +64,7 @@ abstract class ClassElement implements Element {
* to be semantically invalid. In particular, it is not safe to assume that the inheritance
* structure of a class does not contain a cycle. Clients that traverse the inheritance structure
* must explicitly guard against infinite loops.
+ *
* @return the interfaces that are implemented by this class
*/
List<InterfaceType> get interfaces;
@@ -65,6 +72,7 @@ abstract class ClassElement implements Element {
/**
* Return the element representing the method with the given name that is declared in this class,
* or `null` if this class does not declare a method with the given name.
+ *
* @param methodName the name of the method to be returned
* @return the method declared in this class with the given name
*/
@@ -72,6 +80,7 @@ abstract class ClassElement implements Element {
/**
* Return an array containing all of the methods declared in this class.
+ *
* @return the methods declared in this class
*/
List<MethodElement> get methods;
@@ -84,6 +93,7 @@ abstract class ClassElement implements Element {
* to be semantically invalid. In particular, it is not safe to assume that the inheritance
* structure of a class does not contain a cycle. Clients that traverse the inheritance structure
* must explicitly guard against infinite loops.
+ *
* @return the mixins that are applied to derive the superclass of this class
*/
List<InterfaceType> get mixins;
@@ -91,6 +101,7 @@ abstract class ClassElement implements Element {
/**
* Return the named constructor declared in this class with the given name, or `null` if
* this class does not declare a named constructor with the given name.
+ *
* @param name the name of the constructor to be returned
* @return the element representing the specified constructor
*/
@@ -99,6 +110,7 @@ abstract class ClassElement implements Element {
/**
* Return the element representing the setter with the given name that is declared in this class,
* or `null` if this class does not declare a setter with the given name.
+ *
* @param setterName the name of the getter to be returned
* @return the setter declared in this class with the given name
*/
@@ -113,18 +125,21 @@ abstract class ClassElement implements Element {
* to be semantically invalid. In particular, it is not safe to assume that the inheritance
* structure of a class does not contain a cycle. Clients that traverse the inheritance structure
* must explicitly guard against infinite loops.
+ *
* @return the superclass of this class
*/
InterfaceType get supertype;
/**
* Return the type defined by the class.
+ *
* @return the type defined by the class
*/
InterfaceType get type;
/**
* Return an array containing all of the type variables declared for this class.
+ *
* @return the type variables declared for this class
*/
List<TypeVariableElement> get typeVariables;
@@ -134,18 +149,14 @@ abstract class ClassElement implements Element {
* declare an unnamed constructor but does declare named constructors. The returned constructor
* will be synthetic if this class does not declare any constructors, in which case it will
* represent the default constructor for the class.
+ *
* @return the unnamed constructor defined in this class
*/
ConstructorElement get unnamedConstructor;
/**
- * Return `true` if this class has (implicit or explicit) default constructor.
- * @return `true` if this class has (implicit or explicit) default constructor
- */
- bool hasDefaultConstructor();
-
- /**
* Return `true` if this class or its superclass declares a non-final instance field.
+ *
* @return `true` if this class or its superclass declares a non-final instance field
*/
bool hasNonFinalField();
@@ -153,19 +164,23 @@ abstract class ClassElement implements Element {
/**
* Return `true` if this class has reference to super (so, for example, cannot be used as a
* mixin).
+ *
* @return `true` if this class has reference to super
*/
bool hasReferenceToSuper();
/**
- * Return `true` if this class is abstract. A class is abstract if it has an explicit`abstract` modifier. Note, that this definition of <i>abstract</i> is different from
+ * Return `true` if this class is abstract. A class is abstract if it has an explicit
+ * `abstract` modifier. Note, that this definition of <i>abstract</i> is different from
* <i>has unimplemented members</i>.
+ *
* @return `true` if this class is abstract
*/
bool get isAbstract;
/**
* Return `true` if this class is defined by a typedef construct.
+ *
* @return `true` if this class is defined by a typedef construct
*/
bool get isTypedef;
@@ -177,6 +192,7 @@ abstract class ClassElement implements Element {
* compile-time error if a declared or derived mixin explicitly declares a constructor. It is a
* compile-time error if a mixin is derived from a class whose superclass is not
* Object.</blockquote>
+ *
* @return `true` if this class can validly be used as a mixin
*/
bool get isValidMixin;
@@ -195,10 +211,11 @@ abstract class ClassElement implements Element {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param getterName the name of the getter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given getter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library);
@@ -215,10 +232,11 @@ abstract class ClassElement implements Element {
* to <i>L</i>. Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param methodName the name of the method being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given method in this class with respect to the given
- * library
+ * library
*/
MethodElement lookUpMethod(String methodName, LibraryElement library);
@@ -236,10 +254,11 @@ abstract class ClassElement implements Element {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param setterName the name of the setter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given setter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library);
}
@@ -251,6 +270,7 @@ abstract class ClassMemberElement implements Element {
/**
* Return the type in which this member is defined.
+ *
* @return the type in which this member is defined
*/
ClassElement get enclosingElement;
@@ -258,6 +278,7 @@ abstract class ClassMemberElement implements Element {
/**
* The interface `CompilationUnitElement` defines the behavior of elements representing a
* compilation unit.
+ *
* @coverage dart.engine.element
*/
abstract class CompilationUnitElement implements Element, UriReferencedElement {
@@ -265,30 +286,35 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
/**
* Return an array containing all of the top-level accessors (getters and setters) contained in
* this compilation unit.
+ *
* @return the top-level accessors contained in this compilation unit
*/
List<PropertyAccessorElement> get accessors;
/**
* Return the library in which this compilation unit is defined.
+ *
* @return the library in which this compilation unit is defined
*/
LibraryElement get enclosingElement;
/**
* Return an array containing all of the top-level functions contained in this compilation unit.
+ *
* @return the top-level functions contained in this compilation unit
*/
List<FunctionElement> get functions;
/**
* 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<FunctionTypeAliasElement> get functionTypeAliases;
/**
* Return an array containing all of the top-level variables contained in this compilation unit.
+ *
* @return the top-level variables contained in this compilation unit
*/
List<TopLevelVariableElement> get topLevelVariables;
@@ -296,6 +322,7 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
/**
* Return the class defined in this compilation unit that has the given name, or `null` if
* this compilation unit does not define a class with the given name.
+ *
* @param className the name of the class to be returned
* @return the class with the given name that is defined in this compilation unit
*/
@@ -303,6 +330,7 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
/**
* Return an array containing all of the classes contained in this compilation unit.
+ *
* @return the classes contained in this compilation unit
*/
List<ClassElement> get types;
@@ -310,18 +338,21 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
/**
* The interface `ConstructorElement` defines the behavior of elements representing a
* constructor or a factory method defined within a type.
+ *
* @coverage dart.engine.element
*/
abstract class ConstructorElement implements ClassMemberElement, ExecutableElement {
/**
* Return the constructor to which this constructor is redirecting.
+ *
* @return the constructor to which this constructor is redirecting
*/
ConstructorElement get redirectedConstructor;
/**
* Return `true` if this constructor is a const constructor.
+ *
* @return `true` if this constructor is a const constructor
*/
bool get isConst;
@@ -329,12 +360,14 @@ abstract class ConstructorElement implements ClassMemberElement, ExecutableEleme
/**
* Return `true` if this constructor can be used as a default constructor - unnamed and has
* no required parameters.
+ *
* @return `true` if this constructor can be used as a default constructor.
*/
bool get isDefaultConstructor;
/**
* Return `true` if this constructor represents a factory constructor.
+ *
* @return `true` if this constructor represents a factory constructor
*/
bool get isFactory;
@@ -358,6 +391,7 @@ abstract class ConstructorElement implements ClassMemberElement, ExecutableEleme
* Second, there are elements in the element model that do not have a name. These correspond to
* unnamed functions and exist in order to more accurately represent the semantic structure of the
* program.
+ *
* @coverage dart.engine.element
*/
abstract class Element {
@@ -370,6 +404,7 @@ abstract class Element {
/**
* Use the given visitor to visit this element.
+ *
* @param visitor the visitor that will visit this element
* @return the value returned by the visitor as a result of visiting this element
*/
@@ -380,14 +415,17 @@ abstract class Element {
* (complete with the beginning and ending delimiters), or `null` if this element does not
* have a documentation comment associated with it. This can be a long-running operation if the
* information needed to access the comment is not cached.
+ *
* @return this element's documentation comment
* @throws AnalysisException if the documentation comment could not be determined because the
- * analysis could not be performed
+ * analysis could not be performed
*/
String computeDocumentationComment();
/**
- * Return the element of the given class that most immediately encloses this element, or`null` if there is no enclosing element of the given class.
+ * Return the element of the given class that most immediately encloses this element, or
+ * `null` if there is no enclosing element of the given class.
+ *
* @param elementClass the class of the element to be returned
* @return the element that encloses this element
*/
@@ -395,6 +433,7 @@ abstract class Element {
/**
* Return the analysis context in which this element is defined.
+ *
* @return the analysis context in which this element is defined
*/
AnalysisContext get context;
@@ -404,19 +443,23 @@ abstract class Element {
*
* In most cases the name and the display name are the same. Differences though are cases such as
* setters where the name of some setter `set f(x)` is `f=`, instead of `f`.
+ *
* @return the display name of this element
*/
String get displayName;
/**
- * Return the element that either physically or logically encloses this element. This will be`null` if this element is a library because libraries are the top-level elements in the
+ * Return the element that either physically or logically encloses this element. This will be
+ * `null` if this element is a library because libraries are the top-level elements in the
* model.
+ *
* @return the element that encloses this element
*/
Element get enclosingElement;
/**
* Return the kind of element that this is.
+ *
* @return the kind of this element
*/
ElementKind get kind;
@@ -425,6 +468,7 @@ abstract class Element {
* Return the library that contains this element. This will be the element itself if it is a
* library element. This will be `null` if this element is an HTML file because HTML files
* are not contained in libraries.
+ *
* @return the library that contains this element
*/
LibraryElement get library;
@@ -432,18 +476,21 @@ abstract class Element {
/**
* Return an object representing the location of this element in the element model. The object can
* be used to locate this element at a later time.
+ *
* @return the location of this element in the element model
*/
ElementLocation get location;
/**
* Return an array containing all of the metadata associated with this element.
+ *
* @return the metadata associated with this element
*/
List<ElementAnnotation> get metadata;
/**
* Return the name of this element, or `null` if this element does not have a name.
+ *
* @return the name of this element
*/
String get name;
@@ -452,6 +499,7 @@ abstract class Element {
* Return the offset of the name of this element in the file that contains the declaration of this
* element, or `-1` if this element is synthetic, does not have a name, or otherwise does
* not have an offset.
+ *
* @return the offset of the name of this element
*/
int get nameOffset;
@@ -459,6 +507,7 @@ abstract class Element {
/**
* Return the source that contains this element, or `null` if this element is not contained
* in a source.
+ *
* @return the source that contains this element
*/
Source get source;
@@ -468,6 +517,7 @@ abstract class Element {
* the given library. This is defined by the Dart Language Specification in section 3.2:
* <blockquote> A declaration <i>m</i> is accessible to library <i>L</i> if <i>m</i> is declared
* in <i>L</i> or if <i>m</i> is public. </blockquote>
+ *
* @param library the library in which a possible reference to this element would occur
* @return `true` if this element is accessible to code in the given library
*/
@@ -477,6 +527,7 @@ abstract class Element {
* Return `true` if this element is synthetic. A synthetic element is an element that is not
* represented in the source code explicitly, but is implied by the source code, such as the
* default constructor for a class that does not explicitly define any constructors.
+ *
* @return `true` if this element is synthetic
*/
bool get isSynthetic;
@@ -484,6 +535,7 @@ abstract class Element {
/**
* Use the given visitor to visit all of the children of this element. There is no guarantee of
* the order in which the children will be visited.
+ *
* @param visitor the visitor that will be used to visit the children of this element
*/
void visitChildren(ElementVisitor<Object> visitor);
@@ -491,6 +543,7 @@ abstract class Element {
/**
* The interface `ElementAnnotation` defines the behavior of objects representing a single
* annotation associated with an element.
+ *
* @coverage dart.engine.element
*/
abstract class ElementAnnotation {
@@ -498,12 +551,14 @@ abstract class ElementAnnotation {
/**
* Return the element representing the field, variable, or const constructor being used as an
* annotation.
+ *
* @return the field, variable, or constructor being used as an annotation
*/
Element get element;
}
/**
* The enumeration `ElementKind` defines the various kinds of elements in the element model.
+ *
* @coverage dart.engine.element
*/
class ElementKind implements Comparable<ElementKind> {
@@ -543,6 +598,7 @@ class ElementKind implements Comparable<ElementKind> {
/**
* Return the kind of the given element, or [ERROR] if the element is `null`. This is
* a utility method that can reduce the need for null checks in other places.
+ *
* @param element the element whose kind is to be returned
* @return the kind of the given element
*/
@@ -560,6 +616,7 @@ class ElementKind implements Comparable<ElementKind> {
/**
* Initialize a newly created element kind to have the given display name.
+ *
* @param displayName the name displayed in the UI for this kind of element
*/
ElementKind(this.name, this.ordinal, String displayName) {
@@ -568,6 +625,7 @@ class ElementKind implements Comparable<ElementKind> {
/**
* Return the name displayed in the UI for this kind of element.
+ *
* @return the name of this [ElementKind] to display in UI.
*/
String get displayName => _displayName;
@@ -578,6 +636,7 @@ class ElementKind implements Comparable<ElementKind> {
/**
* The interface `ElementLocation` defines the behavior of objects that represent the location
* of an element within the element model.
+ *
* @coverage dart.engine.element
*/
abstract class ElementLocation {
@@ -585,6 +644,7 @@ abstract class ElementLocation {
/**
* Return an encoded representation of this location that can be used to create a location that is
* equal to this location.
+ *
* @return an encoded representation of this location
*/
String get encoding;
@@ -592,6 +652,7 @@ abstract class ElementLocation {
/**
* The interface `ElementVisitor` defines the behavior of objects that can be used to visit an
* element structure.
+ *
* @coverage dart.engine.element
*/
abstract class ElementVisitor<R> {
@@ -621,12 +682,14 @@ abstract class ElementVisitor<R> {
/**
* The interface `EmbeddedHtmlScriptElement` defines the behavior of elements representing a
* script tag in an HTML file having content that defines a Dart library.
+ *
* @coverage dart.engine.element
*/
abstract class EmbeddedHtmlScriptElement implements HtmlScriptElement {
/**
* Return the library element defined by the content of the script tag.
+ *
* @return the library element (not `null`)
*/
LibraryElement get scriptLibrary;
@@ -634,42 +697,49 @@ abstract class EmbeddedHtmlScriptElement implements HtmlScriptElement {
/**
* The interface `ExecutableElement` defines the behavior of elements representing an
* executable object, including functions, methods, constructors, getters, and setters.
+ *
* @coverage dart.engine.element
*/
abstract class ExecutableElement implements Element {
/**
* Return an array containing all of the functions defined within this executable element.
+ *
* @return the functions defined within this executable element
*/
List<FunctionElement> get functions;
/**
* Return an array containing all of the labels defined within this executable element.
+ *
* @return the labels defined within this executable element
*/
List<LabelElement> get labels;
/**
* Return an array containing all of the local variables defined within this executable element.
+ *
* @return the local variables defined within this executable element
*/
List<LocalVariableElement> get localVariables;
/**
* Return an array containing all of the parameters defined by this executable element.
+ *
* @return the parameters defined by this executable element
*/
List<ParameterElement> get parameters;
/**
* Return the return type defined by this executable element.
+ *
* @return the return type defined by this executable element
*/
Type2 get returnType;
/**
* Return the type of function defined by this executable element.
+ *
* @return the type of function defined by this executable element
*/
FunctionType get type;
@@ -678,6 +748,7 @@ abstract class ExecutableElement implements Element {
* Return `true` if this executable element is an operator. The test may be based on the
* name of the executable element, in which case the result will be correct when the name is
* legal.
+ *
* @return `true` if this executable element is an operator
*/
bool get isOperator;
@@ -685,6 +756,7 @@ abstract class ExecutableElement implements Element {
/**
* Return `true` if this element is a static element. A static element is an element that is
* not associated with a particular instance, but rather with an entire library or class.
+ *
* @return `true` if this executable element is a static element
*/
bool get isStatic;
@@ -692,6 +764,7 @@ abstract class ExecutableElement implements Element {
/**
* The interface `ExportElement` defines the behavior of objects representing information
* about a single export directive within a library.
+ *
* @coverage dart.engine.element
*/
abstract class ExportElement implements Element, UriReferencedElement {
@@ -704,12 +777,14 @@ abstract class ExportElement implements Element, UriReferencedElement {
/**
* Return an array containing the combinators that were specified as part of the export directive
* in the order in which they were specified.
+ *
* @return the combinators specified in the export directive
*/
List<NamespaceCombinator> get combinators;
/**
* Return the library that is exported from this library by this export directive.
+ *
* @return the library that is exported from this library
*/
LibraryElement get exportedLibrary;
@@ -718,6 +793,7 @@ abstract class ExportElement implements Element, UriReferencedElement {
* The interface `ExternalHtmlScriptElement` defines the behavior of elements representing a
* script tag in an HTML file having a `source` attribute that references a Dart library
* source file.
+ *
* @coverage dart.engine.element
*/
abstract class ExternalHtmlScriptElement implements HtmlScriptElement {
@@ -725,6 +801,7 @@ abstract class ExternalHtmlScriptElement implements HtmlScriptElement {
/**
* Return the source referenced by this element, or `null` if this element does not
* reference a Dart library source file.
+ *
* @return the source for the external Dart library
*/
Source get scriptSource;
@@ -732,6 +809,7 @@ abstract class ExternalHtmlScriptElement implements HtmlScriptElement {
/**
* The interface `FieldElement` defines the behavior of elements representing a field defined
* within a type.
+ *
* @coverage dart.engine.element
*/
abstract class FieldElement implements ClassMemberElement, PropertyInducingElement {
@@ -745,12 +823,14 @@ abstract class FieldFormalParameterElement implements ParameterElement {
/**
* Return the field element associated with this field formal parameter, or `null` if the
* parameter references a field that doesn't exist.
+ *
* @return the field element associated with this field formal parameter
*/
FieldElement get field;
}
/**
* The interface `FunctionElement` defines the behavior of elements representing a function.
+ *
* @coverage dart.engine.element
*/
abstract class FunctionElement implements ExecutableElement, LocalElement {
@@ -758,36 +838,42 @@ abstract class FunctionElement implements ExecutableElement, LocalElement {
/**
* The interface `FunctionTypeAliasElement` defines the behavior of elements representing a
* function type alias (`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 return type defined by this type alias.
+ *
* @return the return type defined by this type alias
*/
Type2 get returnType;
/**
* 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;
@@ -795,6 +881,7 @@ abstract class FunctionTypeAliasElement implements Element {
/**
* The interface `HideElementCombinator` defines the behavior of combinators that cause some
* of the names in a namespace to be hidden when being imported.
+ *
* @coverage dart.engine.element
*/
abstract class HideElementCombinator implements NamespaceCombinator {
@@ -802,12 +889,14 @@ abstract class HideElementCombinator implements NamespaceCombinator {
/**
* Return an array containing the names that are not to be made visible in the importing library
* even if they are defined in the imported library.
+ *
* @return the names from the imported library that are hidden from the importing library
*/
List<String> get hiddenNames;
}
/**
* The interface `HtmlElement` defines the behavior of elements representing an HTML file.
+ *
* @coverage dart.engine.element
*/
abstract class HtmlElement implements Element {
@@ -816,6 +905,7 @@ abstract class HtmlElement implements Element {
* Return an array containing all of the script elements contained in the HTML file. This includes
* scripts with libraries that are defined by the content of a script tag as well as libraries
* that are referenced in the {@core source} attribute of a script tag.
+ *
* @return the script elements in the HTML file (not `null`, contains no `null`s)
*/
List<HtmlScriptElement> get scripts;
@@ -823,6 +913,7 @@ abstract class HtmlElement implements Element {
/**
* The interface `HtmlScriptElement` defines the behavior of elements representing a script
* tag in an HTML file.
+ *
* @see EmbeddedHtmlScriptElement
* @see ExternalHtmlScriptElement
* @coverage dart.engine.element
@@ -832,6 +923,7 @@ abstract class HtmlScriptElement implements Element {
/**
* The interface `ImportElement` defines the behavior of objects representing information
* about a single import directive within a library.
+ *
* @coverage dart.engine.element
*/
abstract class ImportElement implements Element, UriReferencedElement {
@@ -844,12 +936,14 @@ abstract class ImportElement implements Element, UriReferencedElement {
/**
* Return an array containing the combinators that were specified as part of the import directive
* in the order in which they were specified.
+ *
* @return the combinators specified in the import directive
*/
List<NamespaceCombinator> get combinators;
/**
* Return the library that is imported into this library by this import directive.
+ *
* @return the library that is imported into this library
*/
LibraryElement get importedLibrary;
@@ -857,6 +951,7 @@ abstract class ImportElement implements Element, UriReferencedElement {
/**
* Return the prefix that was specified as part of the import directive, or `null` if there
* was no prefix specified.
+ *
* @return the prefix that was specified as part of the import directive
*/
PrefixElement get prefix;
@@ -864,43 +959,51 @@ abstract class ImportElement implements Element, UriReferencedElement {
/**
* The interface `LabelElement` defines the behavior of elements representing a label
* associated with a statement.
+ *
* @coverage dart.engine.element
*/
abstract class LabelElement implements Element {
/**
* Return the executable element in which this label is defined.
+ *
* @return the executable element in which this label is defined
*/
ExecutableElement get enclosingElement;
}
/**
* The interface `LibraryElement` defines the behavior of elements representing a library.
+ *
* @coverage dart.engine.element
*/
abstract class LibraryElement implements Element {
/**
* Return the compilation unit that defines this library.
+ *
* @return the compilation unit that defines this library
*/
CompilationUnitElement get definingCompilationUnit;
/**
* Return the entry point for this library, or `null` if this library does not have an entry
- * point. The entry point is defined to be a zero argument top-level function whose name is`main`.
+ * point. The entry point is defined to be a zero argument top-level function whose name is
+ * `main`.
+ *
* @return the entry point for this library
*/
FunctionElement get entryPoint;
/**
* Return an array containing all of the libraries that are exported from this library.
+ *
* @return an array containing all of the libraries that are exported from this library
*/
List<LibraryElement> get exportedLibraries;
/**
* Return an array containing all of the exports defined in this library.
+ *
* @return the exports defined in this library
*/
List<ExportElement> get exports;
@@ -909,19 +1012,23 @@ abstract class LibraryElement implements Element {
* Return an array containing all of the libraries that are imported into this library. This
* includes all of the libraries that are imported using a prefix (also available through the
* prefixes returned by [getPrefixes]) and those that are imported without a prefix.
+ *
* @return an array containing all of the libraries that are imported into this library
*/
List<LibraryElement> get importedLibraries;
/**
* Return an array containing all of the imports defined in this library.
+ *
* @return the imports defined in this library
*/
List<ImportElement> get imports;
/**
* Return an array containing all of the compilation units that are included in this library using
- * a `part` directive. This does not include the defining compilation unit that contains the`part` directives.
+ * a `part` directive. This does not include the defining compilation unit that contains the
+ * `part` directives.
+ *
* @return the compilation units that are included in this library
*/
List<CompilationUnitElement> get parts;
@@ -929,6 +1036,7 @@ abstract class LibraryElement implements Element {
/**
* Return an array containing elements for each of the prefixes used to `import` libraries
* into this library. Each prefix can be used in more than one `import` directive.
+ *
* @return the prefixes used to `import` libraries into this library
*/
List<PrefixElement> get prefixes;
@@ -936,6 +1044,7 @@ abstract class LibraryElement implements Element {
/**
* Return the class defined in this library that has the given name, or `null` if this
* library does not define a class with the given name.
+ *
* @param className the name of the class to be returned
* @return the class with the given name that is defined in this library
*/
@@ -943,12 +1052,14 @@ abstract class LibraryElement implements Element {
/**
* Answer `true` if this library is an application that can be run in the browser.
+ *
* @return `true` if this library is an application that can be run in the browser
*/
bool get isBrowserApplication;
/**
* Return `true` if this library is the dart:core library.
+ *
* @return `true` if this library is the dart:core library
*/
bool get isDartCore;
@@ -956,6 +1067,7 @@ abstract class LibraryElement implements Element {
/**
* Return `true` if this library is up to date with respect to the given time stamp. If any
* transitively referenced Source is newer than the time stamp, this method returns false.
+ *
* @param timeStamp the time stamp to compare against
* @return `true` if this library is up to date with respect to the given time stamp
*/
@@ -964,6 +1076,7 @@ abstract class LibraryElement implements Element {
/**
* The interface `LocalElement` defines the behavior of elements that can be (but are not
* required to be) defined within a method or function (an [ExecutableElement]).
+ *
* @coverage dart.engine.element
*/
abstract class LocalElement implements Element {
@@ -982,6 +1095,7 @@ abstract class LocalElement implements Element {
* * For top-level functions, `null` will be returned because they are potentially visible
* in multiple sources.
*
+ *
* @return the range of characters in which the name of this element is visible
*/
SourceRange get visibleRange;
@@ -989,6 +1103,7 @@ abstract class LocalElement implements Element {
/**
* The interface `LocalVariableElement` defines the behavior common to elements that represent
* a local variable.
+ *
* @coverage dart.engine.element
*/
abstract class LocalVariableElement implements LocalElement, VariableElement {
@@ -996,6 +1111,7 @@ abstract class LocalVariableElement implements LocalElement, VariableElement {
/**
* The interface `MethodElement` defines the behavior of elements that represent a method
* defined within a type.
+ *
* @coverage dart.engine.element
*/
abstract class MethodElement implements ClassMemberElement, ExecutableElement {
@@ -1003,6 +1119,7 @@ abstract class MethodElement implements ClassMemberElement, ExecutableElement {
/**
* Return `true` if this method is abstract. Methods are abstract if they are not external
* and have no body.
+ *
* @return `true` if this method is abstract
*/
bool get isAbstract;
@@ -1013,6 +1130,7 @@ abstract class MethodElement implements ClassMemberElement, ExecutableElement {
* is not allowed by the language, so objects implementing this interface always represent an error.
* As a result, most of the normal operations on elements do not make sense and will return useless
* results.
+ *
* @coverage dart.engine.element
*/
abstract class MultiplyDefinedElement implements Element {
@@ -1020,6 +1138,7 @@ abstract class MultiplyDefinedElement implements Element {
/**
* Return an array containing all of the elements that were defined within the scope to have the
* same name.
+ *
* @return the elements that were defined with the same name
*/
List<Element> get conflictingElements;
@@ -1027,6 +1146,7 @@ abstract class MultiplyDefinedElement implements Element {
/**
* The interface `NamespaceCombinator` defines the behavior common to objects that control how
* namespaces are combined.
+ *
* @coverage dart.engine.element
*/
abstract class NamespaceCombinator {
@@ -1039,6 +1159,7 @@ abstract class NamespaceCombinator {
/**
* The interface `ParameterElement` defines the behavior of elements representing a parameter
* defined within an executable element.
+ *
* @coverage dart.engine.element
*/
abstract class ParameterElement implements LocalElement, VariableElement {
@@ -1046,12 +1167,14 @@ abstract class ParameterElement implements LocalElement, VariableElement {
/**
* Return a source range that covers the portion of the source in which the default value for this
* parameter is specified, or `null` if there is no default value.
+ *
* @return the range of characters in which the default value of this parameter is specified
*/
SourceRange get defaultValueRange;
/**
* Return the kind of this parameter.
+ *
* @return the kind of this parameter
*/
ParameterKind get parameterKind;
@@ -1059,12 +1182,14 @@ abstract class ParameterElement implements LocalElement, VariableElement {
/**
* Return an array containing all of the parameters defined by this parameter. A parameter will
* only define other parameters if it is a function typed parameter.
+ *
* @return the parameters defined by this parameter element
*/
List<ParameterElement> get parameters;
/**
* Return `true` if this parameter is an initializing formal parameter.
+ *
* @return `true` if this parameter is an initializing formal parameter
*/
bool get isInitializingFormal;
@@ -1072,18 +1197,21 @@ abstract class ParameterElement implements LocalElement, VariableElement {
/**
* The interface `PrefixElement` defines the behavior common to elements that represent a
* prefix used to import one or more libraries into another library.
+ *
* @coverage dart.engine.element
*/
abstract class PrefixElement implements Element {
/**
* Return the library into which other libraries are imported using this prefix.
+ *
* @return the library into which other libraries are imported using this prefix
*/
LibraryElement get enclosingElement;
/**
* Return an array containing all of the libraries that are imported using this prefix.
+ *
* @return the libraries that are imported using this prefix
*/
List<LibraryElement> get importedLibraries;
@@ -1097,10 +1225,12 @@ abstract class PrefixElement implements Element {
* * Every explicit field is represented by a non-synthetic [FieldElement].
* * Every explicit field induces a getter and possibly a setter, both of which are represented by
* synthetic [PropertyAccessorElement]s.
- * * Every explicit getter or setter is represented by a non-synthetic[PropertyAccessorElement].
+ * * Every explicit getter or setter is represented by a non-synthetic
+ * [PropertyAccessorElement].
* * Every explicit getter or setter (or pair thereof if they have the same name) induces a field
* that is represented by a synthetic [FieldElement].
*
+ *
* @coverage dart.engine.element
*/
abstract class PropertyAccessorElement implements ExecutableElement {
@@ -1109,6 +1239,7 @@ abstract class PropertyAccessorElement implements ExecutableElement {
* Return the accessor representing the getter that corresponds to (has the same name as) this
* setter, or `null` if this accessor is not a setter or if there is no corresponding
* getter.
+ *
* @return the getter that corresponds to this setter
*/
PropertyAccessorElement get correspondingGetter;
@@ -1117,6 +1248,7 @@ abstract class PropertyAccessorElement implements ExecutableElement {
* Return the accessor representing the setter that corresponds to (has the same name as) this
* getter, or `null` if this accessor is not a getter or if there is no corresponding
* setter.
+ *
* @return the setter that corresponds to this getter
*/
PropertyAccessorElement get correspondingSetter;
@@ -1124,6 +1256,7 @@ abstract class PropertyAccessorElement implements ExecutableElement {
/**
* Return the field or top-level variable associated with this accessor. If this accessor was
* explicitly defined (is not synthetic) then the variable associated with it will be synthetic.
+ *
* @return the variable associated with this accessor
*/
PropertyInducingElement get variable;
@@ -1131,18 +1264,21 @@ abstract class PropertyAccessorElement implements ExecutableElement {
/**
* Return `true` if this accessor is abstract. Accessors are abstract if they are not
* external and have no body.
+ *
* @return `true` if this accessor is abstract
*/
bool get isAbstract;
/**
* Return `true` if this accessor represents a getter.
+ *
* @return `true` if this accessor represents a getter
*/
bool get isGetter;
/**
* Return `true` if this accessor represents a setter.
+ *
* @return `true` if this accessor represents a setter
*/
bool get isSetter;
@@ -1157,10 +1293,12 @@ abstract class PropertyAccessorElement implements ExecutableElement {
* * Every explicit variable is represented by a non-synthetic [PropertyInducingElement].
* * Every explicit variable induces a getter and possibly a setter, both of which are represented
* by synthetic [PropertyAccessorElement]s.
- * * Every explicit getter or setter is represented by a non-synthetic[PropertyAccessorElement].
+ * * Every explicit getter or setter is represented by a non-synthetic
+ * [PropertyAccessorElement].
* * Every explicit getter or setter (or pair thereof if they have the same name) induces a
* variable that is represented by a synthetic [PropertyInducingElement].
*
+ *
* @coverage dart.engine.element
*/
abstract class PropertyInducingElement implements VariableElement {
@@ -1168,15 +1306,18 @@ abstract class PropertyInducingElement implements VariableElement {
/**
* Return the getter associated with this variable. If this variable was explicitly defined (is
* not synthetic) then the getter associated with it will be synthetic.
+ *
* @return the getter associated with this variable
*/
PropertyAccessorElement get getter;
/**
- * Return the setter associated with this variable, or `null` if the variable is effectively`final` and therefore does not have a setter associated with it. (This can happen either
+ * Return the setter associated with this variable, or `null` if the variable is effectively
+ * `final` and therefore does not have a setter associated with it. (This can happen either
* because the variable is explicitly defined as being `final` or because the variable is
* induced by an explicit getter that does not have a corresponding setter.) If this variable was
* explicitly defined (is not synthetic) then the setter associated with it will be synthetic.
+ *
* @return the setter associated with this variable
*/
PropertyAccessorElement get setter;
@@ -1184,6 +1325,7 @@ abstract class PropertyInducingElement implements VariableElement {
/**
* Return `true` if this element is a static element. A static element is an element that is
* not associated with a particular instance, but rather with an entire library or class.
+ *
* @return `true` if this executable element is a static element
*/
bool get isStatic;
@@ -1191,6 +1333,7 @@ abstract class PropertyInducingElement implements VariableElement {
/**
* The interface `ShowElementCombinator` defines the behavior of combinators that cause some
* of the names in a namespace to be visible (and the rest hidden) when being imported.
+ *
* @coverage dart.engine.element
*/
abstract class ShowElementCombinator implements NamespaceCombinator {
@@ -1198,6 +1341,7 @@ abstract class ShowElementCombinator implements NamespaceCombinator {
/**
* Return an array containing the names that are to be made visible in the importing library if
* they are defined in the imported library.
+ *
* @return the names from the imported library that are visible in the importing library
*/
List<String> get shownNames;
@@ -1205,6 +1349,7 @@ abstract class ShowElementCombinator implements NamespaceCombinator {
/**
* The interface `TopLevelVariableElement` defines the behavior of elements representing a
* top-level variable.
+ *
* @coverage dart.engine.element
*/
abstract class TopLevelVariableElement implements PropertyInducingElement {
@@ -1212,6 +1357,7 @@ abstract class TopLevelVariableElement implements PropertyInducingElement {
/**
* The interface `TypeVariableElement` defines the behavior of elements representing a type
* variable.
+ *
* @coverage dart.engine.element
*/
abstract class TypeVariableElement implements Element {
@@ -1219,12 +1365,14 @@ abstract class TypeVariableElement implements Element {
/**
* Return the type representing the bound associated with this variable, or `null` if this
* variable does not have an explicit bound.
+ *
* @return the type representing the bound associated with this variable
*/
Type2 get bound;
/**
* Return the type defined by this type variable.
+ *
* @return the type defined by this type variable
*/
TypeVariableType get type;
@@ -1234,6 +1382,7 @@ abstract class TypeVariableElement implements Element {
* names that are undefined. This situation is not allowed by the language, so objects implementing
* this interface always represent an error. As a result, most of the normal operations on elements
* do not make sense and will return useless results.
+ *
* @coverage dart.engine.element
*/
abstract class UndefinedElement implements Element {
@@ -1241,12 +1390,15 @@ abstract class UndefinedElement implements Element {
/**
* The interface `UriReferencedElement` defines the behavior of objects included into a
* library using some URI.
+ *
* @coverage dart.engine.element
*/
abstract class UriReferencedElement implements Element {
/**
- * Return the URI that is used to include this element into the enclosing library, or `null`if this is the defining compilation unit of a library.
+ * Return the URI that is used to include this element into the enclosing library, or `null`
+ * if this is the defining compilation unit of a library.
+ *
* @return the URI that is used to include this element into the enclosing library
*/
String get uri;
@@ -1254,6 +1406,7 @@ abstract class UriReferencedElement implements Element {
/**
* The interface `VariableElement` defines the behavior common to elements that represent a
* variable.
+ *
* @coverage dart.engine.element
*/
abstract class VariableElement implements Element {
@@ -1262,6 +1415,7 @@ abstract class VariableElement implements Element {
* Return a synthetic function representing this variable's initializer, or `null` if this
* variable does not have an initializer. The function will have no parameters. The return type of
* the function will be the compile-time type of the initialization expression.
+ *
* @return a synthetic function representing this variable's initializer
*/
FunctionElement get initializer;
@@ -1269,12 +1423,14 @@ abstract class VariableElement implements Element {
/**
* Return the declared type of this variable, or `null` if the variable did not have a
* declared type (such as if it was declared using the keyword 'var').
+ *
* @return the declared type of this variable
*/
Type2 get type;
/**
* Return `true` if this variable was declared with the 'const' modifier.
+ *
* @return `true` if this variable was declared with the 'const' modifier
*/
bool get isConst;
@@ -1283,18 +1439,23 @@ abstract class VariableElement implements Element {
* Return `true` if this variable was declared with the 'final' modifier. Variables that are
* declared with the 'const' modifier will return `false` even though they are implicitly
* final.
+ *
* @return `true` if this variable was declared with the 'final' modifier
*/
bool get isFinal;
}
/**
* Instances of the class `GeneralizingElementVisitor` implement an element visitor that will
- * recursively visit all of the elements in an element model (like instances of the class[RecursiveElementVisitor]). In addition, when an element of a specific type is visited not
+ * recursively visit all of the elements in an element model (like instances of the class
+ * [RecursiveElementVisitor]). In addition, when an element of a specific type is visited not
* only will the visit method for that specific type of element be invoked, but additional methods
* for the supertypes of that element will also be invoked. For example, using an instance of this
- * class to visit a [MethodElement] will cause the method[visitMethodElement] to be invoked but will also cause the methods[visitExecutableElement] and [visitElement] to be
+ * class to visit a [MethodElement] will cause the method
+ * [visitMethodElement] to be invoked but will also cause the methods
+ * [visitExecutableElement] and [visitElement] to be
* subsequently invoked. This allows visitors to be written that visit all executable elements
- * without needing to override the visit method for each of the specific subclasses of[ExecutableElement].
+ * without needing to override the visit method for each of the specific subclasses of
+ * [ExecutableElement].
*
* Note, however, that unlike many visitors, element visitors visit objects based on the interfaces
* implemented by those elements. Because interfaces form a graph structure rather than a tree
@@ -1302,40 +1463,42 @@ abstract class VariableElement implements Element {
* more than once, this class flattens the interface graph into a pseudo-tree. In particular, this
* class treats elements as if the element types were structured in the following way:
*
+ *
* <pre>
* Element
- * ClassElement
- * CompilationUnitElement
- * ExecutableElement
- * ConstructorElement
- * LocalElement
- * FunctionElement
- * MethodElement
- * PropertyAccessorElement
- * ExportElement
- * HtmlElement
- * ImportElement
- * LabelElement
- * LibraryElement
- * MultiplyDefinedElement
- * PrefixElement
- * TypeAliasElement
- * TypeVariableElement
- * UndefinedElement
- * VariableElement
- * PropertyInducingElement
- * FieldElement
- * TopLevelVariableElement
- * LocalElement
- * LocalVariableElement
- * ParameterElement
- * FieldFormalParameterElement
+ * ClassElement
+ * CompilationUnitElement
+ * ExecutableElement
+ * ConstructorElement
+ * LocalElement
+ * FunctionElement
+ * MethodElement
+ * PropertyAccessorElement
+ * ExportElement
+ * HtmlElement
+ * ImportElement
+ * LabelElement
+ * LibraryElement
+ * MultiplyDefinedElement
+ * PrefixElement
+ * TypeAliasElement
+ * TypeVariableElement
+ * UndefinedElement
+ * VariableElement
+ * PropertyInducingElement
+ * FieldElement
+ * TopLevelVariableElement
+ * LocalElement
+ * LocalVariableElement
+ * ParameterElement
+ * FieldFormalParameterElement
* </pre>
*
* Subclasses that override a visit method must either invoke the overridden visit method or
* explicitly invoke the more general visit method. Failure to do so will cause the visit methods
* for superclasses of the element to not be invoked and will cause the children of the visited node
* to not be visited.
+ *
* @coverage dart.engine.element
*/
class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
@@ -1389,6 +1552,7 @@ class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
* Subclasses that override a visit method must either invoke the overridden visit method or must
* explicitly ask the visited element to visit its children. Failure to do so will cause the
* children of the visited element to not be visited.
+ *
* @coverage dart.engine.element
*/
class RecursiveElementVisitor<R> implements ElementVisitor<R> {
@@ -1486,6 +1650,7 @@ class RecursiveElementVisitor<R> implements ElementVisitor<R> {
* nothing when visiting an element. It is intended to be a superclass for classes that use the
* visitor pattern primarily as a dispatch mechanism (and hence don't need to recursively visit a
* whole structure) and that only need to visit a small number of element types.
+ *
* @coverage dart.engine.element
*/
class SimpleElementVisitor<R> implements ElementVisitor<R> {
@@ -1514,6 +1679,7 @@ class SimpleElementVisitor<R> implements ElementVisitor<R> {
}
/**
* Instances of the class `ClassElementImpl` implement a `ClassElement`.
+ *
* @coverage dart.engine.element
*/
class ClassElementImpl extends ElementImpl implements ClassElement {
@@ -1571,6 +1737,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Initialize a newly created class element to have the given name.
+ *
* @param name the name of this element
*/
ClassElementImpl(Identifier name) : super.con1(name) {
@@ -1615,6 +1782,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Given some name, this returns the [FieldElement] with the matching name, if there is no
* such field, then `null` is returned.
+ *
* @param name some name to lookup a field element with
* @return the matching field element, or `null` if no such element was found
*/
@@ -1679,14 +1847,6 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
}
return null;
}
- bool hasDefaultConstructor() {
- for (ConstructorElement constructor in constructors) {
- if (constructor.isDefaultConstructor) {
- return true;
- }
- }
- return false;
- }
bool hasNonFinalField() {
List<ClassElement> classesToVisit = new List<ClassElement>();
Set<ClassElement> visitedClasses = new Set<ClassElement>();
@@ -1799,6 +1959,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set whether this class is abstract to correspond to the given value.
+ *
* @param isAbstract `true` if the class is abstract
*/
void set abstract(bool isAbstract) {
@@ -1807,6 +1968,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the accessors contained in this class to the given accessors.
+ *
* @param accessors the accessors contained in this class
*/
void set accessors(List<PropertyAccessorElement> accessors2) {
@@ -1818,6 +1980,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the constructors contained in this class to the given constructors.
+ *
* @param constructors the constructors contained in this class
*/
void set constructors(List<ConstructorElement> constructors2) {
@@ -1829,6 +1992,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the fields contained in this class to the given fields.
+ *
* @param fields the fields contained in this class
*/
void set fields(List<FieldElement> fields2) {
@@ -1840,6 +2004,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set whether this class references 'super' to the given value.
+ *
* @param isReferencedSuper `true` references 'super'
*/
void set hasReferenceToSuper2(bool isReferencedSuper) {
@@ -1848,6 +2013,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the interfaces that are implemented by this class to the given types.
+ *
* @param the interfaces that are implemented by this class
*/
void set interfaces(List<InterfaceType> interfaces2) {
@@ -1856,6 +2022,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the methods contained in this class to the given methods.
+ *
* @param methods the methods contained in this class
*/
void set methods(List<MethodElement> methods2) {
@@ -1868,6 +2035,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the mixins that are applied to the class being extended in order to derive the superclass
* of this class to the given types.
+ *
* @param mixins the mixins that are applied to derive the superclass of this class
*/
void set mixins(List<InterfaceType> mixins2) {
@@ -1876,6 +2044,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the superclass of the class to the given type.
+ *
* @param supertype the superclass of the class
*/
void set supertype(InterfaceType supertype2) {
@@ -1884,6 +2053,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the type defined by the class to the given type.
+ *
* @param type the type defined by the class
*/
void set type(InterfaceType type2) {
@@ -1892,6 +2062,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set whether this class is defined by a typedef construct to correspond to the given value.
+ *
* @param isTypedef `true` if the class is defined by a typedef construct
*/
void set typedef(bool isTypedef) {
@@ -1900,6 +2071,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set the type variables defined for this class to the given type variables.
+ *
* @param typeVariables the type variables defined for this class
*/
void set typeVariables(List<TypeVariableElement> typeVariables2) {
@@ -1911,6 +2083,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
/**
* Set whether this class is a valid mixin to correspond to the given value.
+ *
* @param isValidMixin `true` if this class can be used as a mixin
*/
void set validMixin(bool isValidMixin) {
@@ -1973,7 +2146,9 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
}
}
/**
- * Instances of the class `CompilationUnitElementImpl` implement a[CompilationUnitElement].
+ * Instances of the class `CompilationUnitElementImpl` implement a
+ * [CompilationUnitElement].
+ *
* @coverage dart.engine.element
*/
class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitElement {
@@ -2022,6 +2197,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Initialize a newly created compilation unit element to have the given name.
+ *
* @param name the name of this element
*/
CompilationUnitElementImpl(String name) : super.con2(name, -1) {
@@ -2079,6 +2255,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the top-level accessors (getters and setters) contained in this compilation unit to the
* given accessors.
+ *
* @param the top-level accessors (getters and setters) contained in this compilation unit
*/
void set accessors(List<PropertyAccessorElement> accessors2) {
@@ -2090,6 +2267,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the top-level functions contained in this compilation unit to the given functions.
+ *
* @param functions the top-level functions contained in this compilation unit
*/
void set functions(List<FunctionElement> functions2) {
@@ -2101,6 +2279,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the source that corresponds to this compilation unit to the given source.
+ *
* @param source the source that corresponds to this compilation unit
*/
void set source(Source source2) {
@@ -2109,6 +2288,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the top-level variables contained in this compilation unit to the given variables.
+ *
* @param variables the top-level variables contained in this compilation unit
*/
void set topLevelVariables(List<TopLevelVariableElement> variables2) {
@@ -2120,6 +2300,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* 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<FunctionTypeAliasElement> typeAliases2) {
@@ -2131,6 +2312,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the types contained in this compilation unit to the given types.
+ *
* @param types types contained in this compilation unit
*/
void set types(List<ClassElement> types2) {
@@ -2142,6 +2324,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
/**
* Set the URI that is specified by the "part" directive in the enclosing library.
+ *
* @param uri the URI that is specified by the "part" directive in the enclosing library.
*/
void set uri(String uri2) {
@@ -2176,6 +2359,7 @@ class ConstFieldElementImpl extends FieldElementImpl {
/**
* Initialize a newly created field element to have the given name.
+ *
* @param name the name of this element
*/
ConstFieldElementImpl(Identifier name) : super.con1(name) {
@@ -2186,7 +2370,9 @@ class ConstFieldElementImpl extends FieldElementImpl {
}
}
/**
- * Instances of the class `ConstLocalVariableElementImpl` implement a`LocalVariableElement` for a local 'const' variable that has an initializer.
+ * Instances of the class `ConstLocalVariableElementImpl` implement a
+ * `LocalVariableElement` for a local 'const' variable that has an initializer.
+ *
* @coverage dart.engine.element
*/
class ConstLocalVariableElementImpl extends LocalVariableElementImpl {
@@ -2198,6 +2384,7 @@ class ConstLocalVariableElementImpl extends LocalVariableElementImpl {
/**
* Initialize a newly created local variable element to have the given name.
+ *
* @param name the name of this element
*/
ConstLocalVariableElementImpl(Identifier name) : super(name) {
@@ -2208,7 +2395,8 @@ class ConstLocalVariableElementImpl extends LocalVariableElementImpl {
}
}
/**
- * Instances of the class `ConstTopLevelVariableElementImpl` implement a`TopLevelVariableElement` for a top-level 'const' variable that has an initializer.
+ * Instances of the class `ConstTopLevelVariableElementImpl` implement a
+ * `TopLevelVariableElement` for a top-level 'const' variable that has an initializer.
*/
class ConstTopLevelVariableElementImpl extends TopLevelVariableElementImpl {
@@ -2219,6 +2407,7 @@ class ConstTopLevelVariableElementImpl extends TopLevelVariableElementImpl {
/**
* 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) {
@@ -2230,6 +2419,7 @@ class ConstTopLevelVariableElementImpl extends TopLevelVariableElementImpl {
}
/**
* Instances of the class `ConstructorElementImpl` implement a `ConstructorElement`.
+ *
* @coverage dart.engine.element
*/
class ConstructorElementImpl extends ExecutableElementImpl implements ConstructorElement {
@@ -2246,6 +2436,7 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
/**
* Initialize a newly created constructor element to have the given name.
+ *
* @param name the name of this element
*/
ConstructorElementImpl(Identifier name) : super.con1(name) {
@@ -2272,6 +2463,7 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
/**
* Set whether this constructor represents a 'const' constructor to the given value.
+ *
* @param isConst `true` if this constructor represents a 'const' constructor
*/
void set const2(bool isConst) {
@@ -2280,6 +2472,7 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
/**
* Set whether this constructor represents a factory method to the given value.
+ *
* @param isFactory `true` if this constructor represents a factory method
*/
void set factory(bool isFactory) {
@@ -2288,6 +2481,7 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
/**
* Sets the constructor to which this constructor is redirecting.
+ *
* @param redirectedConstructor the constructor to which this constructor is redirecting
*/
void set redirectedConstructor(ConstructorElement redirectedConstructor2) {
@@ -2304,7 +2498,9 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
}
}
/**
- * Instances of the class `DefaultFieldFormalParameterElementImpl` implement a`FieldFormalParameterElementImpl` for parameters that have an initializer.
+ * Instances of the class `DefaultFieldFormalParameterElementImpl` implement a
+ * `FieldFormalParameterElementImpl` for parameters that have an initializer.
+ *
* @coverage dart.engine.element
*/
class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElementImpl {
@@ -2316,6 +2512,7 @@ class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElement
/**
* Initialize a newly created parameter element to have the given name.
+ *
* @param name the name of this element
*/
DefaultFieldFormalParameterElementImpl(Identifier name) : super(name) {
@@ -2326,7 +2523,9 @@ class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElement
}
}
/**
- * Instances of the class `DefaultParameterElementImpl` implement a `ParameterElement`for parameters that have an initializer.
+ * Instances of the class `DefaultParameterElementImpl` implement a `ParameterElement`
+ * for parameters that have an initializer.
+ *
* @coverage dart.engine.element
*/
class DefaultParameterElementImpl extends ParameterElementImpl {
@@ -2338,6 +2537,7 @@ class DefaultParameterElementImpl extends ParameterElementImpl {
/**
* Initialize a newly created parameter element to have the given name.
+ *
* @param name the name of this element
*/
DefaultParameterElementImpl(Identifier name) : super(name) {
@@ -2350,12 +2550,14 @@ class DefaultParameterElementImpl extends ParameterElementImpl {
/**
* Instances of the class `DynamicElementImpl` represent the synthetic element representing
* the declaration of the type `dynamic`.
+ *
* @coverage dart.engine.element
*/
class DynamicElementImpl extends ElementImpl {
/**
* Return the unique instance of this class.
+ *
* @return the unique instance of this class
*/
static DynamicElementImpl get instance => DynamicTypeImpl.instance.element as DynamicElementImpl;
@@ -2378,12 +2580,14 @@ class DynamicElementImpl extends ElementImpl {
/**
* Return the type defined by this element.
+ *
* @return the type defined by this element
*/
DynamicTypeImpl get type => _type;
/**
* Set the type defined by this element to the given type.
+ *
* @param type the type defined by this element
*/
void set type(DynamicTypeImpl type2) {
@@ -2392,6 +2596,7 @@ class DynamicElementImpl extends ElementImpl {
}
/**
* Instances of the class `ElementAnnotationImpl` implement an [ElementAnnotation].
+ *
* @coverage dart.engine.element
*/
class ElementAnnotationImpl implements ElementAnnotation {
@@ -2408,8 +2613,9 @@ class ElementAnnotationImpl implements ElementAnnotation {
/**
* Initialize a newly created annotation.
+ *
* @param element the element representing the field, variable, or constructor being used as an
- * annotation
+ * annotation
*/
ElementAnnotationImpl(Element element) {
this._element = element;
@@ -2420,6 +2626,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
/**
* The abstract class `ElementImpl` implements the behavior common to objects that implement
* an [Element].
+ *
* @coverage dart.engine.element
*/
abstract class ElementImpl implements Element {
@@ -2458,6 +2665,7 @@ abstract class ElementImpl implements Element {
/**
* Initialize a newly created element to have the given name.
+ *
* @param name the name of this element
*/
ElementImpl.con1(Identifier name2) {
@@ -2469,9 +2677,10 @@ abstract class ElementImpl implements Element {
/**
* Initialize a newly created element to have the given name.
+ *
* @param name the name of this element
* @param nameOffset the offset of the name of this element in the file that contains the
- * declaration of this element
+ * declaration of this element
*/
ElementImpl.con2(String name2, int nameOffset2) {
_jtd_constructor_196_impl(name2, nameOffset2);
@@ -2497,7 +2706,9 @@ abstract class ElementImpl implements Element {
}
/**
- * Return the child of this element that is uniquely identified by the given identifier, or`null` if there is no such child.
+ * Return the child of this element that is uniquely identified by the given identifier, or
+ * `null` if there is no such child.
+ *
* @param identifier the identifier used to select a child
* @return the child of this element with the given identifier
*/
@@ -2537,6 +2748,7 @@ abstract class ElementImpl implements Element {
/**
* Set the metadata associate with this element to the given array of annotations.
+ *
* @param metadata the metadata to be associated with this element
*/
void set metadata(List<ElementAnnotation> metadata2) {
@@ -2547,6 +2759,7 @@ abstract class ElementImpl implements Element {
* Set the offset of the name of this element in the file that contains the declaration of this
* element to the given value. This is normally done via the constructor, but this method is
* provided to support unnamed constructors.
+ *
* @param nameOffset the offset to the beginning of the name
*/
void set nameOffset(int nameOffset2) {
@@ -2555,6 +2768,7 @@ abstract class ElementImpl implements Element {
/**
* Set whether this element is synthetic to correspond to the given value.
+ *
* @param isSynthetic `true` if the element is synthetic
*/
void set synthetic(bool isSynthetic) {
@@ -2570,6 +2784,7 @@ abstract class ElementImpl implements Element {
/**
* Append a textual representation of this type to the given builder.
+ *
* @param builder the builder to which the text is to be appended
*/
void appendTo(JavaStringBuilder builder) {
@@ -2585,12 +2800,14 @@ abstract class ElementImpl implements Element {
/**
* Return an identifier that uniquely identifies this element among the children of this element's
* parent.
+ *
* @return an identifier that uniquely identifies this element relative to its parent
*/
String get identifier => name;
/**
* Return `true` if this element has the given modifier associated with it.
+ *
* @param modifier the modifier being tested for
* @return `true` if this element has the given modifier associated with it
*/
@@ -2598,6 +2815,7 @@ abstract class ElementImpl implements Element {
/**
* If the given child is not `null`, use the given visitor to visit it.
+ *
* @param child the child to be visited
* @param visitor the visitor to be used to visit the child
*/
@@ -2609,6 +2827,7 @@ abstract class ElementImpl implements Element {
/**
* Use the given visitor to visit all of the children in the given array.
+ *
* @param children the children to be visited
* @param visitor the visitor being used to visit the children
*/
@@ -2622,6 +2841,7 @@ abstract class ElementImpl implements Element {
/**
* Set the enclosing element of this element to the given element.
+ *
* @param element the enclosing element of this element
*/
void set enclosingElement(ElementImpl element) {
@@ -2631,6 +2851,7 @@ abstract class ElementImpl implements Element {
/**
* Set whether the given modifier is associated with this element to correspond to the given
* value.
+ *
* @param modifier the modifier to be set
* @param value `true` if the modifier is to be associated with this element
*/
@@ -2652,6 +2873,7 @@ abstract class ElementImpl implements Element {
}
/**
* Instances of the class `ElementLocationImpl` implement an [ElementLocation].
+ *
* @coverage dart.engine.element
*/
class ElementLocationImpl implements ElementLocation {
@@ -2668,6 +2890,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Initialize a newly created location to represent the given element.
+ *
* @param element the element whose location is being represented
*/
ElementLocationImpl.con1(Element element) {
@@ -2685,6 +2908,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Initialize a newly created location from the given encoded form.
+ *
* @param encoding the encoded form of a location
*/
ElementLocationImpl.con2(String encoding) {
@@ -2719,6 +2943,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Return the path to the element whose location is represented by this object.
+ *
* @return the path to the element whose location is represented by this object
*/
List<String> get components => _components;
@@ -2738,6 +2963,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Decode the encoded form of a location into an array of components.
+ *
* @param encoding the encoded form of a location
* @return the components that were encoded
*/
@@ -2770,6 +2996,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Append an encoded form of the given component to the given builder.
+ *
* @param builder the builder to which the encoded component is to be appended
* @param component the component to be appended to the builder
*/
@@ -2787,6 +3014,7 @@ class ElementLocationImpl implements ElementLocation {
/**
* Return `true` if the given components, when interpreted to be encoded sources with a
* leading source type indicator, are equal when the source type's are ignored.
+ *
* @param left the left component being compared
* @param right the right component being compared
* @return `true` if the given components are equal when the source type's are ignored
@@ -2804,7 +3032,9 @@ class ElementLocationImpl implements ElementLocation {
}
}
/**
- * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an[EmbeddedHtmlScriptElement].
+ * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an
+ * [EmbeddedHtmlScriptElement].
+ *
* @coverage dart.engine.element
*/
class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements EmbeddedHtmlScriptElement {
@@ -2816,6 +3046,7 @@ class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
/**
* Initialize a newly created script element to have the specified tag name and offset.
+ *
* @param node the XML node from which this element is derived (not `null`)
*/
EmbeddedHtmlScriptElementImpl(XmlTagNode node) : super(node) {
@@ -2826,6 +3057,7 @@ class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
/**
* Set the script library defined by the script tag's content.
+ *
* @param scriptLibrary the library or `null` if none
*/
void set scriptLibrary(LibraryElementImpl scriptLibrary2) {
@@ -2837,7 +3069,9 @@ class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
}
}
/**
- * The abstract class `ExecutableElementImpl` implements the behavior common to`ExecutableElement`s.
+ * The abstract class `ExecutableElementImpl` implements the behavior common to
+ * `ExecutableElement`s.
+ *
* @coverage dart.engine.element
*/
abstract class ExecutableElementImpl extends ElementImpl implements ExecutableElement {
@@ -2879,6 +3113,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Initialize a newly created executable element to have the given name.
+ *
* @param name the name of this element
*/
ExecutableElementImpl.con1(Identifier name) : super.con1(name) {
@@ -2889,9 +3124,10 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Initialize a newly created executable element to have the given name.
+ *
* @param name the name of this element
* @param nameOffset the offset of the name of this element in the file that contains the
- * declaration of this element
+ * declaration of this element
*/
ExecutableElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
_jtd_constructor_201_impl(name, nameOffset);
@@ -2931,6 +3167,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the functions defined within this executable element to the given functions.
+ *
* @param functions the functions defined within this executable element
*/
void set functions(List<FunctionElement> functions2) {
@@ -2942,6 +3179,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the labels defined within this executable element to the given labels.
+ *
* @param labels the labels defined within this executable element
*/
void set labels(List<LabelElement> labels2) {
@@ -2953,6 +3191,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the local variables defined within this executable element to the given variables.
+ *
* @param localVariables the local variables defined within this executable element
*/
void set localVariables(List<LocalVariableElement> localVariables2) {
@@ -2964,6 +3203,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the parameters defined by this executable element to the given parameters.
+ *
* @param parameters the parameters defined by this executable element
*/
void set parameters(List<ParameterElement> parameters2) {
@@ -2975,6 +3215,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the return type defined by this executable element.
+ *
* @param returnType the return type defined by this executable element
*/
void set returnType(Type2 returnType2) {
@@ -2983,6 +3224,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
/**
* Set the type of function defined by this executable element to the given type.
+ *
* @param type the type of function defined by this executable element
*/
void set type(FunctionType type2) {
@@ -3013,6 +3255,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
}
/**
* Instances of the class `ExportElementImpl` implement an [ExportElement].
+ *
* @coverage dart.engine.element
*/
class ExportElementImpl extends ElementImpl implements ExportElement {
@@ -3047,6 +3290,7 @@ class ExportElementImpl extends ElementImpl implements ExportElement {
/**
* Set the combinators that were specified as part of the export directive to the given array of
* combinators.
+ *
* @param combinators the combinators that were specified as part of the export directive
*/
void set combinators(List<NamespaceCombinator> combinators2) {
@@ -3056,6 +3300,7 @@ class ExportElementImpl extends ElementImpl implements ExportElement {
/**
* Set the library that is exported from this library by this import directive to the given
* library.
+ *
* @param exportedLibrary the library that is exported from this library
*/
void set exportedLibrary(LibraryElement exportedLibrary2) {
@@ -3064,6 +3309,7 @@ class ExportElementImpl extends ElementImpl implements ExportElement {
/**
* Set the URI that is specified by this directive.
+ *
* @param uri the URI that is specified by this directive.
*/
void set uri(String uri2) {
@@ -3076,7 +3322,9 @@ class ExportElementImpl extends ElementImpl implements ExportElement {
String get identifier => _exportedLibrary.name;
}
/**
- * Instances of the class `ExternalHtmlScriptElementImpl` implement an[ExternalHtmlScriptElement].
+ * Instances of the class `ExternalHtmlScriptElementImpl` implement an
+ * [ExternalHtmlScriptElement].
+ *
* @coverage dart.engine.element
*/
class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements ExternalHtmlScriptElement {
@@ -3088,6 +3336,7 @@ class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
/**
* Initialize a newly created script element to have the specified tag name and offset.
+ *
* @param node the XML node from which this element is derived (not `null`)
*/
ExternalHtmlScriptElementImpl(XmlTagNode node) : super(node) {
@@ -3098,6 +3347,7 @@ class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
/**
* Set the source specified in the `source` attribute.
+ *
* @param scriptSource the script source or `null` if unspecified
*/
void set scriptSource(Source scriptSource2) {
@@ -3106,6 +3356,7 @@ class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
}
/**
* Instances of the class `FieldElementImpl` implement a `FieldElement`.
+ *
* @coverage dart.engine.element
*/
class FieldElementImpl extends PropertyInducingElementImpl implements FieldElement {
@@ -3117,6 +3368,7 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
/**
* Initialize a newly created field element to have the given name.
+ *
* @param name the name of this element
*/
FieldElementImpl.con1(Identifier name) : super.con1(name) {
@@ -3127,6 +3379,7 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
/**
* 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) {
@@ -3141,6 +3394,7 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
/**
* Set whether this field is static to correspond to the given value.
+ *
* @param isStatic `true` if the field is static
*/
void set static(bool isStatic) {
@@ -3148,7 +3402,10 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
}
}
/**
- * Instances of the class `FieldFormalParameterElementImpl` extend[ParameterElementImpl] to provide the additional information of the [FieldElement]associated with the parameter.
+ * Instances of the class `FieldFormalParameterElementImpl` extend
+ * [ParameterElementImpl] to provide the additional information of the [FieldElement]
+ * associated with the parameter.
+ *
* @coverage dart.engine.element
*/
class FieldFormalParameterElementImpl extends ParameterElementImpl implements FieldFormalParameterElement {
@@ -3160,6 +3417,7 @@ class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
/**
* Initialize a newly created parameter element to have the given name.
+ *
* @param name the name of this element
*/
FieldFormalParameterElementImpl(Identifier name) : super(name) {
@@ -3170,6 +3428,7 @@ class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
/**
* Set the field element associated with this field formal parameter to the given element.
+ *
* @param field the new field element
*/
void set field(FieldElement field2) {
@@ -3178,6 +3437,7 @@ class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
}
/**
* Instances of the class `FunctionElementImpl` implement a `FunctionElement`.
+ *
* @coverage dart.engine.element
*/
class FunctionElementImpl extends ExecutableElementImpl implements FunctionElement {
@@ -3210,6 +3470,7 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
/**
* Initialize a newly created function element to have the given name.
+ *
* @param name the name of this element
*/
FunctionElementImpl.con1(Identifier name) : super.con1(name) {
@@ -3221,8 +3482,9 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
/**
* Initialize a newly created function element to have no name and the given offset. This is used
* for function expressions, which have no name.
+ *
* @param nameOffset the offset of the name of this element in the file that contains the
- * declaration of this element
+ * declaration of this element
*/
FunctionElementImpl.con2(int nameOffset) : super.con2("", nameOffset) {
_jtd_constructor_209_impl(nameOffset);
@@ -3243,9 +3505,10 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
/**
* Set the visible range for this element to the range starting at the given offset with the given
* length.
+ *
* @param offset the offset to the beginning of the visible range for this element
* @param length the length of the visible range for this element, or `-1` if this element
- * does not have a visible range
+ * does not have a visible range
*/
void setVisibleRange(int offset, int length) {
_visibleRangeOffset = offset;
@@ -3260,7 +3523,9 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
}
}
/**
- * Instances of the class `FunctionTypeAliasElementImpl` implement a`FunctionTypeAliasElement`.
+ * Instances of the class `FunctionTypeAliasElementImpl` implement a
+ * `FunctionTypeAliasElement`.
+ *
* @coverage dart.engine.element
*/
class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAliasElement {
@@ -3292,6 +3557,7 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
/**
* 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) {
@@ -3319,6 +3585,7 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
/**
* 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> parameters2) {
@@ -3332,6 +3599,7 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
/**
* Set the return type defined by this type alias.
+ *
* @param returnType the return type defined by this type alias
*/
void set returnType(Type2 returnType2) {
@@ -3340,6 +3608,7 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
/**
* 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 type2) {
@@ -3348,6 +3617,7 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
/**
* 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> typeVariables2) {
@@ -3391,7 +3661,9 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
}
}
/**
- * Instances of the class `HideElementCombinatorImpl` implement a[HideElementCombinator].
+ * Instances of the class `HideElementCombinatorImpl` implement a
+ * [HideElementCombinator].
+ *
* @coverage dart.engine.element
*/
class HideElementCombinatorImpl implements HideElementCombinator {
@@ -3406,6 +3678,7 @@ class HideElementCombinatorImpl implements HideElementCombinator {
/**
* Set the names that are not to be made visible in the importing library even if they are defined
* in the imported library to the given names.
+ *
* @param hiddenNames the names that are not to be made visible in the importing library
*/
void set hiddenNames(List<String> hiddenNames2) {
@@ -3426,6 +3699,7 @@ class HideElementCombinatorImpl implements HideElementCombinator {
}
/**
* Instances of the class `HtmlElementImpl` implement an [HtmlElement].
+ *
* @coverage dart.engine.element
*/
class HtmlElementImpl extends ElementImpl implements HtmlElement {
@@ -3452,6 +3726,7 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
/**
* Initialize a newly created HTML element to have the given name.
+ *
* @param context the analysis context in which the HTML file is defined
* @param name the name of this element
*/
@@ -3468,6 +3743,7 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
/**
* Set the scripts contained in the HTML file to the given scripts.
+ *
* @param scripts the scripts
*/
void set scripts(List<HtmlScriptElement> scripts2) {
@@ -3482,6 +3758,7 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
/**
* Set the source that corresponds to this HTML file to the given source.
+ *
* @param source the source that corresponds to this HTML file
*/
void set source(Source source2) {
@@ -3501,6 +3778,7 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
}
/**
* Instances of the class `HtmlScriptElementImpl` implement an [HtmlScriptElement].
+ *
* @coverage dart.engine.element
*/
abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptElement {
@@ -3512,6 +3790,7 @@ abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl
/**
* Initialize a newly created script element to have the specified tag name and offset.
+ *
* @param node the XML node from which this element is derived (not `null`)
*/
HtmlScriptElementImpl(XmlTagNode node) : super.con2(node.tag.lexeme, node.tag.offset) {
@@ -3519,6 +3798,7 @@ abstract class HtmlScriptElementImpl extends ElementImpl implements HtmlScriptEl
}
/**
* Instances of the class `ImportElementImpl` implement an [ImportElement].
+ *
* @coverage dart.engine.element
*/
class ImportElementImpl extends ElementImpl implements ImportElement {
@@ -3560,6 +3840,7 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
/**
* Set the combinators that were specified as part of the import directive to the given array of
* combinators.
+ *
* @param combinators the combinators that were specified as part of the import directive
*/
void set combinators(List<NamespaceCombinator> combinators2) {
@@ -3569,6 +3850,7 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
/**
* Set the library that is imported into this library by this import directive to the given
* library.
+ *
* @param importedLibrary the library that is imported into this library
*/
void set importedLibrary(LibraryElement importedLibrary2) {
@@ -3577,6 +3859,7 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
/**
* Set the prefix that was specified as part of the import directive to the given prefix.
+ *
* @param prefix the prefix that was specified as part of the import directive
*/
void set prefix(PrefixElement prefix2) {
@@ -3585,6 +3868,7 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
/**
* Set the URI that is specified by this directive.
+ *
* @param uri the URI that is specified by this directive.
*/
void set uri(String uri2) {
@@ -3602,6 +3886,7 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
}
/**
* Instances of the class `LabelElementImpl` implement a `LabelElement`.
+ *
* @coverage dart.engine.element
*/
class LabelElementImpl extends ElementImpl implements LabelElement {
@@ -3612,7 +3897,8 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
bool _onSwitchStatement = false;
/**
- * A flag indicating whether this label is associated with a `switch` member (`case`or `default`).
+ * A flag indicating whether this label is associated with a `switch` member (`case`
+ * or `default`).
*/
bool _onSwitchMember = false;
@@ -3623,8 +3909,10 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
/**
* Initialize a newly created label element to have the given name.
+ *
* @param name the name of this element
- * @param onSwitchStatement `true` if this label is associated with a `switch`statement
+ * @param onSwitchStatement `true` if this label is associated with a `switch`
+ * statement
* @param onSwitchMember `true` if this label is associated with a `switch` member
*/
LabelElementImpl(Identifier name, bool onSwitchStatement, bool onSwitchMember) : super.con1(name) {
@@ -3636,19 +3924,23 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
ElementKind get kind => ElementKind.LABEL;
/**
- * Return `true` if this label is associated with a `switch` member (`case` or`default`).
+ * Return `true` if this label is associated with a `switch` member (`case` or
+ * `default`).
+ *
* @return `true` if this label is associated with a `switch` member
*/
bool get isOnSwitchMember => _onSwitchMember;
/**
* Return `true` if this label is associated with a `switch` statement.
+ *
* @return `true` if this label is associated with a `switch` statement
*/
bool get isOnSwitchStatement => _onSwitchStatement;
}
/**
* Instances of the class `LibraryElementImpl` implement a `LibraryElement`.
+ *
* @coverage dart.engine.element
*/
class LibraryElementImpl extends ElementImpl implements LibraryElement {
@@ -3660,6 +3952,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Determine if the given library is up to date with respect to the given time stamp.
+ *
* @param library the library to process
* @param timeStamp the time stamp to check against
* @param visitedLibraries the set of visited libraries
@@ -3715,12 +4008,14 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
List<ExportElement> _exports = ExportElement.EMPTY_ARRAY;
/**
- * An array containing all of the compilation units that are included in this library using a`part` directive.
+ * An array containing all of the compilation units that are included in this library using a
+ * `part` directive.
*/
List<CompilationUnitElement> _parts = CompilationUnitElementImpl.EMPTY_ARRAY;
/**
* Initialize a newly created library element to have the given name.
+ *
* @param context the analysis context in which the library is defined
* @param name the name of this element
*/
@@ -3818,6 +4113,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Set the compilation unit that defines this library to the given compilation unit.
+ *
* @param definingCompilationUnit the compilation unit that defines this library
*/
void set definingCompilationUnit(CompilationUnitElement definingCompilationUnit2) {
@@ -3827,6 +4123,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Set the entry point for this library to the given function.
+ *
* @param entryPoint the entry point for this library
*/
void set entryPoint(FunctionElement entryPoint2) {
@@ -3835,6 +4132,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Set the specifications of all of the exports defined in this library to the given array.
+ *
* @param exports the specifications of all of the exports defined in this library
*/
void set exports(List<ExportElement> exports2) {
@@ -3846,6 +4144,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Set the specifications of all of the imports defined in this library to the given array.
+ *
* @param imports the specifications of all of the imports defined in this library
*/
void set imports(List<ImportElement> imports2) {
@@ -3861,7 +4160,9 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Set the compilation units that are included in this library using a `part` directive.
- * @param parts the compilation units that are included in this library using a `part`directive
+ *
+ * @param parts the compilation units that are included in this library using a `part`
+ * directive
*/
void set parts(List<CompilationUnitElement> parts2) {
for (CompilationUnitElement compilationUnit in parts2) {
@@ -3879,6 +4180,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
/**
* Answer `true` if the receiver directly or indirectly imports the dart:html libraries.
+ *
* @return `true` if the receiver directly or indirectly imports the dart:html libraries
*/
bool get isOrImportsBrowserLibrary {
@@ -3907,6 +4209,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
}
/**
* Instances of the class `LocalVariableElementImpl` implement a `LocalVariableElement`.
+ *
* @coverage dart.engine.element
*/
class LocalVariableElementImpl extends VariableElementImpl implements LocalVariableElement {
@@ -3929,6 +4232,7 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
/**
* 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) {
@@ -3945,9 +4249,10 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
/**
* Set the visible range for this element to the range starting at the given offset with the given
* length.
+ *
* @param offset the offset to the beginning of the visible range for this element
* @param length the length of the visible range for this element, or `-1` if this element
- * does not have a visible range
+ * does not have a visible range
*/
void setVisibleRange(int offset, int length) {
_visibleRangeOffset = offset;
@@ -3962,6 +4267,7 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
}
/**
* Instances of the class `MethodElementImpl` implement a `MethodElement`.
+ *
* @coverage dart.engine.element
*/
class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
@@ -3973,6 +4279,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
/**
* Initialize a newly created method element to have the given name.
+ *
* @param name the name of this element
*/
MethodElementImpl.con1(Identifier name) : super.con1(name) {
@@ -3983,9 +4290,10 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
/**
* Initialize a newly created method element to have the given name.
+ *
* @param name the name of this element
* @param nameOffset the offset of the name of this element in the file that contains the
- * declaration of this element
+ * declaration of this element
*/
MethodElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
_jtd_constructor_219_impl(name, nameOffset);
@@ -4017,6 +4325,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
/**
* Set whether this method is abstract to correspond to the given value.
+ *
* @param isAbstract `true` if the method is abstract
*/
void set abstract(bool isAbstract) {
@@ -4025,6 +4334,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
/**
* Set whether this method is static to correspond to the given value.
+ *
* @param isStatic `true` if the method is static
*/
void set static(bool isStatic) {
@@ -4040,6 +4350,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
/**
* The enumeration `Modifier` defines constants for all of the modifiers defined by the Dart
* language and for a few additional flags that are useful.
+ *
* @coverage dart.engine.element
*/
class Modifier implements Comparable<Modifier> {
@@ -4070,6 +4381,7 @@ class Modifier implements Comparable<Modifier> {
/**
* Instances of the class `MultiplyDefinedElementImpl` represent a collection of elements that
* have the same name within the same scope.
+ *
* @coverage dart.engine.element
*/
class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
@@ -4091,6 +4403,7 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
/**
* Initialize a newly created element to represent a list of conflicting elements.
+ *
* @param context the analysis context in which the multiply defined elements are defined
* @param firstElement the first element that conflicts
* @param secondElement the second element that conflicts
@@ -4141,6 +4454,7 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
/**
* Add the given element to the list of elements. If the element is a multiply-defined element,
* add all of the conflicting elements that it represents.
+ *
* @param elements the list to which the element(s) are to be added
* @param element the element(s) to be added
*/
@@ -4158,6 +4472,7 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
* Use the given elements to construct an array of conflicting elements. If either of the given
* elements are multiply-defined elements then the conflicting elements they represent will be
* included in the array. Otherwise, the element itself will be included.
+ *
* @param firstElement the first element to be included
* @param secondElement the second element to be included
* @return an array containing all of the conflicting elements
@@ -4171,6 +4486,7 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
}
/**
* Instances of the class `ParameterElementImpl` implement a `ParameterElement`.
+ *
* @coverage dart.engine.element
*/
class ParameterElementImpl extends VariableElementImpl implements ParameterElement {
@@ -4215,6 +4531,7 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
/**
* Initialize a newly created parameter element to have the given name.
+ *
* @param name the name of this element
*/
ParameterElementImpl(Identifier name) : super.con1(name) {
@@ -4240,9 +4557,10 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
/**
* Set the range of the default value for this parameter to the range starting at the given offset
* with the given length.
+ *
* @param offset the offset to the beginning of the default value range for this element
* @param length the length of the default value range for this element, or `-1` if this
- * element does not have a default value
+ * element does not have a default value
*/
void setDefaultValueRange(int offset, int length) {
_defaultValueRangeOffset = offset;
@@ -4251,6 +4569,7 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
/**
* Set the kind of this parameter to the given kind.
+ *
* @param parameterKind the new kind of this parameter
*/
void set parameterKind(ParameterKind parameterKind2) {
@@ -4259,6 +4578,7 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
/**
* Set the parameters defined by this executable element to the given parameters.
+ *
* @param parameters the parameters defined by this executable element
*/
void set parameters(List<ParameterElement> parameters2) {
@@ -4271,9 +4591,10 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
/**
* Set the visible range for this element to the range starting at the given offset with the given
* length.
+ *
* @param offset the offset to the beginning of the visible range for this element
* @param length the length of the visible range for this element, or `-1` if this element
- * does not have a visible range
+ * does not have a visible range
*/
void setVisibleRange(int offset, int length) {
_visibleRangeOffset = offset;
@@ -4305,6 +4626,7 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
}
/**
* Instances of the class `PrefixElementImpl` implement a `PrefixElement`.
+ *
* @coverage dart.engine.element
*/
class PrefixElementImpl extends ElementImpl implements PrefixElement {
@@ -4321,6 +4643,7 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
/**
* Initialize a newly created prefix element to have the given name.
+ *
* @param name the name of this element
*/
PrefixElementImpl(Identifier name) : super.con1(name) {
@@ -4332,6 +4655,7 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
/**
* Set the libraries that are imported using this prefix to the given libraries.
+ *
* @param importedLibraries the libraries that are imported using this prefix
*/
void set importedLibraries(List<LibraryElement> importedLibraries2) {
@@ -4346,7 +4670,9 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
}
}
/**
- * Instances of the class `PropertyAccessorElementImpl` implement a`PropertyAccessorElement`.
+ * Instances of the class `PropertyAccessorElementImpl` implement a
+ * `PropertyAccessorElement`.
+ *
* @coverage dart.engine.element
*/
class PropertyAccessorElementImpl extends ExecutableElementImpl implements PropertyAccessorElement {
@@ -4363,6 +4689,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Initialize a newly created property accessor element to have the given name.
+ *
* @param name the name of this element
*/
PropertyAccessorElementImpl.con1(Identifier name) : super.con1(name) {
@@ -4374,6 +4701,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Initialize a newly created synthetic property accessor element to be associated with the given
* variable.
+ *
* @param variable the variable with which this access is associated
*/
PropertyAccessorElementImpl.con2(PropertyInducingElementImpl variable2) : super.con2(variable2.name, variable2.nameOffset) {
@@ -4417,6 +4745,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Set whether this accessor is abstract to correspond to the given value.
+ *
* @param isAbstract `true` if the accessor is abstract
*/
void set abstract(bool isAbstract) {
@@ -4425,6 +4754,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Set whether this accessor is a getter to correspond to the given value.
+ *
* @param isGetter `true` if the accessor is a getter
*/
void set getter(bool isGetter) {
@@ -4433,6 +4763,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Set whether this accessor is a setter to correspond to the given value.
+ *
* @param isSetter `true` if the accessor is a setter
*/
void set setter(bool isSetter) {
@@ -4441,6 +4772,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Set whether this accessor is static to correspond to the given value.
+ *
* @param isStatic `true` if the accessor is static
*/
void set static(bool isStatic) {
@@ -4449,6 +4781,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
/**
* Set the variable associated with this accessor to the given variable.
+ *
* @param variable the variable associated with this accessor
*/
void set variable(PropertyInducingElement variable2) {
@@ -4461,7 +4794,9 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
}
}
/**
- * Instances of the class `PropertyInducingElementImpl` implement a`PropertyInducingElement`.
+ * Instances of the class `PropertyInducingElementImpl` implement a
+ * `PropertyInducingElement`.
+ *
* @coverage dart.engine.element
*/
abstract class PropertyInducingElementImpl extends VariableElementImpl implements PropertyInducingElement {
@@ -4472,7 +4807,8 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
PropertyAccessorElement _getter;
/**
- * The setter associated with this element, or `null` if the element is effectively`final` and therefore does not have a setter associated with it.
+ * The setter associated with this element, or `null` if the element is effectively
+ * `final` and therefore does not have a setter associated with it.
*/
PropertyAccessorElement _setter;
@@ -4483,6 +4819,7 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
/**
* Initialize a newly created element to have the given name.
+ *
* @param name the name of this element
*/
PropertyInducingElementImpl.con1(Identifier name) : super.con1(name) {
@@ -4493,6 +4830,7 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
/**
* 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) {
@@ -4506,6 +4844,7 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
/**
* Set the getter associated with this element to the given accessor.
+ *
* @param getter the getter associated with this element
*/
void set getter(PropertyAccessorElement getter2) {
@@ -4514,6 +4853,7 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
/**
* Set the setter associated with this element to the given accessor.
+ *
* @param setter the setter associated with this element
*/
void set setter(PropertyAccessorElement setter2) {
@@ -4521,7 +4861,9 @@ abstract class PropertyInducingElementImpl extends VariableElementImpl implement
}
}
/**
- * Instances of the class `ShowElementCombinatorImpl` implement a[ShowElementCombinator].
+ * Instances of the class `ShowElementCombinatorImpl` implement a
+ * [ShowElementCombinator].
+ *
* @coverage dart.engine.element
*/
class ShowElementCombinatorImpl implements ShowElementCombinator {
@@ -4536,6 +4878,7 @@ class ShowElementCombinatorImpl implements ShowElementCombinator {
/**
* Set the names that are to be made visible in the importing library if they are defined in the
* imported library to the given names.
+ *
* @param shownNames the names that are to be made visible in the importing library
*/
void set shownNames(List<String> shownNames2) {
@@ -4555,7 +4898,9 @@ class ShowElementCombinatorImpl implements ShowElementCombinator {
}
}
/**
- * Instances of the class `TopLevelVariableElementImpl` implement a`TopLevelVariableElement`.
+ * Instances of the class `TopLevelVariableElementImpl` implement a
+ * `TopLevelVariableElement`.
+ *
* @coverage dart.engine.element
*/
class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements TopLevelVariableElement {
@@ -4567,6 +4912,7 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
/**
* Initialize a newly created top-level variable element to have the given name.
+ *
* @param name the name of this element
*/
TopLevelVariableElementImpl.con1(Identifier name) : super.con1(name) {
@@ -4577,6 +4923,7 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
/**
* 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) {
@@ -4590,6 +4937,7 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
}
/**
* Instances of the class `TypeVariableElementImpl` implement a `TypeVariableElement`.
+ *
* @coverage dart.engine.element
*/
class TypeVariableElementImpl extends ElementImpl implements TypeVariableElement {
@@ -4612,6 +4960,7 @@ class TypeVariableElementImpl extends ElementImpl implements TypeVariableElement
/**
* Initialize a newly created type variable element to have the given name.
+ *
* @param name the name of this element
*/
TypeVariableElementImpl(Identifier name) : super.con1(name) {
@@ -4623,6 +4972,7 @@ class TypeVariableElementImpl extends ElementImpl implements TypeVariableElement
/**
* Set the type representing the bound associated with this variable to the given type.
+ *
* @param bound the type representing the bound associated with this variable
*/
void set bound(Type2 bound2) {
@@ -4631,6 +4981,7 @@ class TypeVariableElementImpl extends ElementImpl implements TypeVariableElement
/**
* Set the type defined by this type variable to the given type
+ *
* @param type the type defined by this type variable
*/
void set type(TypeVariableType type2) {
@@ -4646,6 +4997,7 @@ class TypeVariableElementImpl extends ElementImpl implements TypeVariableElement
}
/**
* Instances of the class `VariableElementImpl` implement a `VariableElement`.
+ *
* @coverage dart.engine.element
*/
abstract class VariableElementImpl extends ElementImpl implements VariableElement {
@@ -4668,6 +5020,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Initialize a newly created variable element to have the given name.
+ *
* @param name the name of this element
*/
VariableElementImpl.con1(Identifier name) : super.con1(name) {
@@ -4678,9 +5031,10 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Initialize a newly created variable element to have the given name.
+ *
* @param name the name of this element
* @param nameOffset the offset of the name of this element in the file that contains the
- * declaration of this element
+ * declaration of this element
*/
VariableElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset) {
_jtd_constructor_233_impl(name, nameOffset);
@@ -4692,6 +5046,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
* Return the result of evaluating this variable's initializer as a compile-time constant
* expression, or `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;
@@ -4702,6 +5057,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Set whether this variable is const to correspond to the given value.
+ *
* @param isConst `true` if the variable is const
*/
void set const3(bool isConst) {
@@ -4711,6 +5067,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* 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) {
@@ -4719,6 +5076,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Set whether this variable is final to correspond to the given value.
+ *
* @param isFinal `true` if the variable is final
*/
void set final2(bool isFinal) {
@@ -4727,6 +5085,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Set the function representing this variable's initializer to the given function.
+ *
* @param initializer the function representing this variable's initializer
*/
void set initializer(FunctionElement initializer2) {
@@ -4738,6 +5097,7 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
/**
* Set the declared type of this variable to the given type.
+ *
* @param type the declared type of this variable
*/
void set type(Type2 type2) {
@@ -4764,9 +5124,10 @@ class ConstructorMember extends ExecutableMember implements ConstructorElement {
* declaration are replaced with the actual type arguments from the defining type, create a
* constructor member representing the given constructor. Return the member that was created, or
* the base constructor if no member was created.
+ *
* @param baseConstructor the base constructor for which a member might be created
* @param definingType the type defining the parameters and arguments to be used in the
- * substitution
+ * substitution
* @return the constructor element that will return the correctly substituted types
*/
static ConstructorElement from(ConstructorElement baseConstructor, InterfaceType definingType) {
@@ -4785,6 +5146,7 @@ class ConstructorMember extends ExecutableMember implements ConstructorElement {
/**
* Initialize a newly created element to represent a constructor of the given parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -4835,6 +5197,7 @@ abstract class ExecutableMember extends Member implements ExecutableElement {
/**
* Initialize a newly created element to represent an executable element of the given
* parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -4883,9 +5246,10 @@ class FieldMember extends VariableMember implements FieldElement {
* declaration are replaced with the actual type arguments from the defining type, create a field
* member representing the given field. Return the member that was created, or the base field if
* no member was created.
+ *
* @param baseField the base field for which a member might be created
* @param definingType the type defining the parameters and arguments to be used in the
- * substitution
+ * substitution
* @return the field element that will return the correctly substituted types
*/
static FieldElement from(FieldElement baseField, InterfaceType definingType) {
@@ -4907,6 +5271,7 @@ class FieldMember extends VariableMember implements FieldElement {
/**
* Initialize a newly created element to represent a field of the given parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -4938,6 +5303,7 @@ abstract class Member implements Element {
/**
* Initialize a newly created element to represent the member of the given parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -4950,6 +5316,7 @@ abstract class Member implements Element {
/**
* Return the element on which the parameterized element was created.
+ *
* @return the element on which the parameterized element was created
*/
Element get baseElement => _baseElement;
@@ -4969,12 +5336,14 @@ abstract class Member implements Element {
/**
* Return the type in which the element is defined.
+ *
* @return the type in which the element is defined
*/
ParameterizedType get definingType => _definingType;
/**
* If the given child is not `null`, use the given visitor to visit it.
+ *
* @param child the child to be visited
* @param visitor the visitor to be used to visit the child
*/
@@ -4986,6 +5355,7 @@ abstract class Member implements Element {
/**
* Use the given visitor to visit all of the children in the given array.
+ *
* @param children the children to be visited
* @param visitor the visitor being used to visit the children
*/
@@ -5000,6 +5370,7 @@ abstract class Member implements Element {
/**
* Return the type that results from replacing the type parameters in the given type with the type
* arguments.
+ *
* @param type the type to be transformed
* @return the result of transforming the type
*/
@@ -5012,6 +5383,7 @@ abstract class Member implements Element {
/**
* Return the array of types that results from replacing the type parameters in the given types
* with the type arguments.
+ *
* @param types the types to be transformed
* @return the result of transforming the types
*/
@@ -5035,9 +5407,10 @@ class MethodMember extends ExecutableMember implements MethodElement {
* declaration are replaced with the actual type arguments from the defining type, create a method
* member representing the given method. Return the member that was created, or the base method if
* no member was created.
+ *
* @param baseMethod the base method for which a member might be created
* @param definingType the type defining the parameters and arguments to be used in the
- * substitution
+ * substitution
* @return the method element that will return the correctly substituted types
*/
static MethodElement from(MethodElement baseMethod, InterfaceType definingType) {
@@ -5056,6 +5429,7 @@ class MethodMember extends ExecutableMember implements MethodElement {
/**
* Initialize a newly created element to represent a method of the given parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -5100,9 +5474,10 @@ class ParameterMember extends VariableMember implements ParameterElement {
* declaration are replaced with the actual type arguments from the defining type, create a
* parameter member representing the given parameter. Return the member that was created, or the
* base parameter if no member was created.
+ *
* @param baseParameter the base parameter for which a member might be created
* @param definingType the type defining the parameters and arguments to be used in the
- * substitution
+ * substitution
* @return the parameter element that will return the correctly substituted types
*/
static ParameterElement from(ParameterElement baseParameter, ParameterizedType definingType) {
@@ -5121,6 +5496,7 @@ class ParameterMember extends VariableMember implements ParameterElement {
/**
* Initialize a newly created element to represent a parameter of the given parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -5198,9 +5574,10 @@ class PropertyAccessorMember extends ExecutableMember implements PropertyAccesso
* type's declaration are replaced with the actual type arguments from the defining type, create a
* property accessor member representing the given property accessor. Return the member that was
* created, or the base accessor if no member was created.
+ *
* @param baseAccessor the base property accessor for which a member might be created
* @param definingType the type defining the parameters and arguments to be used in the
- * substitution
+ * substitution
* @return the property accessor element that will return the correctly substituted types
*/
static PropertyAccessorElement from(PropertyAccessorElement baseAccessor, InterfaceType definingType) {
@@ -5220,6 +5597,7 @@ class PropertyAccessorMember extends ExecutableMember implements PropertyAccesso
/**
* Initialize a newly created element to represent a property accessor of the given parameterized
* type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -5252,6 +5630,7 @@ abstract class VariableMember extends Member implements VariableElement {
/**
* Initialize a newly created element to represent an executable element of the given
* parameterized type.
+ *
* @param baseElement the element on which the parameterized element was created
* @param definingType the type in which the element is defined
*/
@@ -5271,6 +5650,7 @@ abstract class VariableMember extends Member implements VariableElement {
}
/**
* The unique instance of the class `BottomTypeImpl` implements the type `bottom`.
+ *
* @coverage dart.engine.type
*/
class BottomTypeImpl extends TypeImpl {
@@ -5282,6 +5662,7 @@ class BottomTypeImpl extends TypeImpl {
/**
* Return the unique instance of this class.
+ *
* @return the unique instance of this class
*/
static BottomTypeImpl get instance => _INSTANCE;
@@ -5299,6 +5680,7 @@ class BottomTypeImpl extends TypeImpl {
}
/**
* The unique instance of the class `DynamicTypeImpl` implements the type `dynamic`.
+ *
* @coverage dart.engine.type
*/
class DynamicTypeImpl extends TypeImpl {
@@ -5310,6 +5692,7 @@ class DynamicTypeImpl extends TypeImpl {
/**
* Return the unique instance of this class.
+ *
* @return the unique instance of this class
*/
static DynamicTypeImpl get instance => _INSTANCE;
@@ -5325,11 +5708,20 @@ class DynamicTypeImpl extends TypeImpl {
bool isMoreSpecificThan(Type2 type) => false;
bool isSubtypeOf(Type2 type) => identical(this, type);
bool isSupertypeOf(Type2 type) => true;
- DynamicTypeImpl substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes) => this;
+ Type2 substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes) {
+ int length = parameterTypes.length;
+ for (int i = 0; i < length; i++) {
+ if (parameterTypes[i] == this) {
+ return argumentTypes[i];
+ }
+ }
+ return this;
+ }
}
/**
* Instances of the class `FunctionTypeImpl` defines the behavior common to objects
* representing the type of a function, method, constructor, getter, or setter.
+ *
* @coverage dart.engine.type
*/
class FunctionTypeImpl extends TypeImpl implements FunctionType {
@@ -5338,10 +5730,11 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
* Return `true` if all of the name/type pairs in the first map are equal to the
* corresponding name/type pairs in the second map. The maps are expected to iterate over their
* entries in the same order in which those entries were added to the map.
+ *
* @param firstTypes the first map of name/type pairs being compared
* @param secondTypes the second map of name/type pairs being compared
* @return `true` if all of the name/type pairs in the first map are equal to the
- * corresponding name/type pairs in the second map
+ * corresponding name/type pairs in the second map
*/
static bool equals2(Map<String, Type2> firstTypes, Map<String, Type2> secondTypes) {
if (secondTypes.length != firstTypes.length) {
@@ -5363,6 +5756,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
* Return a map containing the results of using the given argument types and parameter types to
* perform a substitution on all of the values in the given map. The order of the entries will be
* preserved.
+ *
* @param types the types on which a substitution is to be performed
* @param argumentTypes the argument types for the substitution
* @param parameterTypes the parameter types for the substitution
@@ -5387,6 +5781,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* An array containing the types of the normal parameters of this type of function. The parameter
* types are in the same order as they appear in the declaration of the function.
+ *
* @return the types of the normal parameters of this type of function
*/
List<Type2> _normalParameterTypes = TypeImpl.EMPTY_ARRAY;
@@ -5406,6 +5801,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* 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.con1(ExecutableElement element) : super(element, element == null ? null : element.name) {
@@ -5417,6 +5813,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* 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(FunctionTypeAliasElement element) : super(element, element == null ? null : element.name) {
@@ -5585,23 +5982,31 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
if (tArgLength < sArgLength || sTypes.length < tTypes.length) {
return false;
}
- List<Type2> tAllTypes = new List<Type2>(sArgLength);
- for (int i = 0; i < tTypes.length; i++) {
- tAllTypes[i] = tTypes[i];
- }
- for (int i = tTypes.length, j = 0; i < sArgLength; i++, j++) {
- tAllTypes[i] = tOpTypes[j];
- }
- List<Type2> sAllTypes = new List<Type2>(sArgLength);
- for (int i = 0; i < sTypes.length; i++) {
- sAllTypes[i] = sTypes[i];
- }
- for (int i = sTypes.length, j = 0; i < sArgLength; i++, j++) {
- sAllTypes[i] = sOpTypes[j];
- }
- for (int i = 0; i < sAllTypes.length; i++) {
- if (!sAllTypes[i].isAssignableTo(tAllTypes[i])) {
- return false;
+ if (tOpTypes.length == 0 && sOpTypes.length == 0) {
+ for (int i = 0; i < sTypes.length; i++) {
+ if (!sTypes[i].isAssignableTo(tTypes[i])) {
+ return false;
+ }
+ }
+ } else {
+ List<Type2> tAllTypes = new List<Type2>(sArgLength);
+ for (int i = 0; i < tTypes.length; i++) {
+ tAllTypes[i] = tTypes[i];
+ }
+ for (int i = tTypes.length, j = 0; i < sArgLength; i++, j++) {
+ tAllTypes[i] = tOpTypes[j];
+ }
+ List<Type2> sAllTypes = new List<Type2>(sArgLength);
+ for (int i = 0; i < sTypes.length; i++) {
+ sAllTypes[i] = sTypes[i];
+ }
+ for (int i = sTypes.length, j = 0; i < sArgLength; i++, j++) {
+ sAllTypes[i] = sOpTypes[j];
+ }
+ for (int i = 0; i < sAllTypes.length; i++) {
+ if (!sAllTypes[i].isAssignableTo(tAllTypes[i])) {
+ return false;
+ }
}
}
}
@@ -5611,8 +6016,9 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* Set the mapping of the names of named parameters to the types of the named parameters of this
* type of function to the given mapping.
+ *
* @param namedParameterTypes the mapping of the names of named parameters to the types of the
- * named parameters of this type of function
+ * named parameters of this type of function
*/
void set namedParameterTypes(LinkedHashMap<String, Type2> namedParameterTypes2) {
this._namedParameterTypes = namedParameterTypes2;
@@ -5621,6 +6027,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* Set the types of the normal parameters of this type of function to the types in the given
* array.
+ *
* @param normalParameterTypes the types of the normal parameters of this type of function
*/
void set normalParameterTypes(List<Type2> normalParameterTypes2) {
@@ -5630,6 +6037,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* Set the types of the optional parameters of this type of function to the types in the given
* array.
+ *
* @param optionalParameterTypes the types of the optional parameters of this type of function
*/
void set optionalParameterTypes(List<Type2> optionalParameterTypes2) {
@@ -5638,6 +6046,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* Set the actual types of the type arguments to the given types.
+ *
* @param typeArguments the actual types of the type arguments
*/
void set typeArguments(List<Type2> typeArguments2) {
@@ -5731,6 +6140,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
/**
* Return the return type defined by this function's element.
+ *
* @return the return type defined by this function's element
*/
Type2 get baseReturnType {
@@ -5746,6 +6156,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
* Instances of the class `InterfaceTypeImpl` defines the behavior common to objects
* representing the type introduced by either a class or an interface, or a reference to such a
* type.
+ *
* @coverage dart.engine.type
*/
class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
@@ -5757,7 +6168,9 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* This method computes the longest inheritance path from some passed [Type] to Object.
- * @param type the [Type] to compute the longest inheritance path of from the passed[Type] to Object
+ *
+ * @param type the [Type] to compute the longest inheritance path of from the passed
+ * [Type] to Object
* @return the computed longest inheritance path to Object
* @see InterfaceType#getLeastUpperBound(Type)
*/
@@ -5765,6 +6178,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* Returns the set of all superinterfaces of the passed [Type].
+ *
* @param type the [Type] to compute the set of superinterfaces of
* @return the [Set] of superinterfaces of the passed [Type]
* @see #getLeastUpperBound(Type)
@@ -5773,8 +6187,11 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* This method computes the longest inheritance path from some passed [Type] to Object. This
- * method calls itself recursively, callers should use the public method[computeLongestInheritancePathToObject].
- * @param type the [Type] to compute the longest inheritance path of from the passed[Type] to Object
+ * method calls itself recursively, callers should use the public method
+ * [computeLongestInheritancePathToObject].
+ *
+ * @param type the [Type] to compute the longest inheritance path of from the passed
+ * [Type] to Object
* @param depth a field used recursively
* @param visitedClasses the classes that have already been visited
* @return the computed longest inheritance path to Object
@@ -5813,6 +6230,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* Returns the set of all superinterfaces of the passed [Type]. This is a recursive method,
* callers should call the public [computeSuperinterfaceSet].
+ *
* @param type the [Type] to compute the set of superinterfaces of
* @param set a [HashSet] used recursively by this method
* @return the [Set] of superinterfaces of the passed [Type]
@@ -5845,6 +6263,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
* where two non-equal types have equal elements, which only happens when the class is
* parameterized, the type that is added to the intersection is the base type with type arguments
* that are the least upper bound of the type arguments of the two types.
+ *
* @param first the first set of types to be intersected
* @param second the second set of types to be intersected
* @return the intersection of the given sets of types
@@ -5869,6 +6288,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
* same element and differ only in terms of the type arguments. The resulting type is composed by
* comparing the corresponding type arguments, keeping those that are the same, and using
* 'dynamic' for those that are different.
+ *
* @param firstType the first type
* @param secondType the second type
* @return the "least upper bound" of the given types
@@ -5904,6 +6324,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* Initialize a newly created type to be declared by the given element.
+ *
* @param element the element representing the declaration of the type
*/
InterfaceTypeImpl.con1(ClassElement element) : super(element, element.displayName) {
@@ -5915,6 +6336,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* Initialize a newly created type to have the given name. This constructor should only be used in
* cases where there is no declaration of the type.
+ *
* @param name the name of the type
*/
InterfaceTypeImpl.con2(String name) : super(null, name) {
@@ -6093,7 +6515,8 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
} else if (this == type2) {
return true;
}
- return isSubtypeOf2((type2 as InterfaceType), new Set<ClassElement>());
+ InterfaceTypeImpl thisType = substitute2(<Type2> [BottomTypeImpl.instance], <Type2> [DynamicTypeImpl.instance]);
+ return thisType.isSubtypeOf2((type2 as InterfaceType), new Set<ClassElement>());
}
ConstructorElement lookUpConstructor(String constructorName, LibraryElement library) {
ConstructorElement constructorElement;
@@ -6212,6 +6635,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* Set the actual types of the type arguments to those in the given array.
+ *
* @param typeArguments the actual types of the type arguments
*/
void set typeArguments(List<Type2> typeArguments2) {
@@ -6334,6 +6758,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
/**
* The abstract class `TypeImpl` implements the behavior common to objects representing the
* declared type of elements in the element model.
+ *
* @coverage dart.engine.type
*/
abstract class TypeImpl implements Type2 {
@@ -6341,6 +6766,7 @@ abstract class TypeImpl implements Type2 {
/**
* Return an array containing the results of using the given argument types and parameter types to
* perform a substitution on all of the given types.
+ *
* @param types the types on which a substitution is to be performed
* @param argumentTypes the argument types for the substitution
* @param parameterTypes the parameter types for the substitution
@@ -6376,6 +6802,7 @@ abstract class TypeImpl implements Type2 {
/**
* Initialize a newly created type to be declared by the given element and to have the given name.
+ *
* @param element the element representing the declaration of the type
* @param name the name of the type
*/
@@ -6402,6 +6829,7 @@ abstract class TypeImpl implements Type2 {
/**
* Append a textual representation of this type to the given builder.
+ *
* @param builder the builder to which the text is to be appended
*/
void appendTo(JavaStringBuilder builder) {
@@ -6415,6 +6843,7 @@ abstract class TypeImpl implements Type2 {
/**
* Instances of the class `TypeVariableTypeImpl` defines the behavior of objects representing
* the type introduced by a type variable.
+ *
* @coverage dart.engine.type
*/
class TypeVariableTypeImpl extends TypeImpl implements TypeVariableType {
@@ -6427,6 +6856,7 @@ class TypeVariableTypeImpl extends TypeImpl implements TypeVariableType {
/**
* Return an array containing the type variable types defined by the given array of type variable
* elements.
+ *
* @param typeVariables the type variable elements defining the type variable types to be returned
* @return the type variable types defined by the type variable elements
*/
@@ -6445,6 +6875,7 @@ class TypeVariableTypeImpl extends TypeImpl implements TypeVariableType {
/**
* Initialize a newly created type variable to be declared by the given element and to have the
* given name.
+ *
* @param element the element representing the declaration of the type variable
*/
TypeVariableTypeImpl(TypeVariableElement element) : super(element, element.name) {
@@ -6469,6 +6900,7 @@ class TypeVariableTypeImpl extends TypeImpl implements TypeVariableType {
}
/**
* The unique instance of the class `VoidTypeImpl` implements the type `void`.
+ *
* @coverage dart.engine.type
*/
class VoidTypeImpl extends TypeImpl implements VoidType {
@@ -6480,6 +6912,7 @@ class VoidTypeImpl extends TypeImpl implements VoidType {
/**
* Return the unique instance of this class.
+ *
* @return the unique instance of this class
*/
static VoidTypeImpl get instance => _INSTANCE;
@@ -6501,11 +6934,12 @@ class VoidTypeImpl extends TypeImpl implements VoidType {
* * The types of functions that only have required parameters. These have the general form
* <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>) &rarr; T</i>.
* * The types of functions with optional positional parameters. These have the general form
- * <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, \[T<sub>n+1</sub>, &hellip;, T<sub>n+k</sub>\]) &rarr;
+ * <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, [T<sub>n+1</sub>, &hellip;, T<sub>n+k</sub>]) &rarr;
* T</i>.
* * The types of functions with named parameters. These have the general form <i>(T<sub>1</sub>,
* &hellip;, T<sub>n</sub>, {T<sub>x1</sub> x1, &hellip;, T<sub>xk</sub> xk}) &rarr; T</i>.
* </ol>
+ *
* @coverage dart.engine.type
*/
abstract class FunctionType implements ParameterizedType {
@@ -6515,6 +6949,7 @@ abstract class FunctionType implements ParameterizedType {
* type of function. The entries in the map will be iterated in the same order as the order in
* which the named parameters were defined. If there were no named parameters declared then the
* map will be empty.
+ *
* @return a map from the name to the types of the named parameters of this type of function
*/
Map<String, Type2> get namedParameterTypes;
@@ -6522,6 +6957,7 @@ abstract class FunctionType implements ParameterizedType {
/**
* Return an array containing the types of the normal parameters of this type of function. The
* parameter types are in the same order as they appear in the declaration of the function.
+ *
* @return the types of the normal parameters of this type of function
*/
List<Type2> get normalParameterTypes;
@@ -6531,6 +6967,7 @@ abstract class FunctionType implements ParameterizedType {
* parameters of this type of function. The entries in the map will be iterated in the same order
* as the order in which the optional parameters were defined. If there were no optional
* parameters declared then the map will be empty.
+ *
* @return a map from the name to the types of the optional parameters of this type of function
*/
List<Type2> get optionalParameterTypes;
@@ -6538,12 +6975,14 @@ abstract class FunctionType implements ParameterizedType {
/**
* Return an array containing the parameters elements of this type of function. The parameter
* types are in the same order as they appear in the declaration of the function.
+ *
* @return the parameters elements of this type of function
*/
List<ParameterElement> get parameters;
/**
* Return the type of object returned by this type of function.
+ *
* @return the type of object returned by this type of function
*/
Type2 get returnType;
@@ -6563,9 +7002,9 @@ abstract class FunctionType implements ParameterizedType {
*
* * For all <i>i</i>, 1 <= <i>i</i> <= <i>n</i>, <i>T<sub>i</sub> &hArr; S<sub>i</sub></i>.
*
- * A function type <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, \[T<sub>n+1</sub>, &hellip;,
- * T<sub>n+k</sub>\]) &rarr; T</i> is a subtype of the function type <i>(S<sub>1</sub>, &hellip;,
- * S<sub>n</sub>, \[S<sub>n+1</sub>, &hellip;, S<sub>n+m</sub>\]) &rarr; S</i>, if all of the
+ * A function type <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, [T<sub>n+1</sub>, &hellip;,
+ * T<sub>n+k</sub>]) &rarr; T</i> is a subtype of the function type <i>(S<sub>1</sub>, &hellip;,
+ * S<sub>n</sub>, [S<sub>n+1</sub>, &hellip;, S<sub>n+m</sub>]) &rarr; S</i>, if all of the
* following conditions are met:
*
* * Either
@@ -6596,18 +7035,20 @@ abstract class FunctionType implements ParameterizedType {
*
* In addition, the following subtype rules apply:
*
- * <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, \[\]) &rarr; T <: (T<sub>1</sub>, &hellip;,
+ * <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, []) &rarr; T <: (T<sub>1</sub>, &hellip;,
* T<sub>n</sub>) &rarr; T.</i><br>
* <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>) &rarr; T <: (T<sub>1</sub>, &hellip;,
* T<sub>n</sub>, {}) &rarr; T.</i><br>
* <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, {}) &rarr; T <: (T<sub>1</sub>, &hellip;,
* T<sub>n</sub>) &rarr; T.</i><br>
* <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>) &rarr; T <: (T<sub>1</sub>, &hellip;,
- * T<sub>n</sub>, \[\]) &rarr; T.</i>
+ * T<sub>n</sub>, []) &rarr; T.</i>
*
* All functions implement the class `Function`. However not all function types are a
- * subtype of `Function`. If an interface type <i>I</i> includes a method named`call()`, and the type of `call()` is the function type <i>F</i>, then <i>I</i> is
+ * subtype of `Function`. If an interface type <i>I</i> includes a method named
+ * `call()`, and the type of `call()` is the function type <i>F</i>, then <i>I</i> is
* considered to be a subtype of <i>F</i>.
+ *
* @param type the type being compared with this type
* @return `true` if this type is a subtype of the given type
*/
@@ -6616,6 +7057,7 @@ abstract class FunctionType implements ParameterizedType {
/**
* Return the type resulting from substituting the given arguments for this type's parameters.
* This is fully equivalent to `substitute(argumentTypes, getTypeArguments())`.
+ *
* @param argumentTypes the actual type arguments being substituted for the type parameters
* @return the result of performing the substitution
*/
@@ -6625,12 +7067,14 @@ abstract class FunctionType implements ParameterizedType {
/**
* The interface `InterfaceType` defines the behavior common to objects representing the type
* introduced by either a class or an interface, or a reference to such a type.
+ *
* @coverage dart.engine.type
*/
abstract class InterfaceType implements ParameterizedType {
/**
* Return an array containing all of the accessors (getters and setters) declared in this type.
+ *
* @return the accessors declared in this type
*/
List<PropertyAccessorElement> get accessors;
@@ -6639,6 +7083,7 @@ abstract class InterfaceType implements ParameterizedType {
/**
* Return the element representing the getter with the given name that is declared in this class,
* or `null` if this class does not declare a getter with the given name.
+ *
* @param getterName the name of the getter to be returned
* @return the getter declared in this class with the given name
*/
@@ -6648,6 +7093,7 @@ abstract class InterfaceType implements ParameterizedType {
* Return an array containing all of the interfaces that are implemented by this interface. Note
* that this is <b>not</b>, in general, equivalent to getting the interfaces from this type's
* element because the types returned by this method will have had their type parameters replaced.
+ *
* @return the interfaces that are implemented by this type
*/
List<InterfaceType> get interfaces;
@@ -6664,6 +7110,7 @@ abstract class InterfaceType implements ParameterizedType {
* <i>Object</i>. Let <i>q</i> be the largest number such that <i>S<sub>q</sub></i> has
* cardinality one. The least upper bound of <i>I</i> and <i>J</i> is the sole element of
* <i>S<sub>q</sub></i>.
+ *
* @param type the other type used to compute the least upper bound
* @return the least upper bound of this type and the given type
*/
@@ -6672,6 +7119,7 @@ abstract class InterfaceType implements ParameterizedType {
/**
* Return the element representing the method with the given name that is declared in this class,
* or `null` if this class does not declare a method with the given name.
+ *
* @param methodName the name of the method to be returned
* @return the method declared in this class with the given name
*/
@@ -6679,6 +7127,7 @@ abstract class InterfaceType implements ParameterizedType {
/**
* Return an array containing all of the methods declared in this type.
+ *
* @return the methods declared in this type
*/
List<MethodElement> get methods;
@@ -6688,6 +7137,7 @@ abstract class InterfaceType implements ParameterizedType {
* order to derive the superclass of this class. Note that this is <b>not</b>, in general,
* equivalent to getting the mixins from this type's element because the types returned by this
* method will have had their type parameters replaced.
+ *
* @return the mixins that are applied to derive the superclass of this class
*/
List<InterfaceType> get mixins;
@@ -6695,6 +7145,7 @@ abstract class InterfaceType implements ParameterizedType {
/**
* Return the element representing the setter with the given name that is declared in this class,
* or `null` if this class does not declare a setter with the given name.
+ *
* @param setterName the name of the setter to be returned
* @return the setter declared in this class with the given name
*/
@@ -6705,6 +7156,7 @@ abstract class InterfaceType implements ParameterizedType {
* class 'Object'. Note that this is <b>not</b>, in general, equivalent to getting the superclass
* from this type's element because the type returned by this method will have had it's type
* parameters replaced.
+ *
* @return the superclass of this type
*/
InterfaceType get superclass;
@@ -6720,6 +7172,7 @@ abstract class InterfaceType implements ParameterizedType {
* * <i>I</i> is listed in the with clause of <i>J</i>.
* * <i>J</i> is a mixin application of the mixin of <i>I</i>.
*
+ *
* @param type the type being compared with this type
* @return `true` if this type is a direct supertype of the given type
*/
@@ -6740,6 +7193,7 @@ abstract class InterfaceType implements ParameterizedType {
* <i>T<sub>i</sub> &laquo; S<sub>i</sub></i>, <i>1 <= i <= n</i>.
* * Transitivity: <i>T &laquo; U</i> and <i>U &laquo; S</i>.
*
+ *
* @param type the type being compared with this type
* @return `true` if this type is more specific than the given type
*/
@@ -6748,9 +7202,10 @@ abstract class InterfaceType implements ParameterizedType {
/**
* Return `true` if this type is a subtype of the given type. An interface type <i>T</i> is
* a subtype of an interface type <i>S</i>, written <i>T</i> <: <i>S</i>, iff
- * <i>\[bottom/dynamic\]T</i> &laquo; <i>S</i> (<i>T</i> is more specific than <i>S</i>). If an
+ * <i>[bottom/dynamic]T</i> &laquo; <i>S</i> (<i>T</i> is more specific than <i>S</i>). If an
* interface type <i>I</i> includes a method named <i>call()</i>, and the type of <i>call()</i> is
* the function type <i>F</i>, then <i>I</i> is considered to be a subtype of <i>F</i>.
+ *
* @param type the type being compared with this type
* @return `true` if this type is a subtype of the given type
*/
@@ -6763,10 +7218,11 @@ abstract class InterfaceType implements ParameterizedType {
* 12.11.1: <blockquote>If <i>e</i> is of the form <b>new</b> <i>T.id()</i> then let <i>q<i> be
* the constructor <i>T.id</i>, otherwise let <i>q<i> be the constructor <i>T<i>. Otherwise, if
* <i>q</i> is not defined or not accessible, a NoSuchMethodException is thrown. </blockquote>
+ *
* @param constructorName the name of the constructor being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given constructor in this class with respect to the given
- * library
+ * library
*/
ConstructorElement lookUpConstructor(String constructorName, LibraryElement library);
@@ -6784,10 +7240,11 @@ abstract class InterfaceType implements ParameterizedType {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param getterName the name of the getter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given getter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library);
@@ -6805,10 +7262,11 @@ abstract class InterfaceType implements ParameterizedType {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param getterName the name of the getter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given getter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpGetterInSuperclass(String getterName, LibraryElement library);
@@ -6825,10 +7283,11 @@ abstract class InterfaceType implements ParameterizedType {
* to <i>L</i>. Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param methodName the name of the method being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given method in this class with respect to the given
- * library
+ * library
*/
MethodElement lookUpMethod(String methodName, LibraryElement library);
@@ -6845,10 +7304,11 @@ abstract class InterfaceType implements ParameterizedType {
* to <i>L</i>. Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param methodName the name of the method being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given method in this class with respect to the given
- * library
+ * library
*/
MethodElement lookUpMethodInSuperclass(String methodName, LibraryElement library);
@@ -6866,10 +7326,11 @@ abstract class InterfaceType implements ParameterizedType {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param setterName the name of the setter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given setter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library);
@@ -6887,16 +7348,18 @@ abstract class InterfaceType implements ParameterizedType {
* Otherwise, we say that the lookup has failed.
*
* </blockquote>
+ *
* @param setterName the name of the setter being looked up
* @param library the library with respect to which the lookup is being performed
* @return the result of looking up the given setter in this class with respect to the given
- * library
+ * library
*/
PropertyAccessorElement lookUpSetterInSuperclass(String setterName, LibraryElement library);
/**
* Return the type resulting from substituting the given arguments for this type's parameters.
* This is fully equivalent to `substitute(argumentTypes, getTypeArguments())`.
+ *
* @param argumentTypes the actual type arguments being substituted for the type parameters
* @return the result of performing the substitution
*/
@@ -6906,6 +7369,7 @@ abstract class InterfaceType implements ParameterizedType {
/**
* The interface `ParameterizedType` defines the behavior common to objects representing the
* type with type parameters, such as class and function type alias.
+ *
* @coverage dart.engine.type
*/
abstract class ParameterizedType implements Type2 {
@@ -6916,12 +7380,14 @@ abstract class ParameterizedType implements Type2 {
* arguments to be erroneously declared). If the element has type parameters and the actual type
* does not explicitly include argument values, then the type "dynamic" will be automatically
* provided.
+ *
* @return the actual types of the type arguments
*/
List<Type2> get typeArguments;
/**
* Return an array containing all of the type variables declared for this type.
+ *
* @return the type variables declared for this type
*/
List<TypeVariableElement> get typeVariables;
@@ -6929,6 +7395,7 @@ abstract class ParameterizedType implements Type2 {
/**
* The interface `Type` defines the behavior of objects representing the declared type of
* elements in the element model.
+ *
* @coverage dart.engine.type
*/
abstract class Type2 {
@@ -6936,6 +7403,7 @@ abstract class Type2 {
/**
* Return the name of this type as it should appear when presented to users in contexts such as
* error messages.
+ *
* @return the name of this type
*/
String get displayName;
@@ -6944,6 +7412,7 @@ abstract class Type2 {
* Return the element representing the declaration of this type, or `null` if the type has
* not, or cannot, be associated with an element. The former case will occur if the element model
* is not yet complete; the latter case will occur if this object represents an undefined type.
+ *
* @return the element representing the declaration of this type
*/
Element get element;
@@ -6951,6 +7420,7 @@ abstract class Type2 {
/**
* Return the least upper bound of this type and the given type, or `null` if there is no
* least upper bound.
+ *
* @param type the other type used to compute the least upper bound
* @return the least upper bound of this type and the given type
*/
@@ -6959,6 +7429,7 @@ abstract class Type2 {
/**
* Return the name of this type, or `null` if the type does not have a name, such as when
* the type represents the type of an unnamed function.
+ *
* @return the name of this type
*/
String get name;
@@ -6967,6 +7438,7 @@ abstract class Type2 {
* Return `true` if this type is assignable to the given type. A type <i>T</i> may be
* assigned to a type <i>S</i>, written <i>T</i> &hArr; <i>S</i>, iff either <i>T</i> <: <i>S</i>
* or <i>S</i> <: <i>T</i>.
+ *
* @param type the type being compared with this type
* @return `true` if this type is assignable to the given type
*/
@@ -6975,19 +7447,22 @@ abstract class Type2 {
/**
* Return `true` if this type represents the type 'Function' defined in the dart:core
* library.
+ *
* @return `true` if this type represents the type 'Function' defined in the dart:core
- * library
+ * library
*/
bool get isDartCoreFunction;
/**
* Return `true` if this type represents the type 'dynamic'.
+ *
* @return `true` if this type represents the type 'dynamic'
*/
bool get isDynamic;
/**
* Return `true` if this type is more specific than the given type.
+ *
* @param type the type being compared with this type
* @return `true` if this type is more specific than the given type
*/
@@ -6995,12 +7470,14 @@ abstract class Type2 {
/**
* Return `true` if this type represents the type 'Object'.
+ *
* @return `true` if this type represents the type 'Object'
*/
bool get isObject;
/**
* Return `true` if this type is a subtype of the given type.
+ *
* @param type the type being compared with this type
* @return `true` if this type is a subtype of the given type
*/
@@ -7009,6 +7486,7 @@ abstract class Type2 {
/**
* Return `true` if this type is a supertype of the given type. A type <i>S</i> is a
* supertype of <i>T</i>, written <i>S</i> :> <i>T</i>, iff <i>T</i> is a subtype of <i>S</i>.
+ *
* @param type the type being compared with this type
* @return `true` if this type is a supertype of the given type
*/
@@ -7016,6 +7494,7 @@ abstract class Type2 {
/**
* Return `true` if this type represents the type 'void'.
+ *
* @return `true` if this type represents the type 'void'
*/
bool get isVoid;
@@ -7023,11 +7502,12 @@ abstract class Type2 {
/**
* Return the type resulting from substituting the given arguments for the given parameters in
* this type. The specification defines this operation in section 2: <blockquote> The notation
- * <i>\[x<sub>1</sub>, ..., x<sub>n</sub>/y<sub>1</sub>, ..., y<sub>n</sub>\]E</i> denotes a copy of
+ * <i>[x<sub>1</sub>, ..., x<sub>n</sub>/y<sub>1</sub>, ..., y<sub>n</sub>]E</i> denotes a copy of
* <i>E</i> in which all occurrences of <i>y<sub>i</sub>, 1 <= i <= n</i> have been replaced with
* <i>x<sub>i</sub></i>.</blockquote> Note that, contrary to the specification, this method will
* not create a copy of this type if no substitutions were required, but will return this type
* directly.
+ *
* @param argumentTypes the actual type arguments being substituted for the parameters
* @param parameterTypes the parameters to be replaced
* @return the result of performing the substitution
@@ -7037,13 +7517,16 @@ abstract class Type2 {
/**
* The interface `TypeVariableType` defines the behavior of objects representing the type
* introduced by a type variable.
+ *
* @coverage dart.engine.type
*/
abstract class TypeVariableType implements Type2 {
TypeVariableElement get element;
}
/**
- * The interface `VoidType` defines the behavior of the unique object representing the type`void`.
+ * The interface `VoidType` defines the behavior of the unique object representing the type
+ * `void`.
+ *
* @coverage dart.engine.type
*/
abstract class VoidType implements Type2 {
« no previous file with comments | « pkg/analyzer_experimental/lib/src/generated/constant.dart ('k') | pkg/analyzer_experimental/lib/src/generated/engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698