Elements. Remove TypeDefiningElementImpl.

Change-Id: I6afdc5742c0b78df505b0ede3d4c6ac5a2484902
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/440861
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 351c8b5..b95e74c 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1233,7 +1233,7 @@
 }
 
 /// The synthetic element representing the declaration of the type `dynamic`.
-class DynamicElementImpl extends TypeDefiningElementImpl {
+class DynamicElementImpl extends ElementImpl implements TypeDefiningElement {
   /// The unique instance of this class.
   static final DynamicElementImpl instance = DynamicElementImpl._();
 
@@ -8221,7 +8221,7 @@
 }
 
 /// The synthetic element representing the declaration of the type `Never`.
-class NeverElementImpl extends TypeDefiningElementImpl {
+class NeverElementImpl extends ElementImpl implements TypeDefiningElement {
   /// The unique instance of this class.
   static final instance = NeverElementImpl._();
 
@@ -9617,7 +9617,7 @@
   }
 }
 
-class TypeAliasElementImpl extends TypeDefiningElementImpl
+class TypeAliasElementImpl extends ElementImpl
     with
         FragmentedAnnotatableElementMixin<TypeAliasFragmentImpl>,
         FragmentedElementMixin<TypeAliasFragmentImpl>,
@@ -9948,10 +9948,7 @@
   }
 }
 
-abstract class TypeDefiningElementImpl extends ElementImpl
-    implements TypeDefiningElement {}
-
-class TypeParameterElementImpl extends TypeDefiningElementImpl
+class TypeParameterElementImpl extends ElementImpl
     with
         FragmentedAnnotatableElementMixin<TypeParameterFragmentImpl>,
         FragmentedElementMixin<TypeParameterFragmentImpl>