public class ResolvedCallImpl<D extends CallableDescriptor> extends java.lang.Object implements ResolvedCallWithTrace<D>
| Modifier and Type | Field and Description |
|---|---|
static com.intellij.util.Function<ResolvedCallWithTrace<? extends CallableDescriptor>,CallableDescriptor> |
MAP_TO_CANDIDATE |
static com.intellij.util.Function<ResolvedCallWithTrace<? extends CallableDescriptor>,CallableDescriptor> |
MAP_TO_RESULT |
| Modifier and Type | Method and Description |
|---|---|
void |
addDataFlowInfo(DataFlowInfo info) |
void |
addStatus(ResolutionStatus status) |
void |
argumentHasNoType() |
static <D extends CallableDescriptor> |
create(ResolutionCandidate<D> candidate,
DelegatingBindingTrace trace,
TracingStrategy tracing) |
ResolvedCallImpl<D> |
getCallToCompleteTypeArgumentInference()
//todo get rid of Impl class in the interface
If the call has incomplete type parameters, it should be completed after resolution process is finished.
|
D |
getCandidateDescriptor()
A target callable descriptor as it was accessible in the corresponding scope, i.e.
|
ConstraintSystem |
getConstraintSystem() |
DataFlowInfo |
getDataFlowInfo() |
ExplicitReceiverKind |
getExplicitReceiverKind()
Determines whether receiver argument or this object is substituted for explicit receiver
|
ReceiverValue |
getReceiverArgument()
If the target was an extension function or property, this is the value for its receiver parameter
|
D |
getResultingDescriptor()
Type arguments are substituted.
|
ResolutionStatus |
getStatus() |
ReceiverValue |
getThisObject()
If the target was a member of a class, this is the object of that class to call it on
|
DelegatingBindingTrace |
getTrace() |
TracingStrategy |
getTracing() |
java.util.Map<TypeParameterDescriptor,JetType> |
getTypeArguments()
What's substituted for type parameters
|
java.util.Set<ValueArgument> |
getUnmappedArguments() |
java.util.Map<ValueParameterDescriptor,ResolvedValueArgument> |
getValueArguments()
Values (arguments) for value parameters
|
java.util.List<ResolvedValueArgument> |
getValueArgumentsByIndex()
Values (arguments) for value parameters indexed by parameter index
|
boolean |
hasIncompleteTypeParameters()
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).
|
boolean |
isDirty() |
boolean |
isSafeCall() |
void |
recordTypeArgument(TypeParameterDescriptor typeParameter,
JetType typeArgument) |
void |
recordValueArgument(ValueParameterDescriptor valueParameter,
ResolvedValueArgument valueArgument) |
void |
setConstraintSystem(ConstraintSystem constraintSystem) |
void |
setHasUnknownTypeParameters(boolean hasUnknownTypeParameters) |
void |
setInitialDataFlowInfo(DataFlowInfo info) |
void |
setResultingSubstitutor(TypeSubstitutor substitutor) |
void |
setStatusToSuccess() |
void |
setUnmappedArguments(java.util.Collection<ValueArgument> unmappedArguments) |
public static final com.intellij.util.Function<ResolvedCallWithTrace<? extends CallableDescriptor>,CallableDescriptor> MAP_TO_CANDIDATE
public static final com.intellij.util.Function<ResolvedCallWithTrace<? extends CallableDescriptor>,CallableDescriptor> MAP_TO_RESULT
@NotNull public static <D extends CallableDescriptor> ResolvedCallImpl<D> create(@NotNull ResolutionCandidate<D> candidate, @NotNull DelegatingBindingTrace trace, @NotNull TracingStrategy tracing)
@NotNull public ResolutionStatus getStatus()
getStatus in interface ResolvedCallWithTrace<D extends CallableDescriptor>public void addStatus(@NotNull ResolutionStatus status)
public void setStatusToSuccess()
public boolean hasIncompleteTypeParameters()
ResolvedCallWithTracehasIncompleteTypeParameters in interface ResolvedCallWithTrace<D extends CallableDescriptor>public void setHasUnknownTypeParameters(boolean hasUnknownTypeParameters)
@NotNull public DelegatingBindingTrace getTrace()
getTrace in interface ResolvedCallWithTrace<D extends CallableDescriptor>@NotNull public TracingStrategy getTracing()
@NotNull public D getCandidateDescriptor()
ResolvedCallgetCandidateDescriptor in interface ResolvedCall<D extends CallableDescriptor>@NotNull public D getResultingDescriptor()
ResolvedCallgetResultingDescriptor in interface ResolvedCall<D extends CallableDescriptor>public void setResultingSubstitutor(@NotNull TypeSubstitutor substitutor)
public void recordTypeArgument(@NotNull TypeParameterDescriptor typeParameter, @NotNull JetType typeArgument)
public void setConstraintSystem(@NotNull ConstraintSystem constraintSystem)
@Nullable public ConstraintSystem getConstraintSystem()
public void recordValueArgument(@NotNull ValueParameterDescriptor valueParameter, @NotNull ResolvedValueArgument valueArgument)
public void setUnmappedArguments(@NotNull java.util.Collection<ValueArgument> unmappedArguments)
@NotNull public java.util.Set<ValueArgument> getUnmappedArguments()
@NotNull public ReceiverValue getReceiverArgument()
ResolvedCallgetReceiverArgument in interface ResolvedCall<D extends CallableDescriptor>@NotNull public ReceiverValue getThisObject()
ResolvedCallgetThisObject in interface ResolvedCall<D extends CallableDescriptor>@NotNull public ExplicitReceiverKind getExplicitReceiverKind()
ResolvedCallgetExplicitReceiverKind in interface ResolvedCall<D extends CallableDescriptor>@NotNull public java.util.Map<ValueParameterDescriptor,ResolvedValueArgument> getValueArguments()
ResolvedCallgetValueArguments in interface ResolvedCall<D extends CallableDescriptor>@NotNull public java.util.List<ResolvedValueArgument> getValueArgumentsByIndex()
ResolvedCallgetValueArgumentsByIndex in interface ResolvedCall<D extends CallableDescriptor>public void argumentHasNoType()
public boolean isDirty()
isDirty in interface ResolvedCallWithTrace<D extends CallableDescriptor>@NotNull public java.util.Map<TypeParameterDescriptor,JetType> getTypeArguments()
ResolvedCallgetTypeArguments in interface ResolvedCall<D extends CallableDescriptor>public boolean isSafeCall()
isSafeCall in interface ResolvedCall<D extends CallableDescriptor>@NotNull public DataFlowInfo getDataFlowInfo()
getDataFlowInfo in interface ResolvedCall<D extends CallableDescriptor>public void setInitialDataFlowInfo(@NotNull DataFlowInfo info)
public void addDataFlowInfo(@NotNull DataFlowInfo info)
@NotNull public ResolvedCallImpl<D> getCallToCompleteTypeArgumentInference()
ResolvedCallWithTracegetCallToCompleteTypeArgumentInference in interface ResolvedCallWithTrace<D extends CallableDescriptor>