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

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

Issue 2435313002: More improvements to DeclarationResolver. (Closed)
Patch Set: Created 4 years, 2 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/lib/src/dart/element/element.dart
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 6c187856a357f4e632373334880a795e643017b0..a16489e4fdd178b64fb0fd82c529476040bb5b0d 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -870,10 +870,11 @@ class ClassElementImpl extends AbstractClassElementImpl
@override
int get nameOffset {
- if (_unlinkedClass != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedClass != null) {
return _unlinkedClass.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -1851,10 +1852,11 @@ class ConstFieldElementImpl_EnumValue extends ConstFieldElementImpl_ofEnum {
@override
int get nameOffset {
- if (_unlinkedEnumValue != null) {
+ int offset = super.nameOffset;
+ if (offset == -1 && _unlinkedEnumValue != null) {
return _unlinkedEnumValue.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -3477,10 +3479,11 @@ class EnumElementImpl extends AbstractClassElementImpl {
@override
int get nameOffset {
- if (_unlinkedEnum != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedEnum != null && _unlinkedEnum.nameOffset != 0) {
return _unlinkedEnum.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -3826,10 +3829,11 @@ abstract class ExecutableElementImpl extends ElementImpl
@override
int get nameOffset {
- if (serializedExecutable != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && serializedExecutable != null) {
return serializedExecutable.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -4103,10 +4107,11 @@ class ExportElementImpl extends UriReferencedElementImpl
@override
int get nameOffset {
- if (_unlinkedExportNonPublic != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedExportNonPublic != null) {
return _unlinkedExportNonPublic.offset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -4676,10 +4681,11 @@ class FunctionTypeAliasElementImpl extends ElementImpl
@override
int get nameOffset {
- if (_unlinkedTypedef != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedTypedef != null) {
return _unlinkedTypedef.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -5013,13 +5019,14 @@ class ImportElementImpl extends UriReferencedElementImpl
@override
int get nameOffset {
- if (_unlinkedImport != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedImport != null) {
if (_unlinkedImport.isImplicit) {
return -1;
}
return _unlinkedImport.offset;
}
- return super.nameOffset;
+ return offset;
}
PrefixElement get prefix {
@@ -5222,10 +5229,13 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
@override
int get nameOffset {
- if (_unlinkedLabel != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 &&
+ _unlinkedLabel != null &&
+ _unlinkedLabel.nameOffset != 0) {
return _unlinkedLabel.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -6763,10 +6773,11 @@ abstract class NonParameterVariableElementImpl extends VariableElementImpl {
@override
int get nameOffset {
- if (_unlinkedVariable != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedVariable != null) {
return _unlinkedVariable.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -7067,13 +7078,14 @@ class ParameterElementImpl extends VariableElementImpl
@override
int get nameOffset {
- if (_unlinkedParam != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedParam != null) {
if (isSynthetic) {
return -1;
}
return _unlinkedParam.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -7389,10 +7401,11 @@ class PrefixElementImpl extends ElementImpl implements PrefixElement {
@override
int get nameOffset {
- if (_unlinkedImport != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedImport != null) {
return _unlinkedImport.prefixOffset;
}
- return super.nameOffset;
+ return offset;
}
@override
@@ -8037,10 +8050,11 @@ class TypeParameterElementImpl extends ElementImpl
@override
int get nameOffset {
- if (_unlinkedTypeParam != null) {
+ int offset = super.nameOffset;
+ if (offset == 0 && _unlinkedTypeParam != null) {
return _unlinkedTypeParam.nameOffset;
}
- return super.nameOffset;
+ return offset;
}
TypeParameterType get type {
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/builder.dart ('k') | pkg/analyzer/lib/src/generated/declaration_resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698