org.jetbrains.jet.lang.resolve.calls.model
Interface ResolvedCall<D extends CallableDescriptor>

All Known Subinterfaces:
MutableResolvedCall<D>
All Known Implementing Classes:
DelegatingResolvedCall, ResolvedCallImpl

public interface ResolvedCall<D extends CallableDescriptor>


Method Summary
 ArgumentMapping getArgumentMapping(ValueArgument valueArgument)
          The result of mapping the value argument to a parameter
 Call getCall()
          The call that was resolved to this ResolvedCall
 D getCandidateDescriptor()
          A target callable descriptor as it was accessible in the corresponding scope, i.e.
 DataFlowInfoForArguments getDataFlowInfoForArguments()
          Data flow info for each argument and the result data flow info
 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.
 ReceiverValue getThisObject()
          If the target was a member of a class, this is the object of that class to call it on
 java.util.Map<TypeParameterDescriptor,JetType> getTypeArguments()
          What's substituted for type parameters
 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 isSafeCall()
           
 

Method Detail

getCall

@NotNull
Call getCall()
The call that was resolved to this ResolvedCall


getCandidateDescriptor

@NotNull
D getCandidateDescriptor()
A target callable descriptor as it was accessible in the corresponding scope, i.e. with type arguments not substituted


getResultingDescriptor

@NotNull
D getResultingDescriptor()
Type arguments are substituted. This descriptor is guaranteed to have NO declared type parameters


getReceiverArgument

@NotNull
ReceiverValue getReceiverArgument()
If the target was an extension function or property, this is the value for its receiver parameter


getThisObject

@NotNull
ReceiverValue getThisObject()
If the target was a member of a class, this is the object of that class to call it on


getExplicitReceiverKind

@NotNull
ExplicitReceiverKind getExplicitReceiverKind()
Determines whether receiver argument or this object is substituted for explicit receiver


getValueArguments

@NotNull
java.util.Map<ValueParameterDescriptor,ResolvedValueArgument> getValueArguments()
Values (arguments) for value parameters


getValueArgumentsByIndex

@Nullable
java.util.List<ResolvedValueArgument> getValueArgumentsByIndex()
Values (arguments) for value parameters indexed by parameter index


getArgumentMapping

@NotNull
ArgumentMapping getArgumentMapping(@NotNull
                                           ValueArgument valueArgument)
The result of mapping the value argument to a parameter


getTypeArguments

@NotNull
java.util.Map<TypeParameterDescriptor,JetType> getTypeArguments()
What's substituted for type parameters


getDataFlowInfoForArguments

@NotNull
DataFlowInfoForArguments getDataFlowInfoForArguments()
Data flow info for each argument and the result data flow info


isSafeCall

boolean isSafeCall()