Elements. Deprecate EnumElement.

Change-Id: I21b51cf2a0eff465dc9725a9477656b7ba2228ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418828
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
Konstantin Shcheglov
2025-03-31 15:04:59 -07:00
committed by Commit Queue
parent 138924c1e8
commit 073df7a4fd
4 changed files with 8 additions and 14 deletions
+1 -1
View File
@@ -3266,7 +3266,7 @@ package:analyzer/dart/element/element.dart:
visitTopLevelVariableElement (method: R? Function(TopLevelVariableElement))
visitTypeAliasElement (method: R? Function(TypeAliasElement))
visitTypeParameterElement (method: R? Function(TypeParameterElement))
EnumElement (class extends Object implements InterfaceElement):
EnumElement (class extends Object implements InterfaceElement, deprecated):
new (constructor: EnumElement Function())
ExecutableElement (class extends Object implements FunctionTypedElement):
new (constructor: ExecutableElement Function())
@@ -1089,6 +1089,7 @@ abstract class ElementVisitor<R> {
/// An element that represents an enum.
///
/// Clients may not extend, implement or mix-in this class.
@Deprecated('Use EnumElement2 instead')
abstract class EnumElement implements InterfaceElement {}
/// An element representing an executable object, including functions, methods,
@@ -1186,6 +1186,7 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
return null;
}
@Deprecated(elementModelDeprecationMsg)
@override
EnumElement? getEnum(String name) {
for (var element in enums) {
@@ -3513,7 +3514,10 @@ abstract class ElementOrMember {}
/// An [InterfaceElementImpl] which is an enum.
class EnumElementImpl extends InterfaceElementImpl
implements EnumElement, EnumFragment {
implements
// ignore:deprecated_member_use_from_same_package
EnumElement,
EnumFragment {
late EnumElementImpl2 augmentedInternal;
/// Initialize a newly created class element to have the given [name] at the
@@ -7334,6 +7338,7 @@ class LibraryElementImpl extends ElementImpl
return _getElementByName(classes, name);
}
@Deprecated(elementModelDeprecationMsg)
EnumElement? getEnum(String name) {
for (var unitElement in units) {
var element = unitElement.getEnum(name);
@@ -308,18 +308,6 @@ extension ElementOrNullExtension on Element? {
}
}
extension EnumElement2Extension on EnumElement2 {
EnumElement get asElement {
return firstFragment as EnumElement;
}
}
extension EnumElementExtension on EnumElement {
EnumElement2 get asElement2 {
return (this as EnumElementImpl).element;
}
}
extension EnumElementImplExtension on EnumElementImpl {
EnumElementImpl2 get asElement2 {
return element;