@@ -427,7 +427,7 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList {
427427 /// The list must be the same length as the number of arguments, but can
428428 /// contain `null` entries if a given argument doesn't correspond to a formal
429429 /// parameter.
430- List<ParameterElement ?>? _correspondingStaticParameters;
430+ List<ParameterElementMixin ?>? _correspondingStaticParameters;
431431
432432 /// Initializes a newly created list of arguments.
433433 ArgumentListImpl({
@@ -444,10 +444,10 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList {
444444 @override
445445 Token get beginToken => leftParenthesis;
446446
447- List<ParameterElement ?>? get correspondingStaticParameters =>
447+ List<ParameterElementMixin ?>? get correspondingStaticParameters =>
448448 _correspondingStaticParameters;
449449
450- set correspondingStaticParameters(List<ParameterElement ?>? parameters) {
450+ set correspondingStaticParameters(List<ParameterElementMixin ?>? parameters) {
451451 if (parameters != null && parameters.length != _arguments.length) {
452452 throw ArgumentError(
453453 "Expected ${_arguments.length} parameters, not ${parameters.length}");
@@ -486,7 +486,7 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList {
486486 /// - the function being invoked is known based on static type information
487487 /// - the expression corresponds to one of the parameters of the function
488488 /// being invoked
489- ParameterElement ? _getStaticParameterElementFor(Expression expression) {
489+ ParameterElementMixin ? _getStaticParameterElementFor(Expression expression) {
490490 if (_correspondingStaticParameters == null ||
491491 _correspondingStaticParameters!.length != _arguments.length) {
492492 // Either the AST structure hasn't been resolved, the invocation of which
@@ -822,7 +822,7 @@ final class AssignedVariablePatternImpl extends VariablePatternImpl
822822 }
823823
824824 @override
825- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
825+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
826826 var element = element2;
827827 if (element is PromotableElementImpl2) {
828828 return resolverVisitor
@@ -929,7 +929,7 @@ final class AssignmentExpressionImpl extends ExpressionImpl
929929 /// The parameter element representing the parameter to which the value of the
930930 /// right operand is bound, or `null` if the AST structure is not resolved or
931931 /// the function being invoked is not known based on static type information.
932- ParameterElement ? get _staticParameterElementForRightHandSide {
932+ ParameterElementMixin ? get _staticParameterElementForRightHandSide {
933933 Element? executableElement;
934934 if (operator.type != TokenType.EQ) {
935935 executableElement = staticElement;
@@ -943,9 +943,11 @@ final class AssignmentExpressionImpl extends ExpressionImpl
943943 return null;
944944 }
945945 if (operator.type == TokenType.EQ && leftHandSide is IndexExpression) {
946- return parameters.length == 2 ? parameters[1] : null;
946+ return parameters.length == 2
947+ ? (parameters[1] as ParameterElementMixin)
948+ : null;
947949 }
948- return parameters[0];
950+ return parameters[0] as ParameterElementMixin ;
949951 }
950952
951953 return null;
@@ -2352,7 +2354,7 @@ final class CastPatternImpl extends DartPatternImpl implements CastPattern {
23522354 E? accept<E>(AstVisitor<E> visitor) => visitor.visitCastPattern(this);
23532355
23542356 @override
2355- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
2357+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
23562358 return resolverVisitor.analyzeCastPatternSchema().unwrapTypeSchemaView();
23572359 }
23582360
@@ -4024,7 +4026,7 @@ final class ConstantPatternImpl extends DartPatternImpl
40244026 E? accept<E>(AstVisitor<E> visitor) => visitor.visitConstantPattern(this);
40254027
40264028 @override
4027- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
4029+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
40284030 return resolverVisitor
40294031 .analyzeConstantPatternSchema()
40304032 .unwrapTypeSchemaView();
@@ -4740,7 +4742,7 @@ sealed class DartPattern implements AstNode, ListPatternElement {
47404742sealed class DartPatternImpl extends AstNodeImpl
47414743 implements DartPattern, ListPatternElementImpl {
47424744 @override
4743- DartType ? matchedValueType;
4745+ TypeImpl ? matchedValueType;
47444746
47454747 /// The context for this pattern.
47464748 ///
@@ -4782,7 +4784,7 @@ sealed class DartPatternImpl extends AstNodeImpl
47824784 /// The variable pattern, itself, or wrapped in a unary pattern.
47834785 VariablePatternImpl? get variablePattern => null;
47844786
4785- DartType computePatternSchema(ResolverVisitor resolverVisitor);
4787+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor);
47864788
47874789 /// Dispatches this pattern to the [resolverVisitor], with the given [context]
47884790 /// information.
@@ -5016,7 +5018,7 @@ final class DeclaredVariablePatternImpl extends VariablePatternImpl
50165018 visitor.visitDeclaredVariablePattern(this);
50175019
50185020 @override
5019- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
5021+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
50205022 return resolverVisitor
50215023 .analyzeDeclaredVariablePatternSchema(
50225024 type?.typeOrThrow.wrapSharedTypeView())
@@ -6115,7 +6117,7 @@ sealed class ExpressionImpl extends AstNodeImpl
61156117 bool get isAssignable => false;
61166118
61176119 @override
6118- ParameterElement ? get staticParameterElement {
6120+ ParameterElementMixin ? get staticParameterElement {
61196121 var parent = this.parent;
61206122 if (parent is ArgumentListImpl) {
61216123 return parent._getStaticParameterElementFor(this);
@@ -6128,7 +6130,9 @@ sealed class ExpressionImpl extends AstNodeImpl
61286130 if (identical(parent.rightOperand, this)) {
61296131 var parameters = parent.staticInvokeType?.parameters;
61306132 if (parameters != null && parameters.isNotEmpty) {
6131- return parameters[0];
6133+ // TODO(paulberry): eliminate this cast by changing the type of
6134+ // `BinaryExpressionImpl.staticInvokeType` to `FunctionTypeImpl`.
6135+ return parameters[0] as ParameterElementMixin;
61326136 }
61336137 return null;
61346138 }
@@ -10224,20 +10228,23 @@ final class IndexExpressionImpl extends ExpressionImpl
1022410228 /// index expression is bound, or `null` if the AST structure is not resolved,
1022510229 /// or the function being invoked is not known based on static type
1022610230 /// information.
10227- ParameterElement ? get _staticParameterElementForIndex {
10231+ ParameterElementMixin ? get _staticParameterElementForIndex {
1022810232 Element? element = staticElement;
1022910233
1023010234 var parent = this.parent;
1023110235 if (parent is CompoundAssignmentExpression) {
1023210236 element = parent.writeElement ?? parent.readElement;
1023310237 }
1023410238
10235- if (element is ExecutableElement ) {
10239+ if (element is ExecutableElementOrMember ) {
1023610240 List<ParameterElement> parameters = element.parameters;
1023710241 if (parameters.isEmpty) {
1023810242 return null;
1023910243 }
10240- return parameters[0];
10244+ // TODO(paulberry): eliminate this cast by changing the type of
10245+ // `ExecutableElementOrMember.parameters` to
10246+ // `List<ParameterElementMixin>`.
10247+ return parameters[0] as ParameterElementMixin;
1024110248 }
1024210249 return null;
1024310250 }
@@ -11291,7 +11298,7 @@ final class ListPatternImpl extends DartPatternImpl implements ListPattern {
1129111298 E? accept<E>(AstVisitor<E> visitor) => visitor.visitListPattern(this);
1129211299
1129311300 @override
11294- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
11301+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1129511302 var elementType = typeArguments?.arguments.elementAtOrNull(0)?.typeOrThrow;
1129611303 return resolverVisitor
1129711304 .analyzeListPatternSchema(
@@ -11399,7 +11406,7 @@ final class LogicalAndPatternImpl extends DartPatternImpl
1139911406 E? accept<E>(AstVisitor<E> visitor) => visitor.visitLogicalAndPattern(this);
1140011407
1140111408 @override
11402- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
11409+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1140311410 return resolverVisitor
1140411411 .analyzeLogicalAndPatternSchema(leftOperand, rightOperand)
1140511412 .unwrapTypeSchemaView();
@@ -11478,7 +11485,7 @@ final class LogicalOrPatternImpl extends DartPatternImpl
1147811485 E? accept<E>(AstVisitor<E> visitor) => visitor.visitLogicalOrPattern(this);
1147911486
1148011487 @override
11481- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
11488+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1148211489 return resolverVisitor
1148311490 .analyzeLogicalOrPatternSchema(leftOperand, rightOperand)
1148411491 .unwrapTypeSchemaView();
@@ -11704,7 +11711,7 @@ final class MapPatternImpl extends DartPatternImpl implements MapPattern {
1170411711 final Token rightBracket;
1170511712
1170611713 @override
11707- DartType ? requiredType;
11714+ TypeImpl ? requiredType;
1170811715
1170911716 MapPatternImpl({
1171011717 required this.typeArguments,
@@ -11739,7 +11746,7 @@ final class MapPatternImpl extends DartPatternImpl implements MapPattern {
1173911746 E? accept<E>(AstVisitor<E> visitor) => visitor.visitMapPattern(this);
1174011747
1174111748 @override
11742- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
11749+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1174311750 var typeArgumentNodes = this.typeArguments?.arguments;
1174411751 ({SharedTypeView keyType, SharedTypeView valueType})? typeArguments;
1174511752 if (typeArgumentNodes != null && typeArgumentNodes.length == 2) {
@@ -13062,7 +13069,7 @@ final class NullAssertPatternImpl extends DartPatternImpl
1306213069 E? accept<E>(AstVisitor<E> visitor) => visitor.visitNullAssertPattern(this);
1306313070
1306413071 @override
13065- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
13072+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1306613073 return resolverVisitor
1306713074 .analyzeNullCheckOrAssertPatternSchema(
1306813075 pattern,
@@ -13198,7 +13205,7 @@ final class NullCheckPatternImpl extends DartPatternImpl
1319813205 E? accept<E>(AstVisitor<E> visitor) => visitor.visitNullCheckPattern(this);
1319913206
1320013207 @override
13201- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
13208+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1320213209 return resolverVisitor
1320313210 .analyzeNullCheckOrAssertPatternSchema(
1320413211 pattern,
@@ -13378,7 +13385,7 @@ final class ObjectPatternImpl extends DartPatternImpl implements ObjectPattern {
1337813385 E? accept<E>(AstVisitor<E> visitor) => visitor.visitObjectPattern(this);
1337913386
1338013387 @override
13381- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
13388+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1338213389 return resolverVisitor
1338313390 .analyzeObjectPatternSchema(SharedTypeView(type.typeOrThrow))
1338413391 .unwrapTypeSchemaView();
@@ -13565,7 +13572,7 @@ final class ParenthesizedPatternImpl extends DartPatternImpl
1356513572 visitor.visitParenthesizedPattern(this);
1356613573
1356713574 @override
13568- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
13575+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1356913576 return resolverVisitor
1357013577 .dispatchPatternSchema(pattern)
1357113578 .unwrapTypeSchemaView();
@@ -13793,7 +13800,7 @@ final class PatternAssignmentImpl extends ExpressionImpl
1379313800
1379413801 /// The pattern type schema, used for downward inference of [expression];
1379513802 /// or `null` if the node isn't resolved yet.
13796- DartType ? patternTypeSchema;
13803+ TypeImpl ? patternTypeSchema;
1379713804
1379813805 PatternAssignmentImpl({
1379913806 required this.pattern,
@@ -14009,7 +14016,7 @@ final class PatternVariableDeclarationImpl extends AnnotatedNodeImpl
1400914016
1401014017 /// The pattern type schema, used for downward inference of [expression];
1401114018 /// or `null` if the node isn't resolved yet.
14012- DartType ? patternTypeSchema;
14019+ TypeImpl ? patternTypeSchema;
1401314020
1401414021 /// Variables declared in [pattern].
1401514022 late final List<BindPatternVariableElementImpl> elements;
@@ -14187,15 +14194,17 @@ final class PostfixExpressionImpl extends ExpressionImpl
1418714194 /// The parameter element representing the parameter to which the value of the
1418814195 /// operand is bound, or `null` ff the AST structure is not resolved or the
1418914196 /// function being invoked isn't known based on static type information.
14190- ParameterElement ? get _staticParameterElementForOperand {
14197+ ParameterElementMixin ? get _staticParameterElementForOperand {
1419114198 if (staticElement == null) {
1419214199 return null;
1419314200 }
1419414201 List<ParameterElement> parameters = staticElement!.parameters;
1419514202 if (parameters.isEmpty) {
1419614203 return null;
1419714204 }
14198- return parameters[0];
14205+ // TODO(paulberry): eliminate this cast by changing the type of
14206+ // `staticElement` to `MethodElementOrMember?`.
14207+ return parameters[0] as ParameterElementMixin;
1419914208 }
1420014209
1420114210 @override
@@ -14398,15 +14407,17 @@ final class PrefixExpressionImpl extends ExpressionImpl
1439814407 /// The parameter element representing the parameter to which the value of the
1439914408 /// operand is bound, or `null` if the AST structure is not resolved or the
1440014409 /// function being invoked isn't known based on static type information.
14401- ParameterElement ? get _staticParameterElementForOperand {
14410+ ParameterElementMixin ? get _staticParameterElementForOperand {
1440214411 if (staticElement == null) {
1440314412 return null;
1440414413 }
1440514414 List<ParameterElement> parameters = staticElement!.parameters;
1440614415 if (parameters.isEmpty) {
1440714416 return null;
1440814417 }
14409- return parameters[0];
14418+ // TODO(paulberry): eliminate this cast by changing the type of
14419+ // `staticElement` to `MethodElementOrMember?`.
14420+ return parameters[0] as ParameterElementMixin;
1441014421 }
1441114422
1441214423 @override
@@ -14720,7 +14731,7 @@ final class RecordPatternImpl extends DartPatternImpl implements RecordPattern {
1472014731 E? accept<E>(AstVisitor<E> visitor) => visitor.visitRecordPattern(this);
1472114732
1472214733 @override
14723- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
14734+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1472414735 return resolverVisitor
1472514736 .analyzeRecordPatternSchema(
1472614737 fields: resolverVisitor.buildSharedPatternFields(
@@ -15177,7 +15188,7 @@ final class RelationalPatternImpl extends DartPatternImpl
1517715188 E? accept<E>(AstVisitor<E> visitor) => visitor.visitRelationalPattern(this);
1517815189
1517915190 @override
15180- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
15191+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1518115192 return resolverVisitor
1518215193 .analyzeRelationalPatternSchema()
1518315194 .unwrapTypeSchemaView();
@@ -18859,7 +18870,7 @@ final class WildcardPatternImpl extends DartPatternImpl
1885918870 E? accept<E>(AstVisitor<E> visitor) => visitor.visitWildcardPattern(this);
1886018871
1886118872 @override
18862- DartType computePatternSchema(ResolverVisitor resolverVisitor) {
18873+ TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
1886318874 return resolverVisitor
1886418875 .analyzeDeclaredVariablePatternSchema(
1886518876 type?.typeOrThrow.wrapSharedTypeView())
0 commit comments