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

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

Issue 192363003: Translate Java's @Override into Dart's @override. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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
« no previous file with comments | « pkg/analyzer/lib/src/generated/constant.dart ('k') | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/element.dart
diff --git a/pkg/analyzer/lib/src/generated/element.dart b/pkg/analyzer/lib/src/generated/element.dart
index 9e7d1163b0bf78bab06d2ec7bdf3581f6498f32f..def17b3596d031faeec43c59127cc7b4e7ce1223 100644
--- a/pkg/analyzer/lib/src/generated/element.dart
+++ b/pkg/analyzer/lib/src/generated/element.dart
@@ -129,6 +129,7 @@ abstract class ClassElement implements Element {
*
* @return the resolved [ClassDeclaration], not `null`.
*/
+ @override
ClassDeclaration get node;
/**
@@ -315,6 +316,7 @@ abstract class ClassMemberElement implements Element {
*
* @return the type in which this member is defined
*/
+ @override
ClassElement get enclosingElement;
/**
@@ -353,6 +355,7 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
*
* @return the library in which this compilation unit is defined
*/
+ @override
LibraryElement get enclosingElement;
/**
@@ -377,6 +380,7 @@ abstract class CompilationUnitElement implements Element, UriReferencedElement {
*
* @return the resolved [CompilationUnit], not `null`.
*/
+ @override
CompilationUnit get node;
/**
@@ -417,6 +421,7 @@ abstract class ConstructorElement implements ClassMemberElement, ExecutableEleme
*
* @return the resolved [ConstructorDeclaration], not `null`.
*/
+ @override
ConstructorDeclaration get node;
/**
@@ -1078,6 +1083,7 @@ abstract class FunctionElement implements ExecutableElement, LocalElement {
*
* @return the resolved [FunctionDeclaration], not `null`.
*/
+ @override
FunctionDeclaration get node;
}
@@ -1091,6 +1097,7 @@ abstract class FunctionTypeAliasElement implements Element {
*
* @return the compilation unit in which this type alias is defined
*/
+ @override
CompilationUnitElement get enclosingElement;
/**
@@ -1102,6 +1109,7 @@ abstract class FunctionTypeAliasElement implements Element {
*
* @return the resolved [FunctionTypeAlias], not `null`.
*/
+ @override
FunctionTypeAlias get node;
/**
@@ -1238,6 +1246,7 @@ abstract class LabelElement implements Element {
*
* @return the executable element in which this label is defined
*/
+ @override
ExecutableElement get enclosingElement;
}
@@ -1426,6 +1435,7 @@ abstract class MethodElement implements ClassMemberElement, ExecutableElement {
*
* @return the resolved [MethodDeclaration], not `null`.
*/
+ @override
MethodDeclaration get node;
/**
@@ -1533,6 +1543,7 @@ abstract class PrefixElement implements Element {
*
* @return the library into which other libraries are imported using this prefix
*/
+ @override
LibraryElement get enclosingElement;
/**
@@ -1763,6 +1774,7 @@ abstract class VariableElement implements Element {
*
* @return the resolved [VariableDeclaration], not `null`.
*/
+ @override
VariableDeclaration get node;
/**
@@ -2003,6 +2015,7 @@ class AngularPropertyKind extends Enum<AngularPropertyKind> {
class AngularPropertyKind_TWO_WAY extends AngularPropertyKind {
AngularPropertyKind_TWO_WAY(String name, int ordinal) : super(name, ordinal);
+ @override
bool callsGetter() => true;
}
@@ -2113,30 +2126,41 @@ abstract class AngularViewElement implements AngularHasTemplateElement {
* to not be visited.
*/
class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
+ @override
R visitAngularComponentElement(AngularComponentElement element) => visitAngularHasSelectorElement(element);
+ @override
R visitAngularControllerElement(AngularControllerElement element) => visitAngularHasSelectorElement(element);
+ @override
R visitAngularDirectiveElement(AngularDirectiveElement element) => visitAngularHasSelectorElement(element);
R visitAngularElement(AngularElement element) => visitToolkitObjectElement(element);
+ @override
R visitAngularFilterElement(AngularFilterElement element) => visitAngularElement(element);
R visitAngularHasSelectorElement(AngularHasSelectorElement element) => visitAngularElement(element);
+ @override
R visitAngularPropertyElement(AngularPropertyElement element) => visitAngularElement(element);
+ @override
R visitAngularScopePropertyElement(AngularScopePropertyElement element) => visitAngularElement(element);
+ @override
R visitAngularSelectorElement(AngularSelectorElement element) => visitAngularElement(element);
+ @override
R visitAngularViewElement(AngularViewElement element) => visitAngularElement(element);
+ @override
R visitClassElement(ClassElement element) => visitElement(element);
+ @override
R visitCompilationUnitElement(CompilationUnitElement element) => visitElement(element);
+ @override
R visitConstructorElement(ConstructorElement element) => visitExecutableElement(element);
R visitElement(Element element) {
@@ -2144,30 +2168,41 @@ class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
return null;
}
+ @override
R visitEmbeddedHtmlScriptElement(EmbeddedHtmlScriptElement element) => visitHtmlScriptElement(element);
R visitExecutableElement(ExecutableElement element) => visitElement(element);
+ @override
R visitExportElement(ExportElement element) => visitElement(element);
+ @override
R visitExternalHtmlScriptElement(ExternalHtmlScriptElement element) => visitHtmlScriptElement(element);
+ @override
R visitFieldElement(FieldElement element) => visitPropertyInducingElement(element);
+ @override
R visitFieldFormalParameterElement(FieldFormalParameterElement element) => visitParameterElement(element);
+ @override
R visitFunctionElement(FunctionElement element) => visitLocalElement(element);
+ @override
R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => visitElement(element);
+ @override
R visitHtmlElement(HtmlElement element) => visitElement(element);
R visitHtmlScriptElement(HtmlScriptElement element) => visitElement(element);
+ @override
R visitImportElement(ImportElement element) => visitElement(element);
+ @override
R visitLabelElement(LabelElement element) => visitElement(element);
+ @override
R visitLibraryElement(LibraryElement element) => visitElement(element);
R visitLocalElement(LocalElement element) {
@@ -2181,24 +2216,32 @@ class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
return null;
}
+ @override
R visitLocalVariableElement(LocalVariableElement element) => visitLocalElement(element);
+ @override
R visitMethodElement(MethodElement element) => visitExecutableElement(element);
+ @override
R visitMultiplyDefinedElement(MultiplyDefinedElement element) => visitElement(element);
+ @override
R visitParameterElement(ParameterElement element) => visitLocalElement(element);
+ @override
R visitPrefixElement(PrefixElement element) => visitElement(element);
+ @override
R visitPropertyAccessorElement(PropertyAccessorElement element) => visitExecutableElement(element);
R visitPropertyInducingElement(PropertyInducingElement element) => visitVariableElement(element);
R visitToolkitObjectElement(ToolkitObjectElement element) => visitElement(element);
+ @override
R visitTopLevelVariableElement(TopLevelVariableElement element) => visitPropertyInducingElement(element);
+ @override
R visitTypeParameterElement(TypeParameterElement element) => visitElement(element);
R visitVariableElement(VariableElement element) => visitElement(element);
@@ -2215,151 +2258,181 @@ class GeneralizingElementVisitor<R> implements ElementVisitor<R> {
* children of the visited element to not be visited.
*/
class RecursiveElementVisitor<R> implements ElementVisitor<R> {
+ @override
R visitAngularComponentElement(AngularComponentElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularControllerElement(AngularControllerElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularDirectiveElement(AngularDirectiveElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularFilterElement(AngularFilterElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularPropertyElement(AngularPropertyElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularScopePropertyElement(AngularScopePropertyElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularSelectorElement(AngularSelectorElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitAngularViewElement(AngularViewElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitClassElement(ClassElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitCompilationUnitElement(CompilationUnitElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitConstructorElement(ConstructorElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitEmbeddedHtmlScriptElement(EmbeddedHtmlScriptElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitExportElement(ExportElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitExternalHtmlScriptElement(ExternalHtmlScriptElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitFieldElement(FieldElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitFieldFormalParameterElement(FieldFormalParameterElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitFunctionElement(FunctionElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitHtmlElement(HtmlElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitImportElement(ImportElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitLabelElement(LabelElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitLibraryElement(LibraryElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitLocalVariableElement(LocalVariableElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitMethodElement(MethodElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitMultiplyDefinedElement(MultiplyDefinedElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitParameterElement(ParameterElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitPrefixElement(PrefixElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitPropertyAccessorElement(PropertyAccessorElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitTopLevelVariableElement(TopLevelVariableElement element) {
element.visitChildren(this);
return null;
}
+ @override
R visitTypeParameterElement(TypeParameterElement element) {
element.visitChildren(this);
return null;
@@ -2373,64 +2446,94 @@ class RecursiveElementVisitor<R> implements ElementVisitor<R> {
* whole structure) and that only need to visit a small number of element types.
*/
class SimpleElementVisitor<R> implements ElementVisitor<R> {
+ @override
R visitAngularComponentElement(AngularComponentElement element) => null;
+ @override
R visitAngularControllerElement(AngularControllerElement element) => null;
+ @override
R visitAngularDirectiveElement(AngularDirectiveElement element) => null;
+ @override
R visitAngularFilterElement(AngularFilterElement element) => null;
+ @override
R visitAngularPropertyElement(AngularPropertyElement element) => null;
+ @override
R visitAngularScopePropertyElement(AngularScopePropertyElement element) => null;
+ @override
R visitAngularSelectorElement(AngularSelectorElement element) => null;
+ @override
R visitAngularViewElement(AngularViewElement element) => null;
+ @override
R visitClassElement(ClassElement element) => null;
+ @override
R visitCompilationUnitElement(CompilationUnitElement element) => null;
+ @override
R visitConstructorElement(ConstructorElement element) => null;
+ @override
R visitEmbeddedHtmlScriptElement(EmbeddedHtmlScriptElement element) => null;
+ @override
R visitExportElement(ExportElement element) => null;
+ @override
R visitExternalHtmlScriptElement(ExternalHtmlScriptElement element) => null;
+ @override
R visitFieldElement(FieldElement element) => null;
+ @override
R visitFieldFormalParameterElement(FieldFormalParameterElement element) => null;
+ @override
R visitFunctionElement(FunctionElement element) => null;
+ @override
R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null;
+ @override
R visitHtmlElement(HtmlElement element) => null;
+ @override
R visitImportElement(ImportElement element) => null;
+ @override
R visitLabelElement(LabelElement element) => null;
+ @override
R visitLibraryElement(LibraryElement element) => null;
+ @override
R visitLocalVariableElement(LocalVariableElement element) => null;
+ @override
R visitMethodElement(MethodElement element) => null;
+ @override
R visitMultiplyDefinedElement(MultiplyDefinedElement element) => null;
+ @override
R visitParameterElement(ParameterElement element) => null;
+ @override
R visitPrefixElement(PrefixElement element) => null;
+ @override
R visitPropertyAccessorElement(PropertyAccessorElement element) => null;
+ @override
R visitTopLevelVariableElement(TopLevelVariableElement element) => null;
+ @override
R visitTypeParameterElement(TypeParameterElement element) => null;
}
@@ -2530,16 +2633,20 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
*/
ClassElementImpl(Identifier name) : super.forNode(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitClassElement(this);
+ @override
List<PropertyAccessorElement> get accessors => _accessors;
+ @override
List<InterfaceType> get allSupertypes {
List<InterfaceType> list = new List<InterfaceType>();
_collectAllSupertypes(list);
return new List.from(list);
}
+ @override
ElementImpl getChild(String identifier) {
//
// The casts in this method are safe because the set methods would have thrown a CCE if any of
@@ -2573,8 +2680,10 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
List<ConstructorElement> get constructors => _constructors;
+ @override
FieldElement getField(String name) {
for (FieldElement fieldElement in _fields) {
if (name == fieldElement.name) {
@@ -2584,8 +2693,10 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
List<FieldElement> get fields => _fields;
+ @override
PropertyAccessorElement getGetter(String getterName) {
for (PropertyAccessorElement accessor in _accessors) {
if (accessor.isGetter && accessor.name == getterName) {
@@ -2595,8 +2706,10 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
ElementKind get kind => ElementKind.CLASS;
+ @override
MethodElement getMethod(String methodName) {
for (MethodElement method in _methods) {
if (method.name == methodName) {
@@ -2606,8 +2719,10 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
List<MethodElement> get methods => _methods;
+ @override
ConstructorElement getNamedConstructor(String name) {
for (ConstructorElement element in constructors) {
String elementName = element.name;
@@ -2618,8 +2733,10 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
ClassDeclaration get node => getNodeMatching((node) => node is ClassDeclaration);
+ @override
PropertyAccessorElement getSetter(String setterName) {
// TODO (jwren) revisit- should we append '=' here or require clients to include it?
// Do we need the check for isSetter below?
@@ -2634,10 +2751,13 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
List<ToolkitObjectElement> get toolkitObjects => _toolkitObjects;
+ @override
List<TypeParameterElement> get typeParameters => _typeParameters;
+ @override
ConstructorElement get unnamedConstructor {
for (ConstructorElement element in constructors) {
String name = element.displayName;
@@ -2648,6 +2768,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
bool get hasNonFinalField {
List<ClassElement> classesToVisit = new List<ClassElement>();
Set<ClassElement> visitedClasses = new Set<ClassElement>();
@@ -2680,12 +2801,16 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return false;
}
+ @override
bool get hasReferenceToSuper => hasModifier(Modifier.REFERENCES_SUPER);
+ @override
bool get isAbstract => hasModifier(Modifier.ABSTRACT);
+ @override
bool get isOrInheritsProxy => _safeIsOrInheritsProxy(this, new Set<ClassElement>());
+ @override
bool get isProxy {
for (ElementAnnotation annotation in metadata) {
if (annotation.isProxy) {
@@ -2695,10 +2820,13 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return false;
}
+ @override
bool get isTypedef => hasModifier(Modifier.TYPEDEF);
+ @override
bool get isValidMixin => hasModifier(Modifier.MIXIN);
+ @override
PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library) {
Set<ClassElement> visitedClasses = new Set<ClassElement>();
ClassElement currentElement = this;
@@ -2726,6 +2854,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
MethodElement lookUpMethod(String methodName, LibraryElement library) {
Set<ClassElement> visitedClasses = new Set<ClassElement>();
ClassElement currentElement = this;
@@ -2753,6 +2882,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
return null;
}
+ @override
PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library) {
Set<ClassElement> visitedClasses = new Set<ClassElement>();
ClassElement currentElement = this;
@@ -2888,6 +3018,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
setModifier(Modifier.MIXIN, isValidMixin);
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_accessors, visitor);
@@ -2898,6 +3029,7 @@ class ClassElementImpl extends ElementImpl implements ClassElement {
safelyVisitChildren(_typeParameters, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
String name = displayName;
if (name == null) {
@@ -3037,14 +3169,19 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
*/
CompilationUnitElementImpl(String name) : super(name, -1);
+ @override
accept(ElementVisitor visitor) => visitor.visitCompilationUnitElement(this);
+ @override
bool operator ==(Object object) => object != null && runtimeType == object.runtimeType && source == (object as CompilationUnitElementImpl).source;
+ @override
List<PropertyAccessorElement> get accessors => _accessors;
+ @override
List<AngularViewElement> get angularViews => _angularViews;
+ @override
ElementImpl getChild(String identifier) {
//
// The casts in this method are safe because the set methods would have thrown a CCE if any of
@@ -3078,18 +3215,25 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
return null;
}
+ @override
LibraryElement get enclosingElement => super.enclosingElement as LibraryElement;
+ @override
List<FunctionElement> get functions => _functions;
+ @override
List<FunctionTypeAliasElement> get functionTypeAliases => _typeAliases;
+ @override
ElementKind get kind => ElementKind.COMPILATION_UNIT;
+ @override
CompilationUnit get node => unit;
+ @override
List<TopLevelVariableElement> get topLevelVariables => _variables;
+ @override
ClassElement getType(String className) {
for (ClassElement type in _types) {
if (type.name == className) {
@@ -3099,8 +3243,10 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
return null;
}
+ @override
List<ClassElement> get types => _types;
+ @override
int get hashCode => source.hashCode;
/**
@@ -3176,6 +3322,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
this._types = types;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_accessors, visitor);
@@ -3186,6 +3333,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
safelyVisitChildren(_angularViews, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
if (source == null) {
builder.append("{compilation unit}");
@@ -3194,6 +3342,7 @@ class CompilationUnitElementImpl extends ElementImpl implements CompilationUnitE
}
}
+ @override
String get identifier => source.encoding;
/**
@@ -3238,8 +3387,10 @@ class ConstFieldElementImpl extends FieldElementImpl {
*/
ConstFieldElementImpl(Identifier name) : super.con1(name);
+ @override
EvaluationResultImpl get evaluationResult => _result;
+ @override
void set evaluationResult(EvaluationResultImpl result) {
this._result = result;
}
@@ -3262,8 +3413,10 @@ class ConstLocalVariableElementImpl extends LocalVariableElementImpl {
*/
ConstLocalVariableElementImpl(Identifier name) : super(name);
+ @override
EvaluationResultImpl get evaluationResult => _result;
+ @override
void set evaluationResult(EvaluationResultImpl result) {
this._result = result;
}
@@ -3286,8 +3439,10 @@ class ConstTopLevelVariableElementImpl extends TopLevelVariableElementImpl {
*/
ConstTopLevelVariableElementImpl(Identifier name) : super.con1(name);
+ @override
EvaluationResultImpl get evaluationResult => _result;
+ @override
void set evaluationResult(EvaluationResultImpl result) {
this._result = result;
}
@@ -3323,16 +3478,22 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
*/
ConstructorElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitConstructorElement(this);
+ @override
ClassElement get enclosingElement => super.enclosingElement as ClassElement;
+ @override
ElementKind get kind => ElementKind.CONSTRUCTOR;
+ @override
ConstructorDeclaration get node => getNodeMatching((node) => node is ConstructorDeclaration);
+ @override
bool get isConst => hasModifier(Modifier.CONST);
+ @override
bool get isDefaultConstructor {
// unnamed
String name = this.name;
@@ -3349,8 +3510,10 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
return true;
}
+ @override
bool get isFactory => hasModifier(Modifier.FACTORY);
+ @override
bool get isStatic => false;
/**
@@ -3371,6 +3534,7 @@ class ConstructorElementImpl extends ExecutableElementImpl implements Constructo
setModifier(Modifier.FACTORY, isFactory);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(enclosingElement.displayName);
String name = displayName;
@@ -3399,8 +3563,10 @@ class DefaultFieldFormalParameterElementImpl extends FieldFormalParameterElement
*/
DefaultFieldFormalParameterElementImpl(Identifier name) : super(name);
+ @override
EvaluationResultImpl get evaluationResult => _result;
+ @override
void set evaluationResult(EvaluationResultImpl result) {
this._result = result;
}
@@ -3423,8 +3589,10 @@ class DefaultParameterElementImpl extends ParameterElementImpl {
*/
DefaultParameterElementImpl(Identifier name) : super.con1(name);
+ @override
EvaluationResultImpl get evaluationResult => _result;
+ @override
void set evaluationResult(EvaluationResultImpl result) {
this._result = result;
}
@@ -3456,8 +3624,10 @@ class DynamicElementImpl extends ElementImpl {
setModifier(Modifier.SYNTHETIC, true);
}
+ @override
accept(ElementVisitor visitor) => null;
+ @override
ElementKind get kind => ElementKind.DYNAMIC;
}
@@ -3504,6 +3674,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
*/
ElementAnnotationImpl(this.element);
+ @override
bool get isDeprecated {
if (element != null) {
LibraryElement library = element.library;
@@ -3521,6 +3692,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
return false;
}
+ @override
bool get isOverride {
if (element != null) {
LibraryElement library = element.library;
@@ -3533,6 +3705,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
return false;
}
+ @override
bool get isProxy {
if (element != null) {
LibraryElement library = element.library;
@@ -3545,6 +3718,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
return false;
}
+ @override
String toString() => "@${element.toString()}";
}
@@ -3603,6 +3777,7 @@ abstract class ElementImpl implements Element {
this._name = StringUtilities.intern(name);
}
+ @override
String computeDocumentationComment() {
AnalysisContext context = this.context;
if (context == null) {
@@ -3611,6 +3786,7 @@ abstract class ElementImpl implements Element {
return context.computeDocumentationComment(this);
}
+ @override
bool operator ==(Object object) {
if (identical(this, object)) {
return true;
@@ -3621,6 +3797,7 @@ abstract class ElementImpl implements Element {
return object.runtimeType == runtimeType && (object as Element).location == location;
}
+ @override
Element getAncestor(Predicate<Element> predicate) {
Element ancestor = _enclosingElement;
while (ancestor != null && !predicate(ancestor)) {
@@ -3638,6 +3815,7 @@ abstract class ElementImpl implements Element {
*/
ElementImpl getChild(String identifier) => null;
+ @override
AnalysisContext get context {
if (_enclosingElement == null) {
return null;
@@ -3645,18 +3823,25 @@ abstract class ElementImpl implements Element {
return _enclosingElement.context;
}
+ @override
String get displayName => _name;
+ @override
Element get enclosingElement => _enclosingElement;
+ @override
LibraryElement get library => getAncestor((element) => element is LibraryElement);
+ @override
ElementLocation get location => new ElementLocationImpl.con1(this);
+ @override
String get name => _name;
+ @override
AstNode get node => getNodeMatching((node) => node is AstNode);
+ @override
Source get source {
if (_enclosingElement == null) {
return null;
@@ -3664,8 +3849,10 @@ abstract class ElementImpl implements Element {
return _enclosingElement.source;
}
+ @override
CompilationUnit get unit => context.resolveCompilationUnit(source, library);
+ @override
int get hashCode {
// TODO: We might want to re-visit this optimization in the future.
// We cache the hash code value as this is a very frequently called method.
@@ -3675,6 +3862,7 @@ abstract class ElementImpl implements Element {
return _cachedHashCode;
}
+ @override
bool isAccessibleIn(LibraryElement library) {
if (Identifier.isPrivateName(_name)) {
return library == this.library;
@@ -3682,6 +3870,7 @@ abstract class ElementImpl implements Element {
return true;
}
+ @override
bool get isDeprecated {
for (ElementAnnotation annotation in metadata) {
if (annotation.isDeprecated) {
@@ -3691,6 +3880,7 @@ abstract class ElementImpl implements Element {
return false;
}
+ @override
bool get isOverride {
for (ElementAnnotation annotation in metadata) {
if (annotation.isOverride) {
@@ -3700,6 +3890,7 @@ abstract class ElementImpl implements Element {
return false;
}
+ @override
bool get isPrivate {
String name = displayName;
if (name == null) {
@@ -3708,8 +3899,10 @@ abstract class ElementImpl implements Element {
return Identifier.isPrivateName(name);
}
+ @override
bool get isPublic => !isPrivate;
+ @override
bool get isSynthetic => hasModifier(Modifier.SYNTHETIC);
/**
@@ -3721,12 +3914,14 @@ abstract class ElementImpl implements Element {
setModifier(Modifier.SYNTHETIC, isSynthetic);
}
+ @override
String toString() {
JavaStringBuilder builder = new JavaStringBuilder();
appendTo(builder);
return builder.toString();
}
+ @override
void visitChildren(ElementVisitor visitor) {
}
@@ -3871,6 +4066,7 @@ class ElementLocationImpl implements ElementLocation {
this._components = _decode(encoding);
}
+ @override
bool operator ==(Object object) {
if (identical(this, object)) {
return true;
@@ -3905,6 +4101,7 @@ class ElementLocationImpl implements ElementLocation {
*/
List<String> get components => _components;
+ @override
String get encoding {
JavaStringBuilder builder = new JavaStringBuilder();
int length = _components.length;
@@ -3917,6 +4114,7 @@ class ElementLocationImpl implements ElementLocation {
return builder.toString();
}
+ @override
int get hashCode {
int result = 1;
for (int i = 0; i < _components.length; i++) {
@@ -3932,6 +4130,7 @@ class ElementLocationImpl implements ElementLocation {
return result;
}
+ @override
String toString() => encoding;
/**
@@ -4050,6 +4249,7 @@ class ElementPair {
this._second = second;
}
+ @override
bool operator ==(Object object) {
if (identical(object, this)) {
return true;
@@ -4075,6 +4275,7 @@ class ElementPair {
*/
Element get secondElt => _second;
+ @override
int get hashCode => ObjectUtilities.combineHashCodes(_first.hashCode, _second.hashCode);
}
@@ -4095,10 +4296,13 @@ class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
*/
EmbeddedHtmlScriptElementImpl(XmlTagNode node) : super(node);
+ @override
accept(ElementVisitor visitor) => visitor.visitEmbeddedHtmlScriptElement(this);
+ @override
ElementKind get kind => ElementKind.EMBEDDED_HTML_SCRIPT;
+ @override
LibraryElement get scriptLibrary => _scriptLibrary;
/**
@@ -4111,6 +4315,7 @@ class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb
this._scriptLibrary = scriptLibrary;
}
+ @override
void visitChildren(ElementVisitor visitor) {
safelyVisitChild(_scriptLibrary, visitor);
}
@@ -4172,6 +4377,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
*/
ExecutableElementImpl.con2(String name, int nameOffset) : super(name, nameOffset);
+ @override
ElementImpl getChild(String identifier) {
for (ExecutableElement function in _functions) {
if ((function as ExecutableElementImpl).identifier == identifier) {
@@ -4196,14 +4402,19 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
return null;
}
+ @override
List<FunctionElement> get functions => _functions;
+ @override
List<LabelElement> get labels => _labels;
+ @override
List<LocalVariableElement> get localVariables => _localVariables;
+ @override
List<ParameterElement> get parameters => _parameters;
+ @override
bool get isOperator => false;
/**
@@ -4254,6 +4465,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
this._parameters = parameters;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_functions, visitor);
@@ -4262,6 +4474,7 @@ abstract class ExecutableElementImpl extends ElementImpl implements ExecutableEl
safelyVisitChildren(_parameters, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
if (this.kind != ElementKind.GETTER) {
builder.append("(");
@@ -4328,15 +4541,19 @@ class ExportElementImpl extends ElementImpl implements ExportElement {
*/
ExportElementImpl() : super.forNode(null);
+ @override
accept(ElementVisitor visitor) => visitor.visitExportElement(this);
+ @override
ElementKind get kind => ElementKind.EXPORT;
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append("export ");
(exportedLibrary as LibraryElementImpl).appendTo(builder);
}
+ @override
String get identifier => exportedLibrary.name;
}
@@ -4357,8 +4574,10 @@ class ExternalHtmlScriptElementImpl extends HtmlScriptElementImpl implements Ext
*/
ExternalHtmlScriptElementImpl(XmlTagNode node) : super(node);
+ @override
accept(ElementVisitor visitor) => visitor.visitExternalHtmlScriptElement(this);
+ @override
ElementKind get kind => ElementKind.EXTERNAL_HTML_SCRIPT;
}
@@ -4385,12 +4604,16 @@ class FieldElementImpl extends PropertyInducingElementImpl implements FieldEleme
*/
FieldElementImpl.con2(String name) : super.con2(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitFieldElement(this);
+ @override
ClassElement get enclosingElement => super.enclosingElement as ClassElement;
+ @override
ElementKind get kind => ElementKind.FIELD;
+ @override
bool get isStatic => hasModifier(Modifier.STATIC);
/**
@@ -4421,8 +4644,10 @@ class FieldFormalParameterElementImpl extends ParameterElementImpl implements Fi
*/
FieldFormalParameterElementImpl(Identifier name) : super.con1(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitFieldFormalParameterElement(this);
+ @override
bool get isInitializingFormal => true;
}
@@ -4462,12 +4687,16 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
*/
FunctionElementImpl.con2(int nameOffset) : super.con2("", nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitFunctionElement(this);
+ @override
ElementKind get kind => ElementKind.FUNCTION;
+ @override
FunctionDeclaration get node => getNodeMatching((node) => node is FunctionDeclaration);
+ @override
SourceRange get visibleRange {
if (_visibleRangeLength < 0) {
return null;
@@ -4475,6 +4704,7 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
return new SourceRange(_visibleRangeOffset, _visibleRangeLength);
}
+ @override
bool get isStatic => enclosingElement is CompilationUnitElement;
/**
@@ -4490,6 +4720,7 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
_visibleRangeLength = length;
}
+ @override
void appendTo(JavaStringBuilder builder) {
String name = displayName;
if (name != null) {
@@ -4498,6 +4729,7 @@ class FunctionElementImpl extends ExecutableElementImpl implements FunctionEleme
super.appendTo(builder);
}
+ @override
String get identifier => "${name}@${nameOffset}";
}
@@ -4538,8 +4770,10 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
*/
FunctionTypeAliasElementImpl(Identifier name) : super.forNode(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitFunctionTypeAliasElement(this);
+ @override
ElementImpl getChild(String identifier) {
for (VariableElement parameter in _parameters) {
if ((parameter as VariableElementImpl).identifier == identifier) {
@@ -4554,14 +4788,19 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
return null;
}
+ @override
CompilationUnitElement get enclosingElement => super.enclosingElement as CompilationUnitElement;
+ @override
ElementKind get kind => ElementKind.FUNCTION_TYPE_ALIAS;
+ @override
FunctionTypeAlias get node => getNodeMatching((node) => node is FunctionTypeAlias);
+ @override
List<ParameterElement> get parameters => _parameters;
+ @override
List<TypeParameterElement> get typeParameters => _typeParameters;
/**
@@ -4612,12 +4851,14 @@ class FunctionTypeAliasElementImpl extends ElementImpl implements FunctionTypeAl
this._typeParameters = typeParameters;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_parameters, visitor);
safelyVisitChildren(_typeParameters, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append("typedef ");
builder.append(displayName);
@@ -4659,6 +4900,7 @@ class HideElementCombinatorImpl implements HideElementCombinator {
*/
List<String> hiddenNames = StringUtilities.EMPTY_ARRAY;
+ @override
String toString() {
JavaStringBuilder builder = new JavaStringBuilder();
builder.append("show ");
@@ -4711,8 +4953,10 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
*/
HtmlElementImpl(this.context, String name) : super(name, -1);
+ @override
accept(ElementVisitor visitor) => visitor.visitHtmlElement(this);
+ @override
bool operator ==(Object object) {
if (identical(object, this)) {
return true;
@@ -4723,10 +4967,13 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
return runtimeType == object.runtimeType && source == (object as HtmlElementImpl).source;
}
+ @override
ElementKind get kind => ElementKind.HTML;
+ @override
List<HtmlScriptElement> get scripts => _scripts;
+ @override
int get hashCode => source.hashCode;
/**
@@ -4744,11 +4991,13 @@ class HtmlElementImpl extends ElementImpl implements HtmlElement {
this._scripts = scripts;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_scripts, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
if (source == null) {
builder.append("{HTML file}");
@@ -4820,20 +5069,25 @@ class ImportElementImpl extends ElementImpl implements ImportElement {
*/
ImportElementImpl(int offset) : super(null, offset);
+ @override
accept(ElementVisitor visitor) => visitor.visitImportElement(this);
+ @override
ElementKind get kind => ElementKind.IMPORT;
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(prefix, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append("import ");
(importedLibrary as LibraryElementImpl).appendTo(builder);
}
+ @override
String get identifier => "${(importedLibrary as LibraryElementImpl).identifier}@${nameOffset}";
}
@@ -4870,10 +5124,13 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
this._onSwitchMember = onSwitchMember;
}
+ @override
accept(ElementVisitor visitor) => visitor.visitLabelElement(this);
+ @override
ExecutableElement get enclosingElement => super.enclosingElement as ExecutableElement;
+ @override
ElementKind get kind => ElementKind.LABEL;
/**
@@ -4982,10 +5239,13 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
*/
LibraryElementImpl(this.context, LibraryIdentifier name) : super.forNode(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitLibraryElement(this);
+ @override
bool operator ==(Object object) => object != null && runtimeType == object.runtimeType && _definingCompilationUnit == (object as LibraryElementImpl).definingCompilationUnit;
+ @override
ElementImpl getChild(String identifier) {
if ((_definingCompilationUnit as CompilationUnitElementImpl).identifier == identifier) {
return _definingCompilationUnit as CompilationUnitElementImpl;
@@ -5008,8 +5268,10 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return null;
}
+ @override
CompilationUnitElement get definingCompilationUnit => _definingCompilationUnit;
+ @override
List<LibraryElement> get exportedLibraries {
Set<LibraryElement> libraries = new Set<LibraryElement>();
for (ExportElement element in _exports) {
@@ -5021,8 +5283,10 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return new List.from(libraries);
}
+ @override
List<ExportElement> get exports => _exports;
+ @override
List<LibraryElement> get importedLibraries {
Set<LibraryElement> libraries = new Set<LibraryElement>();
for (ImportElement element in _imports) {
@@ -5034,14 +5298,19 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return new List.from(libraries);
}
+ @override
List<ImportElement> get imports => _imports;
+ @override
ElementKind get kind => ElementKind.LIBRARY;
+ @override
LibraryElement get library => this;
+ @override
List<CompilationUnitElement> get parts => _parts;
+ @override
List<PrefixElement> get prefixes {
Set<PrefixElement> prefixes = new Set<PrefixElement>();
for (ImportElement element in _imports) {
@@ -5053,6 +5322,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return new List.from(prefixes);
}
+ @override
Source get source {
if (_definingCompilationUnit == null) {
return null;
@@ -5060,6 +5330,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return _definingCompilationUnit.source;
}
+ @override
ClassElement getType(String className) {
ClassElement type = _definingCompilationUnit.getType(className);
if (type != null) {
@@ -5074,6 +5345,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return null;
}
+ @override
List<CompilationUnitElement> get units {
List<CompilationUnitElement> units = new List<CompilationUnitElement>(1 + _parts.length);
units[0] = _definingCompilationUnit;
@@ -5081,24 +5353,32 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
return units;
}
+ @override
List<LibraryElement> get visibleLibraries {
Set<LibraryElement> visibleLibraries = new Set();
_addVisibleLibraries(visibleLibraries, false);
return new List.from(visibleLibraries);
}
+ @override
bool get hasExtUri => hasModifier(Modifier.HAS_EXT_URI);
+ @override
int get hashCode => _definingCompilationUnit.hashCode;
+ @override
bool get isAngularHtml => _isAngularHtml;
+ @override
bool get isBrowserApplication => entryPoint != null && isOrImportsBrowserLibrary;
+ @override
bool get isDartCore => name == "dart.core";
+ @override
bool get isInSdk => StringUtilities.startsWith5(name, 0, 0x64, 0x61, 0x72, 0x74, 0x2E);
+ @override
bool isUpToDate(int timeStamp) {
Set<LibraryElement> visitedLibraries = new Set();
return _safeIsUpToDate(this, timeStamp, visitedLibraries);
@@ -5171,6 +5451,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
this._parts = parts;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_definingCompilationUnit, visitor);
@@ -5179,6 +5460,7 @@ class LibraryElementImpl extends ElementImpl implements LibraryElement {
safelyVisitChildren(_parts, visitor);
}
+ @override
String get identifier => _definingCompilationUnit.source.encoding;
/**
@@ -5274,10 +5556,13 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
*/
LocalVariableElementImpl(Identifier name) : super.con1(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitLocalVariableElement(this);
+ @override
ElementKind get kind => ElementKind.LOCAL_VARIABLE;
+ @override
List<ToolkitObjectElement> get toolkitObjects {
CompilationUnitElementImpl unit = getAncestor((element) => element is CompilationUnitElementImpl);
if (unit == null) {
@@ -5286,6 +5571,7 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
return unit._getToolkitObjects(this);
}
+ @override
SourceRange get visibleRange {
if (_visibleRangeLength < 0) {
return null;
@@ -5293,8 +5579,10 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
return new SourceRange(_visibleRangeOffset, _visibleRangeLength);
}
+ @override
bool get isPotentiallyMutatedInClosure => _potentiallyMutatedInClosure;
+ @override
bool get isPotentiallyMutatedInScope => _potentiallyMutatedInScope;
/**
@@ -5337,12 +5625,14 @@ class LocalVariableElementImpl extends VariableElementImpl implements LocalVaria
_visibleRangeLength = length;
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(type);
builder.append(" ");
builder.append(displayName);
}
+ @override
String get identifier => "${super.identifier}@${nameOffset}";
}
@@ -5371,12 +5661,16 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
*/
MethodElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitMethodElement(this);
+ @override
ClassElement get enclosingElement => super.enclosingElement as ClassElement;
+ @override
ElementKind get kind => ElementKind.METHOD;
+ @override
String get name {
String name = super.name;
if (isOperator && name == "-") {
@@ -5387,10 +5681,13 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
return super.name;
}
+ @override
MethodDeclaration get node => getNodeMatching((node) => node is MethodDeclaration);
+ @override
bool get isAbstract => hasModifier(Modifier.ABSTRACT);
+ @override
bool get isOperator {
String name = displayName;
if (name.isEmpty) {
@@ -5400,6 +5697,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
return !((0x61 <= first && first <= 0x7A) || (0x41 <= first && first <= 0x5A) || first == 0x5F || first == 0x24);
}
+ @override
bool get isStatic => hasModifier(Modifier.STATIC);
/**
@@ -5420,6 +5718,7 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
setModifier(Modifier.STATIC, isStatic);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(enclosingElement.displayName);
builder.append(".");
@@ -5585,36 +5884,52 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
_name = conflictingElements[0].name;
}
+ @override
accept(ElementVisitor visitor) => visitor.visitMultiplyDefinedElement(this);
+ @override
String computeDocumentationComment() => null;
+ @override
Element getAncestor(Predicate<Element> predicate) => null;
+ @override
String get displayName => _name;
+ @override
Element get enclosingElement => null;
+ @override
ElementKind get kind => ElementKind.ERROR;
+ @override
LibraryElement get library => null;
+ @override
ElementLocation get location => null;
+ @override
List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY;
+ @override
String get name => _name;
+ @override
int get nameOffset => -1;
+ @override
AstNode get node => null;
+ @override
Source get source => null;
+ @override
DartType get type => DynamicTypeImpl.instance;
+ @override
CompilationUnit get unit => null;
+ @override
bool isAccessibleIn(LibraryElement library) {
for (Element element in conflictingElements) {
if (element.isAccessibleIn(library)) {
@@ -5624,10 +5939,13 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
return false;
}
+ @override
bool get isDeprecated => false;
+ @override
bool get isOverride => false;
+ @override
bool get isPrivate {
String name = displayName;
if (name == null) {
@@ -5636,10 +5954,13 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
return Identifier.isPrivateName(name);
}
+ @override
bool get isPublic => !isPrivate;
+ @override
bool get isSynthetic => true;
+ @override
String toString() {
JavaStringBuilder builder = new JavaStringBuilder();
builder.append("[");
@@ -5654,6 +5975,7 @@ class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
return builder.toString();
}
+ @override
void visitChildren(ElementVisitor visitor) {
}
}
@@ -5673,6 +5995,7 @@ class MultiplyInheritedMethodElementImpl extends MethodElementImpl implements Mu
synthetic = true;
}
+ @override
List<ExecutableElement> get inheritedElements => _elements;
void set inheritedElements(List<ExecutableElement> elements) {
@@ -5695,6 +6018,7 @@ class MultiplyInheritedPropertyAccessorElementImpl extends PropertyAccessorEleme
synthetic = true;
}
+ @override
List<ExecutableElement> get inheritedElements => _elements;
void set inheritedElements(List<ExecutableElement> elements) {
@@ -5770,8 +6094,10 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
*/
ParameterElementImpl.con2(String name, int nameOffset) : super.con2(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitParameterElement(this);
+ @override
SourceRange get defaultValueRange {
if (_defaultValueRangeLength < 0) {
return null;
@@ -5779,10 +6105,13 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
return new SourceRange(_defaultValueRangeOffset, _defaultValueRangeLength);
}
+ @override
ElementKind get kind => ElementKind.PARAMETER;
+ @override
List<ParameterElement> get parameters => _parameters;
+ @override
SourceRange get visibleRange {
if (_visibleRangeLength < 0) {
return null;
@@ -5790,10 +6119,13 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
return new SourceRange(_visibleRangeOffset, _visibleRangeLength);
}
+ @override
bool get isInitializingFormal => false;
+ @override
bool get isPotentiallyMutatedInClosure => _potentiallyMutatedInClosure;
+ @override
bool get isPotentiallyMutatedInScope => _potentiallyMutatedInScope;
/**
@@ -5848,11 +6180,13 @@ class ParameterElementImpl extends VariableElementImpl implements ParameterEleme
_visibleRangeLength = length;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(_parameters, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
String left = "";
String right = "";
@@ -5905,12 +6239,16 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
*/
PrefixElementImpl(Identifier name) : super.forNode(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitPrefixElement(this);
+ @override
LibraryElement get enclosingElement => super.enclosingElement as LibraryElement;
+ @override
List<LibraryElement> get importedLibraries => _importedLibraries;
+ @override
ElementKind get kind => ElementKind.PREFIX;
/**
@@ -5925,11 +6263,13 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
this._importedLibraries = importedLibraries;
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append("as ");
super.appendTo(builder);
}
+ @override
String get identifier => "_${super.identifier}";
}
@@ -5966,10 +6306,13 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
synthetic = true;
}
+ @override
accept(ElementVisitor visitor) => visitor.visitPropertyAccessorElement(this);
+ @override
bool operator ==(Object object) => super == object && identical(isGetter, (object as PropertyAccessorElement).isGetter);
+ @override
PropertyAccessorElement get correspondingGetter {
if (isGetter || variable == null) {
return null;
@@ -5977,6 +6320,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
return variable.getter;
}
+ @override
PropertyAccessorElement get correspondingSetter {
if (isSetter || variable == null) {
return null;
@@ -5984,6 +6328,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
return variable.setter;
}
+ @override
ElementKind get kind {
if (isGetter) {
return ElementKind.GETTER;
@@ -5991,6 +6336,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
return ElementKind.SETTER;
}
+ @override
String get name {
if (isSetter) {
return "${super.name}=";
@@ -5998,6 +6344,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
return super.name;
}
+ @override
AstNode get node {
if (isSynthetic) {
return null;
@@ -6011,14 +6358,19 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
return null;
}
+ @override
int get hashCode => ObjectUtilities.combineHashCodes(super.hashCode, isGetter ? 1 : 2);
+ @override
bool get isAbstract => hasModifier(Modifier.ABSTRACT);
+ @override
bool get isGetter => hasModifier(Modifier.GETTER);
+ @override
bool get isSetter => hasModifier(Modifier.SETTER);
+ @override
bool get isStatic => hasModifier(Modifier.STATIC);
/**
@@ -6057,6 +6409,7 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl implements Prope
setModifier(Modifier.STATIC, isStatic);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(isGetter ? "get " : "set ");
builder.append(variable.displayName);
@@ -6123,6 +6476,7 @@ class ShowElementCombinatorImpl implements ShowElementCombinator {
*/
int offset = 0;
+ @override
String toString() {
JavaStringBuilder builder = new JavaStringBuilder();
builder.append("show ");
@@ -6175,10 +6529,13 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl implements
*/
TopLevelVariableElementImpl.con2(String name) : super.con2(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitTopLevelVariableElement(this);
+ @override
ElementKind get kind => ElementKind.TOP_LEVEL_VARIABLE;
+ @override
bool get isStatic => true;
}
@@ -6209,10 +6566,13 @@ class TypeParameterElementImpl extends ElementImpl implements TypeParameterEleme
*/
TypeParameterElementImpl(Identifier name) : super.forNode(name);
+ @override
accept(ElementVisitor visitor) => visitor.visitTypeParameterElement(this);
+ @override
ElementKind get kind => ElementKind.TYPE_PARAMETER;
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(displayName);
if (bound != null) {
@@ -6267,12 +6627,16 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
*/
EvaluationResultImpl get evaluationResult => null;
+ @override
FunctionElement get initializer => _initializer;
+ @override
VariableDeclaration get node => getNodeMatching((node) => node is VariableDeclaration);
+ @override
bool get isConst => hasModifier(Modifier.CONST);
+ @override
bool get isFinal => hasModifier(Modifier.FINAL);
/**
@@ -6333,11 +6697,13 @@ abstract class VariableElementImpl extends ElementImpl implements VariableElemen
this._initializer = initializer;
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_initializer, visitor);
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(type);
builder.append(" ");
@@ -6422,12 +6788,16 @@ class AngularComponentElementImpl extends AngularHasSelectorElementImpl implemen
this._annotationOffset = annotationOffset;
}
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularComponentElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_COMPONENT;
+ @override
List<AngularPropertyElement> get properties => _properties;
+ @override
List<AngularScopePropertyElement> get scopeProperties => _scopeProperties;
/**
@@ -6454,12 +6824,14 @@ class AngularComponentElementImpl extends AngularHasSelectorElementImpl implemen
this._scopeProperties = properties;
}
+ @override
void visitChildren(ElementVisitor visitor) {
safelyVisitChildren(_properties, visitor);
safelyVisitChildren(_scopeProperties, visitor);
super.visitChildren(visitor);
}
+ @override
String get identifier => "AngularComponent@${_annotationOffset}";
}
@@ -6476,8 +6848,10 @@ class AngularControllerElementImpl extends AngularHasSelectorElementImpl impleme
*/
AngularControllerElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularControllerElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_CONTROLLER;
}
@@ -6504,14 +6878,19 @@ class AngularDirectiveElementImpl extends AngularHasSelectorElementImpl implemen
this._offset = offset;
}
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularDirectiveElement(this);
+ @override
String get displayName => selector.displayName;
+ @override
ElementKind get kind => ElementKind.ANGULAR_DIRECTIVE;
+ @override
List<AngularPropertyElement> get properties => _properties;
+ @override
bool isClass(String name) {
Element enclosing = enclosingElement;
return enclosing is ClassElement && enclosing.name == name;
@@ -6529,11 +6908,13 @@ class AngularDirectiveElementImpl extends AngularHasSelectorElementImpl implemen
this._properties = properties;
}
+ @override
void visitChildren(ElementVisitor visitor) {
safelyVisitChildren(_properties, visitor);
super.visitChildren(visitor);
}
+ @override
String get identifier => "NgDirective@${_offset}";
}
@@ -6555,6 +6936,7 @@ abstract class AngularElementImpl extends ToolkitObjectElementImpl implements An
*/
AngularElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
AngularApplication get application => _application;
/**
@@ -6578,8 +6960,10 @@ class AngularFilterElementImpl extends AngularElementImpl implements AngularFilt
*/
AngularFilterElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularFilterElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_FILTER;
}
@@ -6589,6 +6973,7 @@ class AngularFilterElementImpl extends AngularElementImpl implements AngularFilt
class AngularHasClassSelectorElementImpl extends AngularSelectorElementImpl implements AngularHasClassSelectorElement {
AngularHasClassSelectorElementImpl(String name, int offset) : super(name, offset);
+ @override
bool apply(XmlTagNode node) {
XmlAttributeNode attribute = node.getAttribute("class");
if (attribute != null) {
@@ -6605,6 +6990,7 @@ class AngularHasClassSelectorElementImpl extends AngularSelectorElementImpl impl
return false;
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(".");
builder.append(name);
@@ -6629,6 +7015,7 @@ abstract class AngularHasSelectorElementImpl extends AngularElementImpl implemen
*/
AngularHasSelectorElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
AngularSelectorElement get selector => _selector;
/**
@@ -6641,6 +7028,7 @@ abstract class AngularHasSelectorElementImpl extends AngularElementImpl implemen
this._selector = selector;
}
+ @override
void visitChildren(ElementVisitor visitor) {
safelyVisitChild(_selector, visitor);
super.visitChildren(visitor);
@@ -6672,8 +7060,10 @@ class AngularPropertyElementImpl extends AngularElementImpl implements AngularPr
*/
AngularPropertyElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularPropertyElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_PROPERTY;
}
@@ -6695,8 +7085,10 @@ class AngularScopePropertyElementImpl extends AngularElementImpl implements Angu
*/
AngularScopePropertyElementImpl(String name, int nameOffset, this.type) : super(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularScopePropertyElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_SCOPE_PROPERTY;
}
@@ -6713,8 +7105,10 @@ abstract class AngularSelectorElementImpl extends AngularElementImpl implements
*/
AngularSelectorElementImpl(String name, int nameOffset) : super(name, nameOffset);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularSelectorElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_SELECTOR;
}
@@ -6724,11 +7118,13 @@ abstract class AngularSelectorElementImpl extends AngularElementImpl implements
class AngularTagSelectorElementImpl extends AngularSelectorElementImpl implements AngularTagSelectorElement {
AngularTagSelectorElementImpl(String name, int offset) : super(name, offset);
+ @override
bool apply(XmlTagNode node) {
String tagName = name;
return node.tag == tagName;
}
+ @override
AngularApplication get application => (enclosingElement as AngularElementImpl).application;
}
@@ -6756,10 +7152,13 @@ class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl
*/
AngularViewElementImpl(this.templateUri, this.templateUriOffset) : super(null, -1);
+ @override
accept(ElementVisitor visitor) => visitor.visitAngularViewElement(this);
+ @override
ElementKind get kind => ElementKind.ANGULAR_VIEW;
+ @override
String get identifier => "AngularView@${templateUriOffset}";
}
@@ -6769,11 +7168,13 @@ class AngularViewElementImpl extends AngularElementImpl implements AngularViewEl
class HasAttributeSelectorElementImpl extends AngularSelectorElementImpl implements AngularHasAttributeSelectorElement {
HasAttributeSelectorElementImpl(String attributeName, int offset) : super(attributeName, offset);
+ @override
bool apply(XmlTagNode node) {
String attributeName = name;
return node.getAttribute(attributeName) != null;
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append("[");
builder.append(name);
@@ -6791,6 +7192,7 @@ class IsTagHasAttributeSelectorElementImpl extends AngularSelectorElementImpl {
IsTagHasAttributeSelectorElementImpl(this.tagName, this.attributeName) : super(null, -1);
+ @override
bool apply(XmlTagNode node) => node.tag == tagName && node.getAttribute(attributeName) != null;
}
@@ -6838,22 +7240,31 @@ class ConstructorMember extends ExecutableMember implements ConstructorElement {
*/
ConstructorMember(ConstructorElement baseElement, InterfaceType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitConstructorElement(this);
+ @override
ConstructorElement get baseElement => super.baseElement as ConstructorElement;
+ @override
ClassElement get enclosingElement => baseElement.enclosingElement;
+ @override
ConstructorDeclaration get node => baseElement.node;
+ @override
ConstructorElement get redirectedConstructor => from(baseElement.redirectedConstructor, definingType);
+ @override
bool get isConst => baseElement.isConst;
+ @override
bool get isDefaultConstructor => baseElement.isDefaultConstructor;
+ @override
bool get isFactory => baseElement.isFactory;
+ @override
String toString() {
ConstructorElement baseElement = this.baseElement;
List<ParameterElement> parameters = this.parameters;
@@ -6881,6 +7292,7 @@ class ConstructorMember extends ExecutableMember implements ConstructorElement {
return builder.toString();
}
+ @override
InterfaceType get definingType => super.definingType as InterfaceType;
}
@@ -6899,8 +7311,10 @@ abstract class ExecutableMember extends Member implements ExecutableElement {
*/
ExecutableMember(ExecutableElement baseElement, InterfaceType definingType) : super(baseElement, definingType);
+ @override
ExecutableElement get baseElement => super.baseElement as ExecutableElement;
+ @override
List<FunctionElement> get functions {
//
// Elements within this element should have type parameters substituted, just like this element.
@@ -6908,8 +7322,10 @@ abstract class ExecutableMember extends Member implements ExecutableElement {
throw new UnsupportedOperationException();
}
+ @override
List<LabelElement> get labels => baseElement.labels;
+ @override
List<LocalVariableElement> get localVariables {
//
// Elements within this element should have type parameters substituted, just like this element.
@@ -6917,6 +7333,7 @@ abstract class ExecutableMember extends Member implements ExecutableElement {
throw new UnsupportedOperationException();
}
+ @override
List<ParameterElement> get parameters {
List<ParameterElement> baseParameters = baseElement.parameters;
int parameterCount = baseParameters.length;
@@ -6930,14 +7347,19 @@ abstract class ExecutableMember extends Member implements ExecutableElement {
return parameterizedParameters;
}
+ @override
DartType get returnType => substituteFor(baseElement.returnType);
+ @override
FunctionType get type => substituteFor(baseElement.type);
+ @override
bool get isOperator => baseElement.isOperator;
+ @override
bool get isStatic => baseElement.isStatic;
+ @override
void visitChildren(ElementVisitor visitor) {
// TODO(brianwilkerson) We need to finish implementing the accessors used below so that we can
// safely invoke them.
@@ -6962,8 +7384,10 @@ class FieldFormalParameterMember extends ParameterMember implements FieldFormalP
*/
FieldFormalParameterMember(FieldFormalParameterElement baseElement, ParameterizedType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitFieldFormalParameterElement(this);
+ @override
FieldElement get field => (baseElement as FieldFormalParameterElement).field;
}
@@ -7010,18 +7434,25 @@ class FieldMember extends VariableMember implements FieldElement {
*/
FieldMember(FieldElement baseElement, InterfaceType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitFieldElement(this);
+ @override
FieldElement get baseElement => super.baseElement as FieldElement;
+ @override
ClassElement get enclosingElement => baseElement.enclosingElement;
+ @override
PropertyAccessorElement get getter => PropertyAccessorMember.from(baseElement.getter, definingType);
+ @override
PropertyAccessorElement get setter => PropertyAccessorMember.from(baseElement.setter, definingType);
+ @override
bool get isStatic => baseElement.isStatic;
+ @override
InterfaceType get definingType => super.definingType as InterfaceType;
}
@@ -7051,8 +7482,10 @@ abstract class Member implements Element {
this._definingType = definingType;
}
+ @override
String computeDocumentationComment() => _baseElement.computeDocumentationComment();
+ @override
Element getAncestor(Predicate<Element> predicate) => baseElement.getAncestor(predicate);
/**
@@ -7062,40 +7495,58 @@ abstract class Member implements Element {
*/
Element get baseElement => _baseElement;
+ @override
AnalysisContext get context => _baseElement.context;
+ @override
String get displayName => _baseElement.displayName;
+ @override
ElementKind get kind => _baseElement.kind;
+ @override
LibraryElement get library => _baseElement.library;
+ @override
ElementLocation get location => _baseElement.location;
+ @override
List<ElementAnnotation> get metadata => _baseElement.metadata;
+ @override
String get name => _baseElement.name;
+ @override
int get nameOffset => _baseElement.nameOffset;
+ @override
AstNode get node => _baseElement.node;
+ @override
Source get source => _baseElement.source;
+ @override
CompilationUnit get unit => _baseElement.unit;
+ @override
bool isAccessibleIn(LibraryElement library) => _baseElement.isAccessibleIn(library);
+ @override
bool get isDeprecated => _baseElement.isDeprecated;
+ @override
bool get isOverride => _baseElement.isOverride;
+ @override
bool get isPrivate => _baseElement.isPrivate;
+ @override
bool get isPublic => _baseElement.isPublic;
+ @override
bool get isSynthetic => _baseElement.isSynthetic;
+ @override
void visitChildren(ElementVisitor visitor) {
}
@@ -7202,16 +7653,22 @@ class MethodMember extends ExecutableMember implements MethodElement {
*/
MethodMember(MethodElement baseElement, InterfaceType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitMethodElement(this);
+ @override
MethodElement get baseElement => super.baseElement as MethodElement;
+ @override
ClassElement get enclosingElement => baseElement.enclosingElement;
+ @override
MethodDeclaration get node => baseElement.node;
+ @override
bool get isAbstract => baseElement.isAbstract;
+ @override
String toString() {
MethodElement baseElement = this.baseElement;
List<ParameterElement> parameters = this.parameters;
@@ -7285,8 +7742,10 @@ class ParameterMember extends VariableMember implements ParameterElement {
*/
ParameterMember(ParameterElement baseElement, ParameterizedType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitParameterElement(this);
+ @override
Element getAncestor(Predicate<Element> predicate) {
Element element = baseElement.getAncestor(predicate);
ParameterizedType definingType = this.definingType;
@@ -7303,14 +7762,19 @@ class ParameterMember extends VariableMember implements ParameterElement {
return element;
}
+ @override
ParameterElement get baseElement => super.baseElement as ParameterElement;
+ @override
SourceRange get defaultValueRange => baseElement.defaultValueRange;
+ @override
Element get enclosingElement => baseElement.enclosingElement;
+ @override
ParameterKind get parameterKind => baseElement.parameterKind;
+ @override
List<ParameterElement> get parameters {
List<ParameterElement> baseParameters = baseElement.parameters;
int parameterCount = baseParameters.length;
@@ -7324,10 +7788,13 @@ class ParameterMember extends VariableMember implements ParameterElement {
return parameterizedParameters;
}
+ @override
SourceRange get visibleRange => baseElement.visibleRange;
+ @override
bool get isInitializingFormal => baseElement.isInitializingFormal;
+ @override
String toString() {
ParameterElement baseElement = this.baseElement;
String left = "";
@@ -7352,6 +7819,7 @@ class ParameterMember extends VariableMember implements ParameterElement {
return builder.toString();
}
+ @override
void visitChildren(ElementVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChildren(parameters, visitor);
@@ -7399,16 +7867,22 @@ class PropertyAccessorMember extends ExecutableMember implements PropertyAccesso
*/
PropertyAccessorMember(PropertyAccessorElement baseElement, InterfaceType definingType) : super(baseElement, definingType);
+ @override
accept(ElementVisitor visitor) => visitor.visitPropertyAccessorElement(this);
+ @override
PropertyAccessorElement get baseElement => super.baseElement as PropertyAccessorElement;
+ @override
PropertyAccessorElement get correspondingGetter => from(baseElement.correspondingGetter, definingType);
+ @override
PropertyAccessorElement get correspondingSetter => from(baseElement.correspondingSetter, definingType);
+ @override
Element get enclosingElement => baseElement.enclosingElement;
+ @override
PropertyInducingElement get variable {
PropertyInducingElement variable = baseElement.variable;
if (variable is FieldElement) {
@@ -7417,12 +7891,16 @@ class PropertyAccessorMember extends ExecutableMember implements PropertyAccesso
return variable;
}
+ @override
bool get isAbstract => baseElement.isAbstract;
+ @override
bool get isGetter => baseElement.isGetter;
+ @override
bool get isSetter => baseElement.isSetter;
+ @override
String toString() {
PropertyAccessorElement baseElement = this.baseElement;
List<ParameterElement> parameters = this.parameters;
@@ -7452,6 +7930,7 @@ class PropertyAccessorMember extends ExecutableMember implements PropertyAccesso
return builder.toString();
}
+ @override
InterfaceType get definingType => super.definingType as InterfaceType;
}
@@ -7470,8 +7949,10 @@ abstract class VariableMember extends Member implements VariableElement {
*/
VariableMember(VariableElement baseElement, ParameterizedType definingType) : super(baseElement, definingType);
+ @override
VariableElement get baseElement => super.baseElement as VariableElement;
+ @override
FunctionElement get initializer {
//
// Elements within this element should have type parameters substituted, just like this element.
@@ -7479,14 +7960,19 @@ abstract class VariableMember extends Member implements VariableElement {
throw new UnsupportedOperationException();
}
+ @override
VariableDeclaration get node => baseElement.node;
+ @override
DartType get type => substituteFor(baseElement.type);
+ @override
bool get isConst => baseElement.isConst;
+ @override
bool get isFinal => baseElement.isFinal;
+ @override
void visitChildren(ElementVisitor visitor) {
// TODO(brianwilkerson) We need to finish implementing the accessors used below so that we can
// safely invoke them.
@@ -7516,20 +8002,28 @@ class BottomTypeImpl extends TypeImpl {
*/
BottomTypeImpl() : super(null, "<bottom>");
+ @override
bool operator ==(Object object) => identical(object, this);
+ @override
int get hashCode => 0;
+ @override
bool get isBottom => true;
+ @override
bool isSupertypeOf(DartType type) => false;
+ @override
BottomTypeImpl substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) => this;
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => identical(object, this);
+ @override
bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) => true;
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) => true;
}
@@ -7556,14 +8050,19 @@ class DynamicTypeImpl extends TypeImpl {
(element as DynamicElementImpl).type = this;
}
+ @override
bool operator ==(Object object) => identical(object, this);
+ @override
int get hashCode => 1;
+ @override
bool get isDynamic => true;
+ @override
bool isSupertypeOf(DartType type) => true;
+ @override
DartType substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) {
int length = parameterTypes.length;
for (int i = 0; i < length; i++) {
@@ -7574,8 +8073,10 @@ class DynamicTypeImpl extends TypeImpl {
return this;
}
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => identical(object, this);
+ @override
bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) {
// T is S
if (identical(this, type)) {
@@ -7585,6 +8086,7 @@ class DynamicTypeImpl extends TypeImpl {
return withDynamic;
}
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) => true;
}
@@ -7641,8 +8143,10 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
*/
FunctionTypeImpl.con2(FunctionTypeAliasElement element) : super(element, element == null ? null : element.name);
+ @override
bool operator ==(Object object) => internalEquals(object, new Set<ElementPair>());
+ @override
String get displayName {
String name = this.name;
if (name == null || name.length == 0) {
@@ -7712,6 +8216,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return name;
}
+ @override
Map<String, DartType> get namedParameterTypes {
LinkedHashMap<String, DartType> namedParameterTypes = new LinkedHashMap<String, DartType>();
List<ParameterElement> parameters = baseParameters;
@@ -7727,6 +8232,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return namedParameterTypes;
}
+ @override
List<DartType> get normalParameterTypes {
List<ParameterElement> parameters = baseParameters;
if (parameters.length == 0) {
@@ -7742,6 +8248,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return new List.from(types);
}
+ @override
List<DartType> get optionalParameterTypes {
List<ParameterElement> parameters = baseParameters;
if (parameters.length == 0) {
@@ -7757,6 +8264,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return new List.from(types);
}
+ @override
List<ParameterElement> get parameters {
List<ParameterElement> baseParameters = this.baseParameters;
// no parameters, quick return
@@ -7772,6 +8280,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return specializedParameters;
}
+ @override
DartType get returnType {
DartType baseReturnType = this.baseReturnType;
if (baseReturnType == null) {
@@ -7782,6 +8291,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return baseReturnType.substitute2(typeArguments, TypeParameterTypeImpl.getTypes(typeParameters));
}
+ @override
List<TypeParameterElement> get typeParameters {
Element element = this.element;
if (element is FunctionTypeAliasElement) {
@@ -7794,6 +8304,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return TypeParameterElementImpl.EMPTY_ARRAY;
}
+ @override
int get hashCode {
if (element == null) {
return 0;
@@ -7816,6 +8327,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return hashCode;
}
+ @override
bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) {
// trivial base cases
if (type == null) {
@@ -7917,10 +8429,13 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return sRetType.isVoid || (tRetType as TypeImpl).isMoreSpecificThan2(sRetType, withDynamic, visitedTypePairs);
}
+ @override
bool isAssignableTo(DartType type) => isSubtypeOf2(type, new Set<TypeImpl_TypePair>());
+ @override
FunctionTypeImpl substitute3(List<DartType> argumentTypes) => substitute2(argumentTypes, typeArguments);
+ @override
FunctionTypeImpl substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) {
if (argumentTypes.length != parameterTypes.length) {
throw new IllegalArgumentException("argumentTypes.length (${argumentTypes.length}) != parameterTypes.length (${parameterTypes.length})");
@@ -7934,6 +8449,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return newType;
}
+ @override
void appendTo(JavaStringBuilder builder) {
List<DartType> normalParameterTypes = this.normalParameterTypes;
List<DartType> optionalParameterTypes = this.optionalParameterTypes;
@@ -8008,6 +8524,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
}
}
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) {
if (object is! FunctionTypeImpl) {
return false;
@@ -8026,6 +8543,7 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
return result;
}
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) {
// trivial base cases
if (type == null) {
@@ -8333,8 +8851,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
*/
InterfaceTypeImpl.con2(String name) : super(null, name);
+ @override
bool operator ==(Object object) => internalEquals(object, new Set<ElementPair>());
+ @override
List<PropertyAccessorElement> get accessors {
List<PropertyAccessorElement> accessors = element.accessors;
List<PropertyAccessorElement> members = new List<PropertyAccessorElement>(accessors.length);
@@ -8344,6 +8864,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return members;
}
+ @override
String get displayName {
String name = this.name;
List<DartType> typeArguments = this.typeArguments;
@@ -8372,10 +8893,13 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return name;
}
+ @override
ClassElement get element => super.element as ClassElement;
+ @override
PropertyAccessorElement getGetter(String getterName) => PropertyAccessorMember.from((element as ClassElementImpl).getGetter(getterName), this);
+ @override
List<InterfaceType> get interfaces {
ClassElement classElement = element;
List<InterfaceType> interfaces = classElement.interfaces;
@@ -8392,6 +8916,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return typedInterfaces;
}
+ @override
DartType getLeastUpperBound(DartType type) {
// quick check for self
if (identical(type, this)) {
@@ -8447,8 +8972,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return null;
}
+ @override
MethodElement getMethod(String methodName) => MethodMember.from((element as ClassElementImpl).getMethod(methodName), this);
+ @override
List<MethodElement> get methods {
List<MethodElement> methods = element.methods;
List<MethodElement> members = new List<MethodElement>(methods.length);
@@ -8458,6 +8985,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return members;
}
+ @override
List<InterfaceType> get mixins {
ClassElement classElement = element;
List<InterfaceType> mixins = classElement.mixins;
@@ -8474,8 +9002,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return typedMixins;
}
+ @override
PropertyAccessorElement getSetter(String setterName) => PropertyAccessorMember.from((element as ClassElementImpl).getSetter(setterName), this);
+ @override
InterfaceType get superclass {
ClassElement classElement = element;
InterfaceType supertype = classElement.supertype;
@@ -8485,8 +9015,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return supertype.substitute2(typeArguments, classElement.type.typeArguments);
}
+ @override
List<TypeParameterElement> get typeParameters => element.typeParameters;
+ @override
int get hashCode {
ClassElement element = this.element;
if (element == null) {
@@ -8495,6 +9027,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return element.hashCode;
}
+ @override
bool get isDartCoreFunction {
ClassElement element = this.element;
if (element == null) {
@@ -8503,6 +9036,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return element.name == "Function" && element.library.isDartCore;
}
+ @override
bool isDirectSupertypeOf(InterfaceType type) {
InterfaceType i = this;
InterfaceType j = type;
@@ -8549,8 +9083,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return false;
}
+ @override
bool get isObject => element.supertype == null;
+ @override
ConstructorElement lookUpConstructor(String constructorName, LibraryElement library) {
// prepare base ConstructorElement
ConstructorElement constructorElement;
@@ -8567,6 +9103,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return ConstructorMember.from(constructorElement, this);
}
+ @override
PropertyAccessorElement lookUpGetter(String getterName, LibraryElement library) {
PropertyAccessorElement element = getGetter(getterName);
if (element != null && element.isAccessibleIn(library)) {
@@ -8575,6 +9112,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return lookUpGetterInSuperclass(getterName, library);
}
+ @override
PropertyAccessorElement lookUpGetterInSuperclass(String getterName, LibraryElement library) {
for (InterfaceType mixin in mixins) {
PropertyAccessorElement element = mixin.getGetter(getterName);
@@ -8603,6 +9141,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return null;
}
+ @override
MethodElement lookUpMethod(String methodName, LibraryElement library) {
MethodElement element = getMethod(methodName);
if (element != null && element.isAccessibleIn(library)) {
@@ -8611,6 +9150,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return lookUpMethodInSuperclass(methodName, library);
}
+ @override
MethodElement lookUpMethodInSuperclass(String methodName, LibraryElement library) {
for (InterfaceType mixin in mixins) {
MethodElement element = mixin.getMethod(methodName);
@@ -8639,6 +9179,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return null;
}
+ @override
PropertyAccessorElement lookUpSetter(String setterName, LibraryElement library) {
PropertyAccessorElement element = getSetter(setterName);
if (element != null && element.isAccessibleIn(library)) {
@@ -8647,6 +9188,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return lookUpSetterInSuperclass(setterName, library);
}
+ @override
PropertyAccessorElement lookUpSetterInSuperclass(String setterName, LibraryElement library) {
for (InterfaceType mixin in mixins) {
PropertyAccessorElement element = mixin.getSetter(setterName);
@@ -8675,8 +9217,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return null;
}
+ @override
InterfaceTypeImpl substitute4(List<DartType> argumentTypes) => substitute2(argumentTypes, typeArguments);
+ @override
InterfaceTypeImpl substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) {
if (argumentTypes.length != parameterTypes.length) {
throw new IllegalArgumentException("argumentTypes.length (${argumentTypes.length}) != parameterTypes.length (${parameterTypes.length})");
@@ -8693,6 +9237,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return newType;
}
+ @override
void appendTo(JavaStringBuilder builder) {
builder.append(name);
int argumentCount = typeArguments.length;
@@ -8708,6 +9253,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
}
}
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) {
if (object is! InterfaceTypeImpl) {
return false;
@@ -8716,6 +9262,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return (element == otherType.element) && TypeImpl.equalArrays(typeArguments, otherType.typeArguments, visitedElementPairs);
}
+ @override
bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) {
//
// S is dynamic.
@@ -8730,6 +9277,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
return _isMoreSpecificThan(type as InterfaceType, new Set<ClassElement>(), withDynamic, visitedTypePairs);
}
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) {
//
// T is a subtype of S, written T <: S, iff [bottom/dynamic]T << S
@@ -8933,12 +9481,16 @@ abstract class TypeImpl implements DartType {
this._element = element;
}
+ @override
String get displayName => name;
+ @override
Element get element => _element;
+ @override
DartType getLeastUpperBound(DartType type) => null;
+ @override
bool isAssignableTo(DartType type) => isAssignableTo2(type, new Set<TypeImpl_TypePair>());
/**
@@ -8956,12 +9508,16 @@ abstract class TypeImpl implements DartType {
*/
bool isAssignableTo2(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) => isSubtypeOf2(type, visitedTypePairs) || (type as TypeImpl).isSubtypeOf2(this, visitedTypePairs);
+ @override
bool get isBottom => false;
+ @override
bool get isDartCoreFunction => false;
+ @override
bool get isDynamic => false;
+ @override
bool isMoreSpecificThan(DartType type) => isMoreSpecificThan2(type, false, new Set<TypeImpl_TypePair>());
/**
@@ -8987,8 +9543,10 @@ abstract class TypeImpl implements DartType {
return result;
}
+ @override
bool get isObject => false;
+ @override
bool isSubtypeOf(DartType type) => isSubtypeOf2(type, new Set<TypeImpl_TypePair>());
/**
@@ -9013,10 +9571,13 @@ abstract class TypeImpl implements DartType {
return result;
}
+ @override
bool isSupertypeOf(DartType type) => type.isSubtypeOf(this);
+ @override
bool get isVoid => false;
+ @override
String toString() {
JavaStringBuilder builder = new JavaStringBuilder();
appendTo(builder);
@@ -9053,6 +9614,7 @@ class TypeImpl_TypePair {
this._secondType = secondType;
}
+ @override
bool operator ==(Object object) {
if (identical(object, this)) {
return true;
@@ -9064,6 +9626,7 @@ class TypeImpl_TypePair {
return false;
}
+ @override
int get hashCode {
int firstHashCode = 0;
if (_firstType != null) {
@@ -9115,12 +9678,16 @@ class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType {
*/
TypeParameterTypeImpl(TypeParameterElement element) : super(element, element.name);
+ @override
bool operator ==(Object object) => object is TypeParameterTypeImpl && (element == object.element);
+ @override
TypeParameterElement get element => super.element as TypeParameterElement;
+ @override
int get hashCode => element.hashCode;
+ @override
DartType substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) {
int length = parameterTypes.length;
for (int i = 0; i < length; i++) {
@@ -9131,8 +9698,10 @@ class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType {
return this;
}
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => this == object;
+ @override
bool internalIsMoreSpecificThan(DartType s, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) {
//
// A type T is more specific than a type S, written T << S, if one of the following conditions
@@ -9156,6 +9725,7 @@ class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType {
return _isMoreSpecificThan(s, new Set<DartType>(), withDynamic, visitedTypePairs);
}
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) => isMoreSpecificThan2(type, true, new Set<TypeImpl_TypePair>());
bool _isMoreSpecificThan(DartType s, Set<DartType> visitedTypes, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) {
@@ -9213,18 +9783,25 @@ class VoidTypeImpl extends TypeImpl implements VoidType {
*/
VoidTypeImpl() : super(null, Keyword.VOID.syntax);
+ @override
bool operator ==(Object object) => identical(object, this);
+ @override
int get hashCode => 2;
+ @override
bool get isVoid => true;
+ @override
VoidTypeImpl substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes) => this;
+ @override
bool internalEquals(Object object, Set<ElementPair> visitedElementPairs) => identical(object, this);
+ @override
bool internalIsMoreSpecificThan(DartType type, bool withDynamic, Set<TypeImpl_TypePair> visitedTypePairs) => isSubtypeOf(type);
+ @override
bool internalIsSubtypeOf(DartType type, Set<TypeImpl_TypePair> visitedTypePairs) => identical(type, this) || identical(type, DynamicTypeImpl.instance);
}
@@ -9338,6 +9915,7 @@ abstract class FunctionType implements ParameterizedType {
* @param type the type being compared with this type
* @return `true` if this type is a subtype of the given type
*/
+ @override
bool isSubtypeOf(DartType type);
/**
@@ -9349,6 +9927,7 @@ abstract class FunctionType implements ParameterizedType {
*/
FunctionType substitute3(List<DartType> argumentTypes);
+ @override
FunctionType substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes);
}
@@ -9364,6 +9943,7 @@ abstract class InterfaceType implements ParameterizedType {
*/
List<PropertyAccessorElement> get accessors;
+ @override
ClassElement get element;
/**
@@ -9400,6 +9980,7 @@ abstract class InterfaceType implements ParameterizedType {
* @param type the other type used to compute the least upper bound
* @return the least upper bound of this type and the given type
*/
+ @override
DartType getLeastUpperBound(DartType type);
/**
@@ -9479,6 +10060,7 @@ abstract class InterfaceType implements ParameterizedType {
* @param type the type being compared with this type
* @return `true` if this type is more specific than the given type
*/
+ @override
bool isMoreSpecificThan(DartType type);
/**
@@ -9491,6 +10073,7 @@ abstract class InterfaceType implements ParameterizedType {
* @param type the type being compared with this type
* @return `true` if this type is a subtype of the given type
*/
+ @override
bool isSubtypeOf(DartType type);
/**
@@ -9635,6 +10218,7 @@ abstract class InterfaceType implements ParameterizedType {
*/
InterfaceType substitute4(List<DartType> argumentTypes);
+ @override
InterfaceType substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes);
}
@@ -9794,6 +10378,7 @@ abstract class DartType {
* introduced by a type parameter.
*/
abstract class TypeParameterType implements DartType {
+ @override
TypeParameterElement get element;
}
@@ -9802,5 +10387,6 @@ abstract class TypeParameterType implements DartType {
* `void`.
*/
abstract class VoidType implements DartType {
+ @override
VoidType substitute2(List<DartType> argumentTypes, List<DartType> parameterTypes);
}
« no previous file with comments | « pkg/analyzer/lib/src/generated/constant.dart ('k') | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698