Elements. Deprecate TypeDefiningElement.
Change-Id: Ibb24c4b509eb86efe2f82fdf1c05acdb9bb403bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418834
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt
index 4e96d9e..b1c07a2 100644
--- a/pkg/analyzer/api.txt
+++ b/pkg/analyzer/api.txt
@@ -3507,7 +3507,7 @@
isAugmentation (getter: bool)
name (getter: String)
instantiate (method: DartType Function({required NullabilitySuffix nullabilitySuffix, required List<DartType> typeArguments}))
- TypeDefiningElement (class extends Object implements Element):
+ TypeDefiningElement (class extends Object implements Element, deprecated):
new (constructor: TypeDefiningElement Function())
TypeParameterElement (class extends Object implements TypeDefiningElement, deprecated):
new (constructor: TypeParameterElement Function())
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index e1a244b..cd58976 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -2235,6 +2235,7 @@
/// An element that defines a type.
///
/// Clients may not extend, implement or mix-in this class.
+@Deprecated('Use TypeDefiningElement2 instead')
abstract class TypeDefiningElement implements Element {}
/// A type parameter.
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 5f92347..cabab95 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -2037,7 +2037,10 @@
/// The synthetic element representing the declaration of the type `dynamic`.
class DynamicElementImpl extends ElementImpl
- implements TypeDefiningElement, TypeDefiningFragment {
+ implements
+ // ignore:deprecated_member_use_from_same_package
+ TypeDefiningElement,
+ TypeDefiningFragment {
/// The unique instance of this class.
static final DynamicElementImpl instance = DynamicElementImpl._();
@@ -9157,7 +9160,10 @@
/// The synthetic element representing the declaration of the type `Never`.
class NeverElementImpl extends ElementImpl
- implements TypeDefiningElement, TypeDefiningFragment {
+ implements
+ // ignore:deprecated_member_use_from_same_package
+ TypeDefiningElement,
+ TypeDefiningFragment {
/// The unique instance of this class.
static final instance = NeverElementImpl._();