From c42c2e653b810b4e79b3f787fe64ccf045dd49b2 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Fri, 8 Feb 2013 14:56:26 +0400 Subject: [PATCH] rename hasUnknownTypeParameters -> hasIncompleteTypeParameters --- .../jetbrains/jet/lang/resolve/calls/CallResolver.java | 2 +- .../jet/lang/resolve/calls/CallResolverUtil.java | 2 +- .../jet/lang/resolve/calls/CandidateResolver.java | 6 +++--- .../jet/lang/resolve/calls/model/ResolvedCallImpl.java | 2 +- .../lang/resolve/calls/model/ResolvedCallWithTrace.java | 8 +++++++- .../calls/model/VariableAsFunctionResolvedCall.java | 4 ++-- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java index b7900ea6e47..fd101e92476 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java @@ -332,7 +332,7 @@ public class CallResolver { ResolvedCallWithTrace resolvedCall = (ResolvedCallWithTrace) results.getResultingCall(); //todo[ResolvedCallImpl] if (!(resolvedCall instanceof ResolvedCallImpl)) return results; - if (!resolvedCall.hasUnknownTypeParameters()) { + if (!resolvedCall.hasIncompleteTypeParameters()) { CallCandidateResolutionContext callCandidateResolutionContext = CallCandidateResolutionContext.createForCallBeingAnalyzed((ResolvedCallImpl) resolvedCall, context, tracing); candidateResolver.completeNestedCallsInference(callCandidateResolutionContext); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolverUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolverUtil.java index 70471309b6e..eea3620b56c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolverUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolverUtil.java @@ -65,7 +65,7 @@ public class CallResolverUtil { if (call.isDirty()) { copy.argumentHasNoType(); } - copy.setHasUnknownTypeParameters(call.hasUnknownTypeParameters()); + copy.setHasUnknownTypeParameters(call.hasIncompleteTypeParameters()); ConstraintSystem constraintSystem = call.getConstraintSystem(); if (constraintSystem != null) { copy.setConstraintSystem(constraintSystem.copy()); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CandidateResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CandidateResolver.java index 0061be051f2..c59f694594c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CandidateResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CandidateResolver.java @@ -193,7 +193,7 @@ public class CandidateResolver { CallCandidateResolutionContext context ) { ResolvedCallImpl resolvedCall = context.candidateCall; - assert resolvedCall.hasUnknownTypeParameters(); + assert resolvedCall.hasIncompleteTypeParameters(); ConstraintSystem constraintSystem = resolvedCall.getConstraintSystem(); assert constraintSystem != null; @@ -217,7 +217,7 @@ public class CandidateResolver { boolean isInnerCall ) { ResolvedCallImpl resolvedCall = context.candidateCall; - assert resolvedCall.hasUnknownTypeParameters(); + assert resolvedCall.hasIncompleteTypeParameters(); D descriptor = resolvedCall.getCandidateDescriptor(); ConstraintSystem constraintSystem = resolvedCall.getConstraintSystem(); assert constraintSystem != null; @@ -297,7 +297,7 @@ public class CandidateResolver { CallCandidateResolutionContext contextForArgument = storedContextForArgument.replaceResolveMode(ResolveMode.TOP_LEVEL_CALL).replaceBindingTrace(context.trace).replaceExpectedType(expectedType); - if (contextForArgument.candidateCall.hasUnknownTypeParameters()) { + if (contextForArgument.candidateCall.hasIncompleteTypeParameters()) { completeTypeInferenceDependentOnExpectedTypeForCall(contextForArgument, true); } else { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java index f7ce1a62b4f..2ae822d470e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java @@ -109,7 +109,7 @@ public class ResolvedCallImpl implements ResolvedC } @Override - public boolean hasUnknownTypeParameters() { + public boolean hasIncompleteTypeParameters() { return hasUnknownTypeParameters; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallWithTrace.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallWithTrace.java index 938262795c6..12da5beeb09 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallWithTrace.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallWithTrace.java @@ -26,7 +26,13 @@ public interface ResolvedCallWithTrace extends Res @NotNull ResolutionStatus getStatus(); - boolean hasUnknownTypeParameters(); + /** + * Resolved call can have incomplete type parameters + * if ResolutionStatus is INCOMPLETE_TYPE_INFERENCE (might be completed successfully) + * or OTHER_ERROR (cannot be completed successfully, but if there's only one candidate, should be completed anyway). + * @return true if resolved call has unknown type parameters (inference is incomplete) + */ + boolean hasIncompleteTypeParameters(); boolean isDirty(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java index fca36c265d0..7604892244d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java @@ -129,7 +129,7 @@ public class VariableAsFunctionResolvedCall implements ResolvedCallWithTrace