Elements. Deprecate InstanceElement.

Change-Id: I7e1d80c01d90e64cc0e4b43a7ed58ceb7f149883
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418941
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
Konstantin Shcheglov
2025-03-31 16:36:11 -07:00
parent 30270ba98d
commit e9ddff548a
4 changed files with 9 additions and 15 deletions
+1 -1
View File
@@ -3329,7 +3329,7 @@ package:analyzer/dart/element/element.dart:
ImportElementPrefix (class extends Object):
new (constructor: ImportElementPrefix Function())
element (getter: PrefixElement)
InstanceElement (class extends Object implements TypeDefiningElement, TypeParameterizedElement):
InstanceElement (class extends Object implements TypeDefiningElement, TypeParameterizedElement, deprecated):
new (constructor: InstanceElement Function())
accessors (getter: List<PropertyAccessorElement>)
enclosingElement3 (getter: CompilationUnitElement, deprecated)
@@ -1320,6 +1320,7 @@ abstract class ImportElementPrefix {
/// An element that has `this`.
///
/// Clients may not extend, implement or mix-in this class.
@Deprecated('Use InstanceElement2 instead')
abstract class InstanceElement
implements TypeDefiningElement, TypeParameterizedElement {
/// The declared accessors (getters and setters).
@@ -5546,8 +5546,13 @@ class ImportElementPrefixImpl implements ImportElementPrefix {
}
abstract class InstanceElementImpl extends _ExistingElementImpl
with AugmentableFragment, TypeParameterizedElementMixin
implements InstanceElement, InstanceFragment {
with
AugmentableFragment,
TypeParameterizedElementMixin
implements
// ignore:deprecated_member_use_from_same_package
InstanceElement,
InstanceFragment {
@override
ElementLinkedData? linkedData;
@@ -459,18 +459,6 @@ extension GetterElementImplExtension on GetterElementImpl {
}
}
extension InstanceElement2Extension on InstanceElement2 {
InstanceElement get asElement {
return firstFragment as InstanceElement;
}
}
extension InstanceElementExtension on InstanceElement {
InstanceElement2 get asElement2 {
return (this as InstanceElementImpl).element;
}
}
extension InstanceElementImpl2Extension on InstanceElementImpl2 {
InstanceElementImpl get asElement {
return firstFragment;