removed unused type parameter from CallCandidateResolutionContext
This commit is contained in:
@@ -516,8 +516,8 @@ public class CallResolver {
|
|||||||
for (ResolutionCandidate<D> resolutionCandidate : task.getCandidates()) {
|
for (ResolutionCandidate<D> resolutionCandidate : task.getCandidates()) {
|
||||||
TemporaryBindingTrace candidateTrace = TemporaryBindingTrace.create(
|
TemporaryBindingTrace candidateTrace = TemporaryBindingTrace.create(
|
||||||
task.trace, "trace to resolve candidate");
|
task.trace, "trace to resolve candidate");
|
||||||
Collection<CallCandidateResolutionContext<D, F>> contexts = callTransformer.createCallContexts(resolutionCandidate, task, candidateTrace);
|
Collection<CallCandidateResolutionContext<D>> contexts = callTransformer.createCallContexts(resolutionCandidate, task, candidateTrace);
|
||||||
for (CallCandidateResolutionContext<D, F> context : contexts) {
|
for (CallCandidateResolutionContext<D> context : contexts) {
|
||||||
|
|
||||||
candidateResolver.performResolutionForCandidateCall(context, task);
|
candidateResolver.performResolutionForCandidateCall(context, task);
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
* Returns two contexts for 'variable as function' case (in FUNCTION_CALL_TRANSFORMER), one context otherwise
|
* Returns two contexts for 'variable as function' case (in FUNCTION_CALL_TRANSFORMER), one context otherwise
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
public Collection<CallCandidateResolutionContext<D, F>> createCallContexts(@NotNull ResolutionCandidate<D> candidate,
|
public Collection<CallCandidateResolutionContext<D>> createCallContexts(@NotNull ResolutionCandidate<D> candidate,
|
||||||
@NotNull ResolutionTask<D, F> task,
|
@NotNull ResolutionTask<D, F> task,
|
||||||
@NotNull TemporaryBindingTrace candidateTrace) {
|
@NotNull TemporaryBindingTrace candidateTrace) {
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
* the resolved call from callCandidateResolutionContext otherwise
|
* the resolved call from callCandidateResolutionContext otherwise
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
public Collection<ResolvedCallWithTrace<F>> transformCall(@NotNull CallCandidateResolutionContext<D, F> callCandidateResolutionContext,
|
public Collection<ResolvedCallWithTrace<F>> transformCall(@NotNull CallCandidateResolutionContext<D> callCandidateResolutionContext,
|
||||||
@NotNull CallResolver callResolver,
|
@NotNull CallResolver callResolver,
|
||||||
@NotNull ResolutionTask<D, F> task) {
|
@NotNull ResolutionTask<D, F> task) {
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
public static CallTransformer<CallableDescriptor, FunctionDescriptor> FUNCTION_CALL_TRANSFORMER = new CallTransformer<CallableDescriptor, FunctionDescriptor>() {
|
public static CallTransformer<CallableDescriptor, FunctionDescriptor> FUNCTION_CALL_TRANSFORMER = new CallTransformer<CallableDescriptor, FunctionDescriptor>() {
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public Collection<CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor>> createCallContexts(@NotNull ResolutionCandidate<CallableDescriptor> candidate,
|
public Collection<CallCandidateResolutionContext<CallableDescriptor>> createCallContexts(@NotNull ResolutionCandidate<CallableDescriptor> candidate,
|
||||||
@NotNull ResolutionTask<CallableDescriptor, FunctionDescriptor> task, @NotNull TemporaryBindingTrace candidateTrace) {
|
@NotNull ResolutionTask<CallableDescriptor, FunctionDescriptor> task, @NotNull TemporaryBindingTrace candidateTrace) {
|
||||||
|
|
||||||
if (candidate.getDescriptor() instanceof FunctionDescriptor) {
|
if (candidate.getDescriptor() instanceof FunctionDescriptor) {
|
||||||
@@ -102,18 +102,18 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
boolean hasReceiver = candidate.getReceiverArgument().exists();
|
boolean hasReceiver = candidate.getReceiverArgument().exists();
|
||||||
Call variableCall = stripCallArguments(task);
|
Call variableCall = stripCallArguments(task);
|
||||||
if (!hasReceiver) {
|
if (!hasReceiver) {
|
||||||
CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> context = CallCandidateResolutionContext.create(
|
CallCandidateResolutionContext<CallableDescriptor> context = CallCandidateResolutionContext.create(
|
||||||
ResolvedCallImpl.create(candidate, candidateTrace), task, candidateTrace, task.tracing, variableCall);
|
ResolvedCallImpl.create(candidate, candidateTrace), task, candidateTrace, task.tracing, variableCall);
|
||||||
return Collections.singleton(context);
|
return Collections.singleton(context);
|
||||||
}
|
}
|
||||||
Call variableCallWithoutReceiver = stripReceiver(variableCall);
|
Call variableCallWithoutReceiver = stripReceiver(variableCall);
|
||||||
CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> contextWithReceiver = createContextWithChainedTrace(
|
CallCandidateResolutionContext<CallableDescriptor> contextWithReceiver = createContextWithChainedTrace(
|
||||||
candidate, variableCall, candidateTrace, task);
|
candidate, variableCall, candidateTrace, task);
|
||||||
|
|
||||||
ResolutionCandidate<CallableDescriptor> candidateWithoutReceiver = ResolutionCandidate.create(
|
ResolutionCandidate<CallableDescriptor> candidateWithoutReceiver = ResolutionCandidate.create(
|
||||||
candidate.getDescriptor(), candidate.getThisObject(), ReceiverValue.NO_RECEIVER, ExplicitReceiverKind.NO_EXPLICIT_RECEIVER, false);
|
candidate.getDescriptor(), candidate.getThisObject(), ReceiverValue.NO_RECEIVER, ExplicitReceiverKind.NO_EXPLICIT_RECEIVER, false);
|
||||||
|
|
||||||
CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> contextWithoutReceiver = createContextWithChainedTrace(
|
CallCandidateResolutionContext<CallableDescriptor> contextWithoutReceiver = createContextWithChainedTrace(
|
||||||
candidateWithoutReceiver, variableCallWithoutReceiver, candidateTrace, task);
|
candidateWithoutReceiver, variableCallWithoutReceiver, candidateTrace, task);
|
||||||
|
|
||||||
contextWithoutReceiver.receiverForVariableAsFunctionSecondCall = variableCall.getExplicitReceiver();
|
contextWithoutReceiver.receiverForVariableAsFunctionSecondCall = variableCall.getExplicitReceiver();
|
||||||
@@ -121,7 +121,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
return Lists.newArrayList(contextWithReceiver, contextWithoutReceiver);
|
return Lists.newArrayList(contextWithReceiver, contextWithoutReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> createContextWithChainedTrace(ResolutionCandidate<CallableDescriptor> candidate,
|
private CallCandidateResolutionContext<CallableDescriptor> createContextWithChainedTrace(ResolutionCandidate<CallableDescriptor> candidate,
|
||||||
Call call, TemporaryBindingTrace temporaryTrace, ResolutionTask<CallableDescriptor, FunctionDescriptor> task) {
|
Call call, TemporaryBindingTrace temporaryTrace, ResolutionTask<CallableDescriptor, FunctionDescriptor> task) {
|
||||||
|
|
||||||
ChainedTemporaryBindingTrace chainedTrace = ChainedTemporaryBindingTrace.create(temporaryTrace, "chained trace to resolve candidate", candidate);
|
ChainedTemporaryBindingTrace chainedTrace = ChainedTemporaryBindingTrace.create(temporaryTrace, "chained trace to resolve candidate", candidate);
|
||||||
@@ -173,7 +173,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public Collection<ResolvedCallWithTrace<FunctionDescriptor>> transformCall(@NotNull final CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> context,
|
public Collection<ResolvedCallWithTrace<FunctionDescriptor>> transformCall(@NotNull final CallCandidateResolutionContext<CallableDescriptor> context,
|
||||||
@NotNull CallResolver callResolver, @NotNull final ResolutionTask<CallableDescriptor, FunctionDescriptor> task) {
|
@NotNull CallResolver callResolver, @NotNull final ResolutionTask<CallableDescriptor, FunctionDescriptor> task) {
|
||||||
|
|
||||||
final CallableDescriptor descriptor = context.candidateCall.getCandidateDescriptor();
|
final CallableDescriptor descriptor = context.candidateCall.getCandidateDescriptor();
|
||||||
@@ -207,7 +207,7 @@ public class CallTransformer<D extends CallableDescriptor, F extends D> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private Call createFunctionCall(final CallCandidateResolutionContext<CallableDescriptor, FunctionDescriptor> context,
|
private Call createFunctionCall(final CallCandidateResolutionContext<CallableDescriptor> context,
|
||||||
final ResolutionTask<CallableDescriptor, FunctionDescriptor> task, JetType returnType) {
|
final ResolutionTask<CallableDescriptor, FunctionDescriptor> task, JetType returnType) {
|
||||||
|
|
||||||
final ExpressionReceiver receiverFromVariable = new ExpressionReceiver(task.reference, returnType);
|
final ExpressionReceiver receiverFromVariable = new ExpressionReceiver(task.reference, returnType);
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class CandidateResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public <D extends CallableDescriptor, F extends D> void performResolutionForCandidateCall(
|
public <D extends CallableDescriptor, F extends D> void performResolutionForCandidateCall(
|
||||||
@NotNull CallCandidateResolutionContext<D, F> context,
|
@NotNull CallCandidateResolutionContext<D> context,
|
||||||
@NotNull ResolutionTask<D, F> task) {
|
@NotNull ResolutionTask<D, F> task) {
|
||||||
|
|
||||||
ProgressIndicatorProvider.checkCanceled();
|
ProgressIndicatorProvider.checkCanceled();
|
||||||
@@ -167,7 +167,7 @@ public class CandidateResolver {
|
|||||||
AutoCastUtils.recordAutoCastIfNecessary(candidateCall.getThisObject(), candidateCall.getTrace());
|
AutoCastUtils.recordAutoCastIfNecessary(candidateCall.getThisObject(), candidateCall.getTrace());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean checkOuterClassMemberIsAccessible(@NotNull CallCandidateResolutionContext<?, ?> context) {
|
private static boolean checkOuterClassMemberIsAccessible(@NotNull CallCandidateResolutionContext<?> context) {
|
||||||
// In "this@Outer.foo()" the error will be reported on "this@Outer" instead
|
// In "this@Outer.foo()" the error will be reported on "this@Outer" instead
|
||||||
if (context.call.getExplicitReceiver().exists()) return true;
|
if (context.call.getExplicitReceiver().exists()) return true;
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ public class CandidateResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public <D extends CallableDescriptor> void completeTypeInferenceDependentOnFunctionLiteralsForCall(
|
public <D extends CallableDescriptor> void completeTypeInferenceDependentOnFunctionLiteralsForCall(
|
||||||
CallCandidateResolutionContext<D, D> context
|
CallCandidateResolutionContext<D> context
|
||||||
) {
|
) {
|
||||||
ResolvedCallImpl<D> resolvedCall = context.candidateCall;
|
ResolvedCallImpl<D> resolvedCall = context.candidateCall;
|
||||||
assert resolvedCall.hasUnknownTypeParameters();
|
assert resolvedCall.hasUnknownTypeParameters();
|
||||||
@@ -209,7 +209,7 @@ public class CandidateResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public <D extends CallableDescriptor> void completeTypeInferenceDependentOnExpectedTypeForCall(
|
public <D extends CallableDescriptor> void completeTypeInferenceDependentOnExpectedTypeForCall(
|
||||||
CallCandidateResolutionContext<D, D> context
|
CallCandidateResolutionContext<D> context
|
||||||
) {
|
) {
|
||||||
ResolvedCallImpl<D> resolvedCall = context.candidateCall;
|
ResolvedCallImpl<D> resolvedCall = context.candidateCall;
|
||||||
assert resolvedCall.hasUnknownTypeParameters();
|
assert resolvedCall.hasUnknownTypeParameters();
|
||||||
@@ -263,7 +263,7 @@ public class CandidateResolver {
|
|||||||
@NotNull ValueArgument valueArgument,
|
@NotNull ValueArgument valueArgument,
|
||||||
@NotNull ValueParameterDescriptor valueParameterDescriptor,
|
@NotNull ValueParameterDescriptor valueParameterDescriptor,
|
||||||
@NotNull ConstraintSystem constraintSystem,
|
@NotNull ConstraintSystem constraintSystem,
|
||||||
@NotNull CallCandidateResolutionContext<D, D> context
|
@NotNull CallCandidateResolutionContext<D> context
|
||||||
) {
|
) {
|
||||||
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
JetExpression argumentExpression = valueArgument.getArgumentExpression();
|
||||||
assert argumentExpression instanceof JetFunctionLiteralExpression;
|
assert argumentExpression instanceof JetFunctionLiteralExpression;
|
||||||
@@ -283,7 +283,7 @@ public class CandidateResolver {
|
|||||||
if (statementExpression == null) return;
|
if (statementExpression == null) return;
|
||||||
ObservableBindingTrace errorInterceptingTrace = ExpressionTypingUtils.makeTraceInterceptingTypeMismatch(
|
ObservableBindingTrace errorInterceptingTrace = ExpressionTypingUtils.makeTraceInterceptingTypeMismatch(
|
||||||
traceToResolveFunctionLiteral, statementExpression, mismatch);
|
traceToResolveFunctionLiteral, statementExpression, mismatch);
|
||||||
CallCandidateResolutionContext<D, D> newContext =
|
CallCandidateResolutionContext<D> newContext =
|
||||||
context.replaceBindingTrace(errorInterceptingTrace).replaceExpectedType(expectedType);
|
context.replaceBindingTrace(errorInterceptingTrace).replaceExpectedType(expectedType);
|
||||||
JetType type = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext, RESOLVE_FUNCTION_ARGUMENTS).getType();
|
JetType type = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext, RESOLVE_FUNCTION_ARGUMENTS).getType();
|
||||||
if (!mismatch[0]) {
|
if (!mismatch[0]) {
|
||||||
@@ -296,13 +296,13 @@ public class CandidateResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
JetType expectedTypeWithoutReturnType = hasExpectedReturnType ? CallResolverUtil.replaceReturnTypeToUnknown(expectedType) : expectedType;
|
JetType expectedTypeWithoutReturnType = hasExpectedReturnType ? CallResolverUtil.replaceReturnTypeToUnknown(expectedType) : expectedType;
|
||||||
CallCandidateResolutionContext<D, D> newContext = context.replaceExpectedType(expectedTypeWithoutReturnType);
|
CallCandidateResolutionContext<D> newContext = context.replaceExpectedType(expectedTypeWithoutReturnType);
|
||||||
JetType type = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext, RESOLVE_FUNCTION_ARGUMENTS).getType();
|
JetType type = argumentTypeResolver.getArgumentTypeInfo(argumentExpression, newContext, RESOLVE_FUNCTION_ARGUMENTS).getType();
|
||||||
constraintSystem.addSubtypeConstraint(
|
constraintSystem.addSubtypeConstraint(
|
||||||
type, effectiveExpectedType, ConstraintPosition.getValueParameterPosition(valueParameterDescriptor.getIndex()));
|
type, effectiveExpectedType, ConstraintPosition.getValueParameterPosition(valueParameterDescriptor.getIndex()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private <D extends CallableDescriptor, F extends D> ResolutionStatus inferTypeArguments(CallCandidateResolutionContext<D, F> context) {
|
private <D extends CallableDescriptor> ResolutionStatus inferTypeArguments(CallCandidateResolutionContext<D> context) {
|
||||||
ResolvedCallImpl<D> candidateCall = context.candidateCall;
|
ResolvedCallImpl<D> candidateCall = context.candidateCall;
|
||||||
final D candidate = candidateCall.getCandidateDescriptor();
|
final D candidate = candidateCall.getCandidateDescriptor();
|
||||||
|
|
||||||
@@ -418,8 +418,8 @@ public class CandidateResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private <D extends CallableDescriptor, F extends D> ValueArgumentsCheckingResult checkAllValueArguments(
|
private <D extends CallableDescriptor> ValueArgumentsCheckingResult checkAllValueArguments(
|
||||||
@NotNull CallCandidateResolutionContext<D, F> context,
|
@NotNull CallCandidateResolutionContext<D> context,
|
||||||
@NotNull ResolveMode resolveFunctionArgumentBodies) {
|
@NotNull ResolveMode resolveFunctionArgumentBodies) {
|
||||||
ValueArgumentsCheckingResult checkingResult = checkValueArgumentTypes(context, context.candidateCall,
|
ValueArgumentsCheckingResult checkingResult = checkValueArgumentTypes(context, context.candidateCall,
|
||||||
context.candidateCall.getTrace(), resolveFunctionArgumentBodies);
|
context.candidateCall.getTrace(), resolveFunctionArgumentBodies);
|
||||||
@@ -511,7 +511,7 @@ public class CandidateResolver {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private <D extends CallableDescriptor, F extends D> ResolutionStatus checkReceiver(CallCandidateResolutionContext<D, F> context, ResolvedCall<D> candidateCall,
|
private <D extends CallableDescriptor> ResolutionStatus checkReceiver(CallCandidateResolutionContext<D> context, ResolvedCall<D> candidateCall,
|
||||||
ReceiverParameterDescriptor receiverParameter, ReceiverValue receiverArgument,
|
ReceiverParameterDescriptor receiverParameter, ReceiverValue receiverArgument,
|
||||||
boolean isExplicitReceiver, boolean implicitInvokeCheck) {
|
boolean isExplicitReceiver, boolean implicitInvokeCheck) {
|
||||||
|
|
||||||
|
|||||||
+9
-9
@@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
|||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
|
|
||||||
public final class CallCandidateResolutionContext<D extends CallableDescriptor, F extends D> extends CallResolutionContext<CallCandidateResolutionContext<D, F>> {
|
public final class CallCandidateResolutionContext<D extends CallableDescriptor> extends CallResolutionContext<CallCandidateResolutionContext<D>> {
|
||||||
public final ResolvedCallImpl<D> candidateCall;
|
public final ResolvedCallImpl<D> candidateCall;
|
||||||
public final TracingStrategy tracing;
|
public final TracingStrategy tracing;
|
||||||
public ReceiverValue receiverForVariableAsFunctionSecondCall = ReceiverValue.NO_RECEIVER;
|
public ReceiverValue receiverForVariableAsFunctionSecondCall = ReceiverValue.NO_RECEIVER;
|
||||||
@@ -52,40 +52,40 @@ public final class CallCandidateResolutionContext<D extends CallableDescriptor,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <D extends CallableDescriptor, F extends D> CallCandidateResolutionContext<D, F> create(
|
public static <D extends CallableDescriptor, F extends D> CallCandidateResolutionContext<D> create(
|
||||||
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull ResolutionTask<D, F> task, @NotNull BindingTrace trace,
|
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull ResolutionTask<D, F> task, @NotNull BindingTrace trace,
|
||||||
@NotNull TracingStrategy tracing, @NotNull Call call) {
|
@NotNull TracingStrategy tracing, @NotNull Call call) {
|
||||||
return new CallCandidateResolutionContext<D, F>(candidateCall, tracing, trace, task.scope, call, task.expectedType,
|
return new CallCandidateResolutionContext<D>(candidateCall, tracing, trace, task.scope, call, task.expectedType,
|
||||||
task.dataFlowInfo, task.namespacesAllowed, true);
|
task.dataFlowInfo, task.namespacesAllowed, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <D extends CallableDescriptor, F extends D> CallCandidateResolutionContext<D, F> create(
|
public static <D extends CallableDescriptor, F extends D> CallCandidateResolutionContext<D> create(
|
||||||
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull ResolutionTask<D, F> task, @NotNull BindingTrace trace,
|
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull ResolutionTask<D, F> task, @NotNull BindingTrace trace,
|
||||||
@NotNull TracingStrategy tracing) {
|
@NotNull TracingStrategy tracing) {
|
||||||
return create(candidateCall, task, trace, tracing, task.call);
|
return create(candidateCall, task, trace, tracing, task.call);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <D extends CallableDescriptor> CallCandidateResolutionContext<D, D> createForCallBeingAnalyzed(
|
public static <D extends CallableDescriptor> CallCandidateResolutionContext<D> createForCallBeingAnalyzed(
|
||||||
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull BasicCallResolutionContext context, @NotNull TracingStrategy tracing
|
@NotNull ResolvedCallImpl<D> candidateCall, @NotNull BasicCallResolutionContext context, @NotNull TracingStrategy tracing
|
||||||
) {
|
) {
|
||||||
return new CallCandidateResolutionContext<D, D>(candidateCall, tracing, context.trace, context.scope, context.call,
|
return new CallCandidateResolutionContext<D>(candidateCall, tracing, context.trace, context.scope, context.call,
|
||||||
context.expectedType, context.dataFlowInfo, context.namespacesAllowed, false);
|
context.expectedType, context.dataFlowInfo, context.namespacesAllowed, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CallCandidateResolutionContext<D, F> replace(
|
protected CallCandidateResolutionContext<D> replace(
|
||||||
@NotNull BindingTrace trace,
|
@NotNull BindingTrace trace,
|
||||||
@NotNull JetScope scope,
|
@NotNull JetScope scope,
|
||||||
@NotNull DataFlowInfo dataFlowInfo,
|
@NotNull DataFlowInfo dataFlowInfo,
|
||||||
@NotNull JetType expectedType,
|
@NotNull JetType expectedType,
|
||||||
boolean namespacesAllowed
|
boolean namespacesAllowed
|
||||||
) {
|
) {
|
||||||
return new CallCandidateResolutionContext<D, F>(candidateCall, tracing, trace, scope, call, expectedType, dataFlowInfo,
|
return new CallCandidateResolutionContext<D>(candidateCall, tracing, trace, scope, call, expectedType, dataFlowInfo,
|
||||||
namespacesAllowed, false);
|
namespacesAllowed, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CallCandidateResolutionContext<D, F> self() {
|
protected CallCandidateResolutionContext<D> self() {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user