[analyzer] Remove FormalParameterElementOrMember class.
The only reason this class was needed was to serve as a common
interface (not part of the analyzer public API) shared by
`ParameterMember` and `FormalParameterElementImpl`, which could be
used as a type argument when the analyzer instantiates generic classes
in `_fe_analyzer_shared`. Now that we have
`FormalParameterElementMixin`, it can serve as the common interface.
Change-Id: Idc25ca4077dc9c801d7eeb2e54b0d6b7809f1912
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/404362
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 22376af92..5049f5f 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -4513,8 +4513,7 @@
FragmentedElementMixin<FormalParameterFragment>,
FormalParameterElementMixin,
_HasSinceSdkVersionMixin,
- _NonTopLevelVariableOrParameter
- implements FormalParameterElementOrMember {
+ _NonTopLevelVariableOrParameter {
final ParameterElementImpl wrappedElement;
FormalParameterElementImpl(this.wrappedElement) {
@@ -4658,7 +4657,10 @@
/// A mixin that provides a common implementation for methods defined in
/// [FormalParameterElement].
-mixin FormalParameterElementMixin implements FormalParameterElement {
+mixin FormalParameterElementMixin
+ implements
+ FormalParameterElement,
+ SharedNamedFunctionParameterStructure<TypeImpl> {
@override
void appendToWithoutDelimiters2(StringBuffer buffer) {
buffer.write(
@@ -4673,11 +4675,6 @@
}
}
-abstract class FormalParameterElementOrMember
- implements
- FormalParameterElement,
- SharedNamedFunctionParameterStructure<TypeImpl> {}
-
mixin FragmentedAnnotatableElementMixin<E extends Fragment>
implements FragmentedElementMixin<E> {
String? get documentationComment {
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index 55a0675..efa4449 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -1135,7 +1135,7 @@
/// type parameters are known.
class ParameterMember extends VariableMember
with ParameterElementMixin, FormalParameterElementMixin
- implements ParameterElement, FormalParameterElementOrMember {
+ implements ParameterElement {
@override
final List<TypeParameterElement> typeParameters;
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index daf05b8..05ef272 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -91,7 +91,7 @@
implements
FunctionType,
SharedFunctionTypeStructure<TypeImpl, TypeParameterElementImpl2,
- FormalParameterElementOrMember> {
+ FormalParameterElementMixin> {
@override
late int hashCode = _computeHashCode();
@@ -243,9 +243,9 @@
// TODO(paulberry): see if this type can be changed to
// `List<FormalParameterElementImpl>`. See
// https://dart-review.googlesource.com/c/sdk/+/402341/comment/b1669e20_15938fcd/.
- List<FormalParameterElementOrMember> get sortedNamedParametersShared =>
+ List<FormalParameterElementMixin> get sortedNamedParametersShared =>
sortedNamedParameters
- .map((p) => p.asElement2 as FormalParameterElementOrMember)
+ .map((p) => p.asElement2 as FormalParameterElementMixin)
.toList();
@override
diff --git a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
index bf41f9e..c4ddb05 100644
--- a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
@@ -101,7 +101,7 @@
/// attempt to make one type schema a subtype of another.
class TypeConstraintGatherer extends shared.TypeConstraintGenerator<
DartType,
- FormalParameterElementOrMember,
+ FormalParameterElementMixin,
PromotableElementImpl2,
TypeParameterElementImpl2,
InterfaceTypeImpl,
@@ -110,7 +110,7 @@
with
shared.TypeConstraintGeneratorMixin<
DartType,
- FormalParameterElementOrMember,
+ FormalParameterElementMixin,
PromotableElementImpl2,
TypeParameterElementImpl2,
InterfaceTypeImpl,
diff --git a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
index 66912a0..848a3e1 100644
--- a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
@@ -515,7 +515,7 @@
@override
TypeConstraintGenerator<
DartType,
- FormalParameterElementOrMember,
+ FormalParameterElementMixin,
PromotableElementImpl2,
TypeParameterElementImpl2,
InterfaceTypeImpl,