| 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 {
|
|
|