Minor refactoring in CallExpressionResolver

Kill useless parameters
This commit is contained in:
Alexander Udalov
2013-03-27 18:01:15 +04:00
parent 77ef20a51e
commit 1d07068c7c
@@ -52,7 +52,6 @@ import java.util.List;
import static org.jetbrains.jet.lang.diagnostics.Errors.*; import static org.jetbrains.jet.lang.diagnostics.Errors.*;
import static org.jetbrains.jet.lang.resolve.BindingContext.*; import static org.jetbrains.jet.lang.resolve.BindingContext.*;
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getStaticNestedClassesScope; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getStaticNestedClassesScope;
import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE; import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE;
public class CallExpressionResolver { public class CallExpressionResolver {
@@ -191,7 +190,7 @@ public class CallExpressionResolver {
@Nullable @Nullable
private ResolvedCallWithTrace<FunctionDescriptor> getResolvedCallForFunction( private ResolvedCallWithTrace<FunctionDescriptor> getResolvedCallForFunction(
@NotNull Call call, @NotNull JetExpression callExpression, @NotNull ReceiverValue receiver, @NotNull Call call, @NotNull JetExpression callExpression,
@NotNull ResolutionContext context, @NotNull ResolveMode resolveMode, @NotNull ResolutionContext context, @NotNull ResolveMode resolveMode,
@NotNull ResolutionResultsCache resolutionResultsCache, @NotNull boolean[] result @NotNull ResolutionResultsCache resolutionResultsCache, @NotNull boolean[] result
) { ) {
@@ -199,7 +198,7 @@ public class CallExpressionResolver {
OverloadResolutionResultsImpl<FunctionDescriptor> results = callResolver.resolveFunctionCall( OverloadResolutionResultsImpl<FunctionDescriptor> results = callResolver.resolveFunctionCall(
BasicCallResolutionContext.create(context, call, resolveMode, resolutionResultsCache)); BasicCallResolutionContext.create(context, call, resolveMode, resolutionResultsCache));
if (!results.isNothing()) { if (!results.isNothing()) {
checkSuper(receiver, results, context.trace, callExpression); checkSuper(call.getExplicitReceiver(), results, context.trace, callExpression);
result[0] = true; result[0] = true;
if (results.isSingleResult() && resolveMode == ResolveMode.TOP_LEVEL_CALL) { if (results.isSingleResult() && resolveMode == ResolveMode.TOP_LEVEL_CALL) {
if (!CallResolverUtil.hasInferredReturnType(results.getResultingCall())) return null; if (!CallResolverUtil.hasInferredReturnType(results.getResultingCall())) return null;
@@ -269,8 +268,7 @@ public class CallExpressionResolver {
Call call = CallMaker.makeCall(nameExpression, receiver, callOperationNode, nameExpression, Collections.<ValueArgument>emptyList()); Call call = CallMaker.makeCall(nameExpression, receiver, callOperationNode, nameExpression, Collections.<ValueArgument>emptyList());
TemporaryBindingTrace traceForFunction = TemporaryBindingTrace.create(context.trace, "trace to resolve as function", nameExpression); TemporaryBindingTrace traceForFunction = TemporaryBindingTrace.create(context.trace, "trace to resolve as function", nameExpression);
ResolvedCall<FunctionDescriptor> resolvedCall = getResolvedCallForFunction( ResolvedCall<FunctionDescriptor> resolvedCall = getResolvedCallForFunction(
call, nameExpression, receiver, context, ResolveMode.TOP_LEVEL_CALL, call, nameExpression, context, ResolveMode.TOP_LEVEL_CALL, ResolutionResultsCache.create(), result);
ResolutionResultsCache.create(), result);
if (result[0]) { if (result[0]) {
FunctionDescriptor functionDescriptor = resolvedCall != null ? resolvedCall.getResultingDescriptor() : null; FunctionDescriptor functionDescriptor = resolvedCall != null ? resolvedCall.getResultingDescriptor() : null;
traceForFunction.commit(); traceForFunction.commit();
@@ -285,7 +283,7 @@ public class CallExpressionResolver {
} }
@NotNull @NotNull
public <D extends CallableDescriptor> JetTypeInfo getCallExpressionTypeInfo( public JetTypeInfo getCallExpressionTypeInfo(
@NotNull JetCallExpression callExpression, @NotNull ReceiverValue receiver, @NotNull JetCallExpression callExpression, @NotNull ReceiverValue receiver,
@Nullable ASTNode callOperationNode, @NotNull ResolutionContext context, @NotNull ResolveMode resolveMode, @Nullable ASTNode callOperationNode, @NotNull ResolutionContext context, @NotNull ResolveMode resolveMode,
@NotNull ResolutionResultsCache resolutionResultsCache @NotNull ResolutionResultsCache resolutionResultsCache
@@ -299,7 +297,7 @@ public class CallExpressionResolver {
} }
@NotNull @NotNull
public <D extends CallableDescriptor> JetTypeInfo getCallExpressionTypeInfoWithoutFinalTypeCheck( public JetTypeInfo getCallExpressionTypeInfoWithoutFinalTypeCheck(
@NotNull JetCallExpression callExpression, @NotNull ReceiverValue receiver, @NotNull JetCallExpression callExpression, @NotNull ReceiverValue receiver,
@Nullable ASTNode callOperationNode, @NotNull ResolutionContext context, @NotNull ResolveMode resolveMode, @Nullable ASTNode callOperationNode, @NotNull ResolutionContext context, @NotNull ResolveMode resolveMode,
@NotNull ResolutionResultsCache resolutionResultsCache @NotNull ResolutionResultsCache resolutionResultsCache
@@ -309,7 +307,7 @@ public class CallExpressionResolver {
TemporaryBindingTrace traceForFunction = TemporaryBindingTrace.create(context.trace, "trace to resolve as function call", callExpression); TemporaryBindingTrace traceForFunction = TemporaryBindingTrace.create(context.trace, "trace to resolve as function call", callExpression);
ResolvedCallWithTrace<FunctionDescriptor> resolvedCall = getResolvedCallForFunction( ResolvedCallWithTrace<FunctionDescriptor> resolvedCall = getResolvedCallForFunction(
call, callExpression, receiver, context.replaceBindingTrace(traceForFunction), resolveMode, resolutionResultsCache, result); call, callExpression, context.replaceBindingTrace(traceForFunction), resolveMode, resolutionResultsCache, result);
if (result[0]) { if (result[0]) {
FunctionDescriptor functionDescriptor = resolvedCall != null ? resolvedCall.getResultingDescriptor() : null; FunctionDescriptor functionDescriptor = resolvedCall != null ? resolvedCall.getResultingDescriptor() : null;
traceForFunction.commit(); traceForFunction.commit();