Add more accurate docs to the ResolvedCall

This commit is contained in:
Roman Golyshev
2021-10-18 17:02:12 +03:00
parent 9e5520bba8
commit 10101dc2b4
@@ -39,11 +39,25 @@ public interface ResolvedCall<D extends CallableDescriptor> {
@NotNull
Call getCall();
/** A target callable descriptor as it was accessible in the corresponding scope, i.e. with type arguments not substituted */
/**
* A target callable descriptor as it was accessible in the corresponding scope, i.e. with type arguments not substituted.
* <p>
* Note that <b>only type parameters from the declaration itself (i.e. declared type parameters) remain unsubstituted</b>.
* <p>
* Type parameters from the other declarations (e.g. a containing class' type parameters) are <b>substituted</b> just as in
* {@link ResolvedCall#getResultingDescriptor()}.
*/
@NotNull
D getCandidateDescriptor();
/** Type arguments are substituted. This descriptor is guaranteed to have NO declared type parameters */
/**
* A target callable descriptor with all type arguments substituted.
* <p>
* The resulting descriptor must not have any unsubstituted type. However, the descriptor's
* {@link CallableDescriptor#getTypeParameters()} are unchanged and still refer to the declaration's declared type parameters.
*
* @see ResolvedCall#getTypeArguments()
*/
@NotNull
D getResultingDescriptor();