From ba68d0dfeeba9f86f585dfd815a8a2e38e385611 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 23 Mar 2022 15:26:21 +0000 Subject: [PATCH] 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 Commit-Queue: Paul Berry --- .../dart/resolver/invocation_inferrer.dart | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart index c8117fdc6bb..41fc38e2c44 100644 --- a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart +++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart @@ -182,30 +182,25 @@ abstract class FullInvocationInferrer var argumentList = _getArgumentList(node); if (inferrer != null) { - if (rawType != null) { - // Get the parameters that correspond to the uninstantiated generic. - List rawParameters = - ResolverVisitor.resolveArgumentsToParameters( - argumentList: argumentList, - parameters: rawType.parameters, - ); + // Get the parameters that correspond to the uninstantiated generic. + List rawParameters = + ResolverVisitor.resolveArgumentsToParameters( + argumentList: argumentList, + parameters: rawType!.parameters, + ); - List params = []; - List argTypes = []; - 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 params = []; + List argTypes = []; + 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);