Remove redundant null check on rawType.
`FullInvocationInferrer.resolveInvocation` only sets `inferrer` to non-null in the event that `rawType` is non-null. So inside an `if (inferrer != null)` block we can safely assume `rawType` is non-null. Change-Id: I05a56cd2f54d9658877cf24ed8ec4493eabc42d8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/238381 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
This commit is contained in:
@@ -182,30 +182,25 @@ abstract class FullInvocationInferrer<Node extends AstNodeImpl>
|
||||
var argumentList = _getArgumentList(node);
|
||||
|
||||
if (inferrer != null) {
|
||||
if (rawType != null) {
|
||||
// Get the parameters that correspond to the uninstantiated generic.
|
||||
List<ParameterElement?> rawParameters =
|
||||
ResolverVisitor.resolveArgumentsToParameters(
|
||||
argumentList: argumentList,
|
||||
parameters: rawType.parameters,
|
||||
);
|
||||
// Get the parameters that correspond to the uninstantiated generic.
|
||||
List<ParameterElement?> rawParameters =
|
||||
ResolverVisitor.resolveArgumentsToParameters(
|
||||
argumentList: argumentList,
|
||||
parameters: rawType!.parameters,
|
||||
);
|
||||
|
||||
List<ParameterElement> params = <ParameterElement>[];
|
||||
List<DartType> argTypes = <DartType>[];
|
||||
for (int i = 0, length = rawParameters.length; i < length; i++) {
|
||||
ParameterElement? parameter = rawParameters[i];
|
||||
if (parameter != null) {
|
||||
params.add(parameter);
|
||||
argTypes.add(argumentList.arguments[i].typeOrThrow);
|
||||
}
|
||||
List<ParameterElement> params = <ParameterElement>[];
|
||||
List<DartType> argTypes = <DartType>[];
|
||||
for (int i = 0, length = rawParameters.length; i < length; i++) {
|
||||
ParameterElement? parameter = rawParameters[i];
|
||||
if (parameter != null) {
|
||||
params.add(parameter);
|
||||
argTypes.add(argumentList.arguments[i].typeOrThrow);
|
||||
}
|
||||
inferrer.constrainArguments(
|
||||
parameters: params, argumentTypes: argTypes);
|
||||
typeArgumentTypes = inferrer.upwardsInfer();
|
||||
invokeType = rawType.instantiate(typeArgumentTypes);
|
||||
} else {
|
||||
typeArgumentTypes = const [];
|
||||
}
|
||||
inferrer.constrainArguments(parameters: params, argumentTypes: argTypes);
|
||||
typeArgumentTypes = inferrer.upwardsInfer();
|
||||
invokeType = rawType.instantiate(typeArgumentTypes);
|
||||
}
|
||||
|
||||
var parameters = _storeResult(node, typeArgumentTypes, invokeType);
|
||||
|
||||
Reference in New Issue
Block a user