Elements. Deprecate TypeParameterElement.

Change-Id: I2f4c22fb4928cb5f296a190d7c165a3887d9eeae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418833
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
Konstantin Shcheglov
2025-04-01 09:18:01 -07:00
parent 46699a91d0
commit 007bd5d6c0
4 changed files with 11 additions and 16 deletions
+3 -3
View File
@@ -3454,7 +3454,7 @@ package:analyzer/dart/element/element.dart:
name (getter: String)
parameterKind (getter: ParameterKind, deprecated)
parameters (getter: List<ParameterElement>)
typeParameters (getter: List<TypeParameterElement>)
typeParameters (getter: List<TypeParameterElement>, deprecated)
appendToWithoutDelimiters (method: void Function(StringBuffer, {bool withNullability}))
PartElement (class extends Object implements _ExistingElement):
new (constructor: PartElement Function())
@@ -3509,7 +3509,7 @@ package:analyzer/dart/element/element.dart:
instantiate (method: DartType Function({required NullabilitySuffix nullabilitySuffix, required List<DartType> typeArguments}))
TypeDefiningElement (class extends Object implements Element):
new (constructor: TypeDefiningElement Function())
TypeParameterElement (class extends Object implements TypeDefiningElement):
TypeParameterElement (class extends Object implements TypeDefiningElement, deprecated):
new (constructor: TypeParameterElement Function())
bound (getter: DartType?)
declaration (getter: TypeParameterElement)
@@ -3519,7 +3519,7 @@ package:analyzer/dart/element/element.dart:
TypeParameterizedElement (class extends Object implements _ExistingElement):
new (constructor: TypeParameterizedElement Function())
isSimplyBounded (getter: bool)
typeParameters (getter: List<TypeParameterElement>)
typeParameters (getter: List<TypeParameterElement>, deprecated)
UndefinedElement (class extends Object implements Element):
new (constructor: UndefinedElement Function())
UriReferencedElement (class extends Object implements _ExistingElement):
@@ -1984,6 +1984,7 @@ abstract class ParameterElement
///
/// A parameter will only define type parameters if it is a function typed
/// parameter.
@Deprecated(elementModelDeprecationMsg)
List<TypeParameterElement> get typeParameters;
/// Appends the type, name and possibly the default value of this parameter
@@ -2239,6 +2240,7 @@ abstract class TypeDefiningElement implements Element {}
/// A type parameter.
///
/// Clients may not extend, implement or mix-in this class.
@Deprecated('Use TypeParameterElement2 instead')
abstract class TypeParameterElement implements TypeDefiningElement {
/// The type representing the bound associated with this parameter, or `null`
/// if this parameter does not have an explicit bound. Being able to
@@ -2278,6 +2280,7 @@ abstract class TypeParameterizedElement implements _ExistingElement {
///
/// This does not include type parameters that are declared by any enclosing
/// elements.
@Deprecated(elementModelDeprecationMsg)
List<TypeParameterElement> get typeParameters;
}
@@ -3298,7 +3298,7 @@ abstract class ElementImpl2 implements Element2 {
/// The reference of this element, used during reading summaries.
///
/// Can be `null` if this element cannot be referenced from outside,
/// for example a [LocalFunctionElement], a [TypeParameterElement],
/// for example a [LocalFunctionElement], a [TypeParameterElement2],
/// a positional [FormalParameterElement], etc.
Reference? get reference => null;
@@ -11343,9 +11343,11 @@ class TypeAliasElementImpl2 extends TypeDefiningElementImpl2
abstract class TypeDefiningElementImpl2 extends ElementImpl2
implements TypeDefiningElement2 {}
/// A concrete implementation of a [TypeParameterElement].
class TypeParameterElementImpl extends ElementImpl
implements TypeParameterElement, TypeParameterFragment {
implements
// ignore:deprecated_member_use_from_same_package
TypeParameterElement,
TypeParameterFragment {
@override
String? name2;
@@ -702,10 +702,6 @@ extension TypeAliasElementImplExtension on TypeAliasElementImpl {
}
extension TypeParameterElement2Extension on TypeParameterElement2 {
TypeParameterElement get asElement {
return firstFragment as TypeParameterElement;
}
TypeParameterElementImpl2 freshCopy() {
var fragment = TypeParameterElementImpl(
name3 ?? '',
@@ -719,12 +715,6 @@ extension TypeParameterElement2Extension on TypeParameterElement2 {
}
}
extension TypeParameterElementExtension on TypeParameterElement {
TypeParameterElement2 get asElement2 {
return (this as TypeParameterElementImpl).asElement2;
}
}
extension TypeParameterElementImpl2Extension on TypeParameterElementImpl2 {
TypeParameterElementImpl get asElement {
return firstFragment;