public class MethodCandidateInfo extends CandidateInfo
Modifier and Type | Class and Description |
---|---|
static class |
MethodCandidateInfo.ApplicabilityLevel |
static interface |
MethodCandidateInfo.ApplicabilityLevelConstant |
Modifier and Type | Field and Description |
---|---|
static RecursionGuard<PsiElement> |
ourOverloadGuard |
EMPTY_ARRAY, mySubstitutor, RESOLVE_RESULT_FOR_PACKAGE_PREFIX_PACKAGE
EMPTY
Constructor and Description |
---|
MethodCandidateInfo(PsiElement candidate,
PsiSubstitutor substitutor,
boolean accessProblem,
boolean staticsProblem,
PsiElement argumentList,
PsiElement currFileContext,
PsiType [] argumentTypes,
PsiType[] typeArguments) |
MethodCandidateInfo(PsiElement candidate,
PsiSubstitutor substitutor,
boolean accessProblem,
boolean staticsProblem,
PsiElement argumentList,
PsiElement currFileContext,
PsiType [] argumentTypes,
PsiType[] typeArguments,
LanguageLevel languageLevel) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
int |
getApplicabilityLevel() |
PsiType [] |
getArgumentTypes() |
PsiMethod |
getElement()
Returns the result of the resolve.
|
java.lang.String |
getInferenceErrorMessage() |
java.lang.String |
getInferenceErrorMessageAssumeAlreadyComputed() |
protected PsiElement |
getParent() |
int |
getPertinentApplicabilityLevel() |
PsiSubstitutor |
getSiteSubstitutor() |
PsiSubstitutor |
getSubstitutor()
Substitutor providing values of type parameters occurring in
ResolveResult.getElement() . |
PsiSubstitutor |
getSubstitutor(boolean includeReturnConstraint) |
int |
hashCode() |
PsiSubstitutor |
inferSubstitutorFromArgs(ParameterTypeInferencePolicy policy,
PsiExpression[] arguments) |
PsiSubstitutor |
inferTypeArguments(ParameterTypeInferencePolicy policy,
boolean includeReturnConstraint) |
PsiSubstitutor |
inferTypeArguments(ParameterTypeInferencePolicy policy,
PsiExpression [] arguments,
boolean includeReturnConstraint)
If iterated through all candidates, should be called under
ourOverloadGuard guard so results won't be cached on the top level call |
boolean |
isApplicable() |
boolean |
isErased() |
boolean |
isInferencePossible() |
boolean |
isOnArgumentList(PsiExpressionList argumentList) |
static boolean |
isOverloadCheck() |
static boolean |
isOverloadCheck(PsiElement argumentList) |
ThreeState |
isPotentiallyCompatible()
15.12.2.1 Identify Potentially Applicable Methods
|
boolean |
isRawSubstitution() |
boolean |
isToInferApplicability() |
boolean |
isTypeArgumentsApplicable() |
boolean |
isValidResult()
Checks if the reference was resolved to a valid element.
|
boolean |
isVarargs()
To use during overload resolution to choose if method can be applicable by strong/loose invocation.
|
void |
markNotApplicable() |
void |
setApplicabilityError(java.lang.String applicabilityError)
Should be invoked on the top level call expression candidate only
|
void |
setErased() |
getCurrentFileResolveScope, isAccessible, isPackagePrefixPackageReference, isStaticsScopeCorrect, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getTarget
fromSymbol
public static final RecursionGuard<PsiElement> ourOverloadGuard
public MethodCandidateInfo(PsiElement candidate, PsiSubstitutor substitutor, boolean accessProblem, boolean staticsProblem, PsiElement argumentList, PsiElement currFileContext, PsiType [] argumentTypes, PsiType[] typeArguments)
public MethodCandidateInfo(PsiElement candidate, PsiSubstitutor substitutor, boolean accessProblem, boolean staticsProblem, PsiElement argumentList, PsiElement currFileContext, PsiType [] argumentTypes, PsiType[] typeArguments, LanguageLevel languageLevel)
public boolean isVarargs()
public boolean isApplicable()
public int getApplicabilityLevel()
public int getPertinentApplicabilityLevel()
public boolean isOnArgumentList(PsiExpressionList argumentList)
public void setErased()
public boolean isErased()
public boolean isToInferApplicability()
public ThreeState isPotentiallyCompatible()
public PsiSubstitutor getSiteSubstitutor()
public PsiSubstitutor getSubstitutor()
JavaResolveResult
ResolveResult.getElement()
.getSubstitutor
in interface JavaResolveResult
getSubstitutor
in class CandidateInfo
public PsiSubstitutor getSubstitutor(boolean includeReturnConstraint)
public static boolean isOverloadCheck()
public static boolean isOverloadCheck(PsiElement argumentList)
public boolean isTypeArgumentsApplicable()
protected PsiElement getParent()
public boolean isValidResult()
ResolveResult
isValidResult
in interface ResolveResult
isValidResult
in class CandidateInfo
public PsiMethod getElement()
ResolveResult
getElement
in interface ResolveResult
getElement
in class CandidateInfo
public PsiSubstitutor inferTypeArguments(ParameterTypeInferencePolicy policy, boolean includeReturnConstraint)
public PsiSubstitutor inferSubstitutorFromArgs(ParameterTypeInferencePolicy policy, PsiExpression[] arguments)
public PsiSubstitutor inferTypeArguments(ParameterTypeInferencePolicy policy, PsiExpression [] arguments, boolean includeReturnConstraint)
ourOverloadGuard
guard so results won't be cached on the top level callpublic boolean isRawSubstitution()
public boolean isInferencePossible()
public PsiType [] getArgumentTypes()
public boolean equals(java.lang.Object o)
equals
in class CandidateInfo
public int hashCode()
hashCode
in class CandidateInfo
public void setApplicabilityError(java.lang.String applicabilityError)
public void markNotApplicable()
public java.lang.String getInferenceErrorMessage()
public java.lang.String getInferenceErrorMessageAssumeAlreadyComputed()