Removed duplication in MutableResolvedCall interface

'hasIncompleteTypeParameters()' is the same as 'getConstraintSystem() != null'
This commit is contained in:
Svetlana Isakova
2014-05-04 20:09:48 +04:00
parent 6ffb02ae0d
commit ad5fc4cd05
3 changed files with 1 additions and 24 deletions
@@ -190,7 +190,7 @@ public class CandidateResolver {
) { ) {
MutableResolvedCall<D> resolvedCall = context.candidateCall; MutableResolvedCall<D> resolvedCall = context.candidateCall;
ConstraintSystem constraintSystem = resolvedCall.getConstraintSystem(); ConstraintSystem constraintSystem = resolvedCall.getConstraintSystem();
if (!resolvedCall.hasIncompleteTypeParameters() || constraintSystem == null) return; if (constraintSystem == null) return;
// constraints for function literals // constraints for function literals
// Value parameters // Value parameters
@@ -337,7 +337,6 @@ public class CandidateResolver {
// Solution // Solution
boolean hasContradiction = constraintSystem.getStatus().hasContradiction(); boolean hasContradiction = constraintSystem.getStatus().hasContradiction();
candidateCall.setHasIncompleteTypeParameters(true);
if (!hasContradiction) { if (!hasContradiction) {
return INCOMPLETE_TYPE_INFERENCE; return INCOMPLETE_TYPE_INFERENCE;
} }
@@ -36,17 +36,6 @@ public interface MutableResolvedCall<D extends CallableDescriptor> extends Resol
void setStatusToSuccess(); void setStatusToSuccess();
/**
* 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)
*/
//todo remove, replace with "typeArguments.isEmpty() && !typeParameters.isEmpty()"
boolean hasIncompleteTypeParameters();
void setHasIncompleteTypeParameters(boolean hasIncompleteTypeParameters);
//todo remove: use value to parameter map status //todo remove: use value to parameter map status
boolean isDirty(); boolean isDirty();
@@ -87,7 +87,6 @@ public class ResolvedCallImpl<D extends CallableDescriptor> implements MutableRe
private DelegatingBindingTrace trace; private DelegatingBindingTrace trace;
private TracingStrategy tracing; private TracingStrategy tracing;
private ResolutionStatus status = UNKNOWN_STATUS; private ResolutionStatus status = UNKNOWN_STATUS;
private boolean hasUnknownTypeParameters = false;
private ConstraintSystem constraintSystem = null; private ConstraintSystem constraintSystem = null;
private Boolean hasInferredReturnType = null; private Boolean hasInferredReturnType = null;
private boolean completed = false; private boolean completed = false;
@@ -126,16 +125,6 @@ public class ResolvedCallImpl<D extends CallableDescriptor> implements MutableRe
status = ResolutionStatus.SUCCESS; status = ResolutionStatus.SUCCESS;
} }
@Override
public boolean hasIncompleteTypeParameters() {
return hasUnknownTypeParameters;
}
@Override
public void setHasIncompleteTypeParameters(boolean hasIncompleteTypeParameters) {
this.hasUnknownTypeParameters = hasIncompleteTypeParameters;
}
@Override @Override
@NotNull @NotNull
public DelegatingBindingTrace getTrace() { public DelegatingBindingTrace getTrace() {