Deprecate Directive.element, use element2.
Change-Id: Ic18f9c579bcec0b6406070da04b476be2582a504
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analysis_server/lib/src/status/ast_writer.dart b/pkg/analysis_server/lib/src/status/ast_writer.dart
index bc19b76..f571ee9 100644
--- a/pkg/analysis_server/lib/src/status/ast_writer.dart
+++ b/pkg/analysis_server/lib/src/status/ast_writer.dart
@@ -96,7 +96,7 @@
} else if (node is InstanceCreationExpression) {
properties['static type'] = node.staticType;
} else if (node is LibraryDirective) {
- properties['element'] = node.element;
+ properties['element'] = node.element2;
} else if (node is MethodDeclaration) {
properties['declaredElement'] = node.declaredElement;
properties['external keyword'] = node.externalKeyword;
@@ -107,10 +107,10 @@
properties['static invoke type'] = node.staticInvokeType;
properties['static type'] = node.staticType;
} else if (node is PartDirective) {
- properties['element'] = node.element;
+ properties['element'] = node.element2;
properties['uriSource'] = node.uriSource;
} else if (node is PartOfDirective) {
- properties['element'] = node.element;
+ properties['element'] = node.element2;
} else if (node is PostfixExpression) {
properties['static element'] = node.staticElement;
properties['static type'] = node.staticType;
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index f7cf1fc..e16c1b4 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -4,6 +4,7 @@
* Deprecated `ClassOrMixinDeclaration.getField`, filter `members` instead.
* Deprecated `ClassOrMixinDeclaration.getMethod`, filter `members` instead.
* Deprecated `ClassDeclaration.getConstructor`, filter `members` instead.
+* Deprecated `Directive.element`, use `element2` instead.
## 4.3.1
* Fix `identifier` for `LibraryExportElement` and `LibraryImportElement`.
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 74bd94d..fc24d3d 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -630,8 +630,7 @@
/// The token representing the 'augment' keyword.
Token get augmentKeyword;
- /// Return the element associated with this directive, or `null` if the AST
- /// structure has not been resolved.
+ @Deprecated('Use element2 instead')
@override
AugmentationImportElement? get element;
@@ -1526,8 +1525,13 @@
/// Return the element associated with this directive, or `null` if the AST
/// structure has not been resolved or if this directive could not be
/// resolved.
+ @Deprecated('Use element2 instead')
Element? get element;
+ /// Return the element associated with this directive, or `null` if the AST
+ /// structure has not been resolved.
+ Element? get element2;
+
/// Return the token representing the keyword that introduces this directive
/// ('import', 'export', 'library' or 'part').
@Deprecated('Use specific xyzToken instead')
@@ -1714,6 +1718,7 @@
/// Return the element associated with this directive, or `null` if the AST
/// structure has not been resolved.
+ @override
LibraryExportElement? get element2;
/// The token representing the 'export' keyword.
@@ -2893,6 +2898,7 @@
/// Return the element associated with this directive, or `null` if the AST
/// structure has not been resolved.
+ @override
LibraryImportElement? get element2;
/// The token representing the 'import' keyword.
@@ -3644,6 +3650,9 @@
///
/// Clients may not extend, implement or mix-in this class.
abstract class PartDirective implements UriBasedDirective {
+ @override
+ PartElement? get element2;
+
/// Return the token representing the 'part' keyword.
Token get partKeyword;
diff --git a/pkg/analyzer/lib/src/dart/analysis/index.dart b/pkg/analyzer/lib/src/dart/analysis/index.dart
index 7ea2d0c..265798f 100644
--- a/pkg/analyzer/lib/src/dart/analysis/index.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/index.dart
@@ -793,7 +793,7 @@
@override
void visitPartDirective(PartDirective node) {
- final partElement = node.element;
+ final partElement = node.element2;
if (partElement is PartElement) {
final partElementUri = partElement.uri;
if (partElementUri is DirectiveUriWithUnit) {
diff --git a/pkg/analyzer/lib/src/dart/analysis/search.dart b/pkg/analyzer/lib/src/dart/analysis/search.dart
index 3eb1e38..b0ad4c6 100644
--- a/pkg/analyzer/lib/src/dart/analysis/search.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/search.dart
@@ -590,7 +590,7 @@
if (unitResult is ResolvedUnitResult) {
CompilationUnit unit = unitResult.unit;
for (Directive directive in unit.directives) {
- if (directive is PartOfDirective && directive.element == element) {
+ if (directive is PartOfDirective && directive.element2 == element) {
results.add(
SearchResult._(
unit.declaredElement!,
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 00f3d6b..2c88c82 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -902,9 +902,15 @@
_becomeParentOf(_uri);
}
+ @Deprecated('Use element2 instead')
@override
AugmentationImportElement? get element {
- return super.element as AugmentationImportElement?;
+ throw StateError('Use element2 instead');
+ }
+
+ @override
+ AugmentationImportElement? get element2 {
+ return super.element2 as AugmentationImportElement?;
}
@override
@@ -919,7 +925,7 @@
@override
LibraryAugmentationElement? get uriElement {
- return element?.importedAugmentation;
+ return element2?.importedAugmentation;
}
@override
@@ -3274,6 +3280,7 @@
/// attribute.
DirectiveImpl(super.comment, super.metadata);
+ @Deprecated('Use element2 instead')
@override
Element? get element => _element;
@@ -3281,6 +3288,9 @@
set element(Element? element) {
_element = element;
}
+
+ @override
+ Element? get element2 => _element;
}
/// A do statement.
@@ -3799,7 +3809,7 @@
}
@override
- LibraryExportElement? get element2 => super.element as LibraryExportElement?;
+ LibraryExportElement? get element2 => super.element2 as LibraryExportElement?;
@override
Token get firstTokenAfterCommentAndMetadata => exportKeyword;
@@ -6449,7 +6459,7 @@
}
@override
- LibraryImportElement? get element2 => super.element as LibraryImportElement?;
+ LibraryImportElement? get element2 => super.element2 as LibraryImportElement?;
@override
Token get firstTokenAfterCommentAndMetadata => importKeyword;
@@ -8796,6 +8806,11 @@
: super(comment, metadata, partUri);
@override
+ PartElement? get element2 {
+ return super.element2 as PartElement?;
+ }
+
+ @override
Token get endToken => semicolon;
@override
@@ -8807,8 +8822,7 @@
@override
CompilationUnitElement? get uriElement {
- final partElement = element as PartElement?;
- final partElementUri = partElement?.uri;
+ final partElementUri = element2?.uri;
if (partElementUri is DirectiveUriWithUnit) {
return partElementUri.unit;
}
diff --git a/pkg/analyzer/lib/src/dart/ast/element_locator.dart b/pkg/analyzer/lib/src/dart/ast/element_locator.dart
index 8f676e4..279c3fb 100644
--- a/pkg/analyzer/lib/src/dart/ast/element_locator.dart
+++ b/pkg/analyzer/lib/src/dart/ast/element_locator.dart
@@ -98,12 +98,12 @@
} else if (parent is LibraryIdentifier) {
var grandParent = parent.parent;
if (grandParent is PartOfDirective) {
- var element = grandParent.element;
+ var element = grandParent.element2;
if (element is LibraryElement) {
return element.definingCompilationUnit;
}
} else if (grandParent is LibraryDirective) {
- return grandParent.element;
+ return grandParent.element2;
}
}
return node.writeOrReadElement;
@@ -126,7 +126,7 @@
@override
Element? visitLibraryDirective(LibraryDirective node) {
- return node.element;
+ return node.element2;
}
@override
@@ -141,7 +141,7 @@
@override
Element? visitPartOfDirective(PartOfDirective node) {
- return node.element;
+ return node.element2;
}
@override
diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
index 5cea4ce..ed87486 100644
--- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
@@ -151,7 +151,7 @@
@override
void visitAugmentationImportDirective(AugmentationImportDirective node) {
- final element = node.element;
+ final element = node.element2;
if (element is AugmentationImportElementImpl) {
_setOrCreateMetadataElements(element, node.metadata);
}
@@ -828,7 +828,7 @@
@override
void visitLibraryAugmentationDirective(LibraryAugmentationDirective node) {
- final element = node.element;
+ final element = node.element2;
if (element is LibraryOrAugmentationElementImpl) {
_setOrCreateMetadataElements(element, node.metadata);
}
@@ -841,7 +841,7 @@
@override
void visitLibraryDirective(LibraryDirective node) {
++_libraryDirectiveIndex;
- var element = node.element;
+ var element = node.element2;
if (element is LibraryElementImpl && _libraryDirectiveIndex == 1) {
_setOrCreateMetadataElements(element, node.metadata);
}
@@ -924,8 +924,8 @@
@override
void visitPartDirective(PartDirective node) {
- var element = node.element;
- if (element is CompilationUnitElementImpl) {
+ var element = node.element2;
+ if (element is PartElementImpl) {
_setOrCreateMetadataElements(element, node.metadata);
}
diff --git a/pkg/analyzer/lib/src/summary2/element_builder.dart b/pkg/analyzer/lib/src/summary2/element_builder.dart
index 08a40f1..08751df 100644
--- a/pkg/analyzer/lib/src/summary2/element_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/element_builder.dart
@@ -70,7 +70,7 @@
_container.documentationComment = getCommentNodeRawText(
firstDirective.documentationComment,
);
- var firstDirectiveMetadata = firstDirective.element?.metadata;
+ var firstDirectiveMetadata = firstDirective.element2?.metadata;
if (firstDirectiveMetadata != null) {
_container.metadata = firstDirectiveMetadata;
}
diff --git a/pkg/analyzer/test/generated/resolver_test_case.dart b/pkg/analyzer/test/generated/resolver_test_case.dart
index fb9ae05..b382aee 100644
--- a/pkg/analyzer/test/generated/resolver_test_case.dart
+++ b/pkg/analyzer/test/generated/resolver_test_case.dart
@@ -135,7 +135,7 @@
@override
void visitLibraryDirective(LibraryDirective node) {
- _checkResolved(node, node.element, (node) => node is LibraryElement);
+ _checkResolved(node, node.element2, (node) => node is LibraryElement);
}
@override
@@ -146,12 +146,12 @@
@override
void visitPartDirective(PartDirective node) {
_checkResolved(
- node, node.element, (node) => node is CompilationUnitElement);
+ node, node.element2, (node) => node is CompilationUnitElement);
}
@override
void visitPartOfDirective(PartOfDirective node) {
- _checkResolved(node, node.element, (node) => node is LibraryElement);
+ _checkResolved(node, node.element2, (node) => node is LibraryElement);
}
@override
diff --git a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
index 3139dc0..d1c30e3 100644
--- a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
+++ b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
@@ -129,7 +129,7 @@
_writeln('AugmentationImportDirective');
_withIndent(() {
_writeNamedChildEntities(node);
- _writeElement('element', node.element);
+ _writeElement('element', node.element2);
_writeRaw('uriContent', node.uriContent);
_writeElement('uriElement', node.uriElement);
_writeSource('uriSource', node.uriSource);
@@ -774,7 +774,7 @@
_writeln('LibraryAugmentationDirective');
_withIndent(() {
_writeNamedChildEntities(node);
- _writeElement('element', node.element);
+ _writeElement('element', node.element2);
});
}
@@ -783,7 +783,7 @@
_writeln('LibraryDirective');
_withIndent(() {
_writeNamedChildEntities(node);
- _writeElement('element', node.element);
+ _writeElement('element', node.element2);
});
}
@@ -901,7 +901,7 @@
_writeln('PartDirective');
_withIndent(() {
_writeNamedChildEntities(node);
- _writeElement('element', node.element);
+ _writeElement('element', node.element2);
_writeRaw('uriContent', node.uriContent);
_writePartUnitElement('uriElement', node.uriElement);
_writeSource('uriSource', node.uriSource);
@@ -913,7 +913,7 @@
_writeln('PartOfDirective');
_withIndent(() {
_writeNamedChildEntities(node);
- _writeElement('element', node.element);
+ _writeElement('element', node.element2);
});
}
diff --git a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
index c58c3e2..d0b8b44 100644
--- a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
+++ b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
@@ -385,12 +385,12 @@
@override
void visitLibraryDirective(LibraryDirective node) {
- computer._addRegionForNode(node.name, node.element);
+ computer._addRegionForNode(node.name, node.element2);
}
@override
void visitPartDirective(PartDirective node) {
- final element = node.element;
+ final element = node.element2;
if (element is PartElement) {
final uri = element.uri;
if (uri is DirectiveUriWithUnit) {
@@ -413,7 +413,7 @@
@override
void visitPartOfDirective(PartOfDirective node) {
- computer._addRegionForNode(node.libraryName ?? node.uri, node.element);
+ computer._addRegionForNode(node.libraryName ?? node.uri, node.element2);
super.visitPartOfDirective(node);
}