@@ -926,9 +926,8 @@ class MethodMember extends ExecutableMember implements MethodElement2OrMember {
926926
927927/// A parameter element defined in a parameterized type where the values of the
928928/// type parameters are known.
929- class ParameterMember extends VariableMember
930- with ParameterElementMixin , FormalParameterElementMixin {
931- @override
929+ class ParameterMember extends VariableMember with FormalParameterElementMixin {
930+ // TODO(scheglov): replace with TypeParameterElementImpl(s)
932931 final List <TypeParameterFragmentImpl > typeParameters;
933932
934933 factory ParameterMember ({
@@ -1012,6 +1011,30 @@ class ParameterMember extends VariableMember
10121011 @override
10131012 bool get isInitializingFormal => declaration.isInitializingFormal;
10141013
1014+ @override
1015+ bool get isNamed => baseElement.isNamed;
1016+
1017+ @override
1018+ bool get isOptional => baseElement.isOptional;
1019+
1020+ @override
1021+ bool get isOptionalNamed => baseElement.isOptionalNamed;
1022+
1023+ @override
1024+ bool get isOptionalPositional => baseElement.isOptionalPositional;
1025+
1026+ @override
1027+ bool get isPositional => baseElement.isPositional;
1028+
1029+ @override
1030+ bool get isRequired => baseElement.isRequired;
1031+
1032+ @override
1033+ bool get isRequiredNamed => baseElement.isRequiredNamed;
1034+
1035+ @override
1036+ bool get isRequiredPositional => baseElement.isRequiredPositional;
1037+
10151038 @override
10161039 bool get isSuperFormal => declaration.isSuperFormal;
10171040
@@ -1051,15 +1074,6 @@ class ParameterMember extends VariableMember
10511074 return declaration.parameterKind;
10521075 }
10531076
1054- @override
1055- List <ParameterElementMixin > get parameters {
1056- var type = this .type;
1057- if (type is FunctionTypeImpl ) {
1058- return type.parameters.map ((element) => element.asElement).toList ();
1059- }
1060- return const < ParameterElementMixin > [];
1061- }
1062-
10631077 @override
10641078 Source ? get source => _declaration.source;
10651079
@@ -1083,7 +1097,7 @@ class ParameterMember extends VariableMember
10831097
10841098 @override
10851099 void appendTo (ElementDisplayStringBuilder builder) {
1086- builder.writeFormalParameter (this );
1100+ builder.writeFormalParameter2 (this );
10871101 }
10881102
10891103 @override
@@ -1121,32 +1135,6 @@ class ParameterMember extends VariableMember
11211135 _element2.visitChildren2 (visitor);
11221136 }
11231137
1124- static ParameterElementMixin from (
1125- ParameterElementMixin element,
1126- MapSubstitution substitution,
1127- ) {
1128- FormalParameterFragmentImpl declaration;
1129- var combined = substitution;
1130- if (element is ParameterMember ) {
1131- var member = element;
1132- declaration = member.declaration;
1133-
1134- var map = < TypeParameterElement , DartType > {
1135- for (var MapEntry (: key, : value) in member.substitution.map.entries)
1136- key: substitution.substituteType (value),
1137- };
1138- combined = Substitution .fromMap2 (map);
1139- } else {
1140- declaration = element as FormalParameterFragmentImpl ;
1141- }
1142-
1143- if (combined.map.isEmpty) {
1144- return element;
1145- }
1146-
1147- return ParameterMember (declaration: declaration, substitution: combined);
1148- }
1149-
11501138 static FormalParameterElementMixin from2 (
11511139 FormalParameterElementMixin element,
11521140 MapSubstitution substitution,
@@ -1398,7 +1386,7 @@ class SuperFormalParameterMember extends ParameterMember
13981386/// A variable element defined in a parameterized type where the values of the
13991387/// type parameters are known.
14001388abstract class VariableMember extends Member
1401- implements VariableElementOrMember {
1389+ implements VariableElement2OrMember {
14021390 TypeImpl ? _type;
14031391
14041392 /// Initialize a newly created element to represent a variable, based on the
@@ -1437,7 +1425,7 @@ abstract class VariableMember extends Member
14371425
14381426 @override
14391427 void appendTo (ElementDisplayStringBuilder builder) {
1440- builder.writeVariableElement (this );
1428+ builder.writeVariableElement2 (this );
14411429 }
14421430}
14431431
0 commit comments