added ? as type argument to avoid raw types
to CallResolutionContext
This commit is contained in:
+7
-7
@@ -85,11 +85,11 @@ public class ArgumentTypeResolver {
|
|||||||
return KotlinBuiltIns.getInstance().isFunctionOrExtensionFunctionType(supertype) || ErrorUtils.isErrorType(supertype);
|
return KotlinBuiltIns.getInstance().isFunctionOrExtensionFunctionType(supertype) || ErrorUtils.isErrorType(supertype);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkTypesWithNoCallee(@NotNull CallResolutionContext context) {
|
public void checkTypesWithNoCallee(@NotNull CallResolutionContext<?> context) {
|
||||||
checkTypesWithNoCallee(context, SKIP_FUNCTION_ARGUMENTS);
|
checkTypesWithNoCallee(context, SKIP_FUNCTION_ARGUMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkTypesWithNoCallee(@NotNull CallResolutionContext context, @NotNull ResolveArgumentsMode resolveFunctionArgumentBodies) {
|
public void checkTypesWithNoCallee(@NotNull CallResolutionContext<?> context, @NotNull ResolveArgumentsMode resolveFunctionArgumentBodies) {
|
||||||
for (ValueArgument valueArgument : context.call.getValueArguments()) {
|
for (ValueArgument valueArgument : context.call.getValueArguments()) {
|
||||||
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
||||||
if (argumentExpression != null && !(argumentExpression instanceof JetFunctionLiteralExpression)) {
|
if (argumentExpression != null && !(argumentExpression instanceof JetFunctionLiteralExpression)) {
|
||||||
@@ -112,7 +112,7 @@ public class ArgumentTypeResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkTypesForFunctionArgumentsWithNoCallee(@NotNull CallResolutionContext context) {
|
public void checkTypesForFunctionArgumentsWithNoCallee(@NotNull CallResolutionContext<?> context) {
|
||||||
for (ValueArgument valueArgument : context.call.getValueArguments()) {
|
for (ValueArgument valueArgument : context.call.getValueArguments()) {
|
||||||
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
||||||
if (argumentExpression != null && (argumentExpression instanceof JetFunctionLiteralExpression)) {
|
if (argumentExpression != null && (argumentExpression instanceof JetFunctionLiteralExpression)) {
|
||||||
@@ -125,7 +125,7 @@ public class ArgumentTypeResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkUnmappedArgumentTypes(CallResolutionContext context, Set<ValueArgument> unmappedArguments) {
|
public void checkUnmappedArgumentTypes(CallResolutionContext<?> context, Set<ValueArgument> unmappedArguments) {
|
||||||
for (ValueArgument valueArgument : unmappedArguments) {
|
for (ValueArgument valueArgument : unmappedArguments) {
|
||||||
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
||||||
if (argumentExpression != null) {
|
if (argumentExpression != null) {
|
||||||
@@ -134,7 +134,7 @@ public class ArgumentTypeResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public <D extends CallableDescriptor> void checkTypesForFunctionArguments(CallResolutionContext context, ResolvedCallImpl<D> resolvedCall) {
|
public <D extends CallableDescriptor> void checkTypesForFunctionArguments(CallResolutionContext<?> context, ResolvedCallImpl<D> resolvedCall) {
|
||||||
Map<ValueParameterDescriptor, ResolvedValueArgument> arguments = resolvedCall.getValueArguments();
|
Map<ValueParameterDescriptor, ResolvedValueArgument> arguments = resolvedCall.getValueArguments();
|
||||||
for (Map.Entry<ValueParameterDescriptor, ResolvedValueArgument> entry : arguments.entrySet()) {
|
for (Map.Entry<ValueParameterDescriptor, ResolvedValueArgument> entry : arguments.entrySet()) {
|
||||||
ValueParameterDescriptor valueParameterDescriptor = entry.getKey();
|
ValueParameterDescriptor valueParameterDescriptor = entry.getKey();
|
||||||
@@ -160,7 +160,7 @@ public class ArgumentTypeResolver {
|
|||||||
@NotNull
|
@NotNull
|
||||||
public JetTypeInfo getArgumentTypeInfo(
|
public JetTypeInfo getArgumentTypeInfo(
|
||||||
@Nullable JetExpression expression,
|
@Nullable JetExpression expression,
|
||||||
@NotNull CallResolutionContext context,
|
@NotNull CallResolutionContext<?> context,
|
||||||
@NotNull ResolveArgumentsMode resolveArgumentsMode,
|
@NotNull ResolveArgumentsMode resolveArgumentsMode,
|
||||||
@Nullable TemporaryBindingTrace traceToCommitForCall
|
@Nullable TemporaryBindingTrace traceToCommitForCall
|
||||||
) {
|
) {
|
||||||
@@ -202,7 +202,7 @@ public class ArgumentTypeResolver {
|
|||||||
@NotNull
|
@NotNull
|
||||||
public JetTypeInfo getFunctionLiteralTypeInfo(
|
public JetTypeInfo getFunctionLiteralTypeInfo(
|
||||||
@NotNull JetFunctionLiteralExpression functionLiteralExpression,
|
@NotNull JetFunctionLiteralExpression functionLiteralExpression,
|
||||||
@NotNull CallResolutionContext context,
|
@NotNull CallResolutionContext<?> context,
|
||||||
@NotNull ResolveArgumentsMode resolveArgumentsMode
|
@NotNull ResolveArgumentsMode resolveArgumentsMode
|
||||||
) {
|
) {
|
||||||
if (resolveArgumentsMode == SKIP_FUNCTION_ARGUMENTS) {
|
if (resolveArgumentsMode == SKIP_FUNCTION_ARGUMENTS) {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class CallResolverUtil {
|
|||||||
|
|
||||||
private CallResolverUtil() {}
|
private CallResolverUtil() {}
|
||||||
|
|
||||||
public static <D extends CallableDescriptor> ResolvedCallImpl<D> copy(@NotNull ResolvedCallImpl<D> call, @NotNull CallResolutionContext context) {
|
public static <D extends CallableDescriptor> ResolvedCallImpl<D> copy(@NotNull ResolvedCallImpl<D> call, @NotNull CallResolutionContext<?> context) {
|
||||||
ResolutionCandidate<D> candidate = ResolutionCandidate.create(call.getCandidateDescriptor(), call.getThisObject(),
|
ResolutionCandidate<D> candidate = ResolutionCandidate.create(call.getCandidateDescriptor(), call.getThisObject(),
|
||||||
call.getReceiverArgument(), call.getExplicitReceiverKind(),
|
call.getReceiverArgument(), call.getExplicitReceiverKind(),
|
||||||
call.isSafeCall());
|
call.isSafeCall());
|
||||||
|
|||||||
@@ -472,12 +472,12 @@ public class CandidateResolver {
|
|||||||
return OTHER_ERROR.combine(argumentsStatus);
|
return OTHER_ERROR.combine(argumentsStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
private <D extends CallableDescriptor> void addConstraintForValueArgument(
|
private void addConstraintForValueArgument(
|
||||||
@NotNull ValueArgument valueArgument,
|
@NotNull ValueArgument valueArgument,
|
||||||
@NotNull ValueParameterDescriptor valueParameterDescriptor,
|
@NotNull ValueParameterDescriptor valueParameterDescriptor,
|
||||||
@NotNull TypeSubstitutor substitutor,
|
@NotNull TypeSubstitutor substitutor,
|
||||||
@NotNull ConstraintSystem constraintSystem,
|
@NotNull ConstraintSystem constraintSystem,
|
||||||
@NotNull CallCandidateResolutionContext<D> context,
|
@NotNull CallCandidateResolutionContext<?> context,
|
||||||
@Nullable boolean[] isErrorType,
|
@Nullable boolean[] isErrorType,
|
||||||
@NotNull CallResolverUtil.ResolveArgumentsMode resolveFunctionArgumentBodies) {
|
@NotNull CallResolverUtil.ResolveArgumentsMode resolveFunctionArgumentBodies) {
|
||||||
|
|
||||||
@@ -486,7 +486,7 @@ public class CandidateResolver {
|
|||||||
TemporaryBindingTrace traceToResolveArgument = TemporaryBindingTrace.create(
|
TemporaryBindingTrace traceToResolveArgument = TemporaryBindingTrace.create(
|
||||||
context.trace, "transient trace to resolve argument", argumentExpression);
|
context.trace, "transient trace to resolve argument", argumentExpression);
|
||||||
JetType expectedType = substitutor.substitute(effectiveExpectedType, Variance.INVARIANT);
|
JetType expectedType = substitutor.substitute(effectiveExpectedType, Variance.INVARIANT);
|
||||||
CallResolutionContext newContext = context.replaceBindingTrace(traceToResolveArgument).replaceExpectedType(expectedType);
|
CallResolutionContext<?> newContext = context.replaceBindingTrace(traceToResolveArgument).replaceExpectedType(expectedType);
|
||||||
JetTypeInfo typeInfoForCall = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext,
|
JetTypeInfo typeInfoForCall = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext,
|
||||||
resolveFunctionArgumentBodies, traceToResolveArgument);
|
resolveFunctionArgumentBodies, traceToResolveArgument);
|
||||||
JetType type = typeInfoForCall.getType();
|
JetType type = typeInfoForCall.getType();
|
||||||
@@ -558,7 +558,7 @@ public class CandidateResolver {
|
|||||||
if (TypeUtils.dependsOnTypeParameters(expectedType, candidateCall.getCandidateDescriptor().getTypeParameters())) {
|
if (TypeUtils.dependsOnTypeParameters(expectedType, candidateCall.getCandidateDescriptor().getTypeParameters())) {
|
||||||
expectedType = NO_EXPECTED_TYPE;
|
expectedType = NO_EXPECTED_TYPE;
|
||||||
}
|
}
|
||||||
CallResolutionContext newContext = context.replaceDataFlowInfo(candidateCall.getDataFlowInfo()).replaceBindingTrace(trace)
|
CallResolutionContext<?> newContext = context.replaceDataFlowInfo(candidateCall.getDataFlowInfo()).replaceBindingTrace(trace)
|
||||||
.replaceExpectedType(expectedType);
|
.replaceExpectedType(expectedType);
|
||||||
JetTypeInfo typeInfoForCall = argumentTypeResolver.getArgumentTypeInfo(
|
JetTypeInfo typeInfoForCall = argumentTypeResolver.getArgumentTypeInfo(
|
||||||
expression, newContext, resolveFunctionArgumentBodies, null);
|
expression, newContext, resolveFunctionArgumentBodies, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user