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_PACKAGEEMPTY| 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, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetTargetfromSymbolpublic 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()
JavaResolveResultResolveResult.getElement().getSubstitutor in interface JavaResolveResultgetSubstitutor in class CandidateInfopublic PsiSubstitutor getSubstitutor(boolean includeReturnConstraint)
public static boolean isOverloadCheck()
public static boolean isOverloadCheck(PsiElement argumentList)
public boolean isTypeArgumentsApplicable()
protected PsiElement getParent()
public boolean isValidResult()
ResolveResultisValidResult in interface ResolveResultisValidResult in class CandidateInfopublic PsiMethod getElement()
ResolveResultgetElement in interface ResolveResultgetElement in class CandidateInfopublic 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 CandidateInfopublic int hashCode()
hashCode in class CandidateInfopublic void setApplicabilityError(java.lang.String applicabilityError)
public void markNotApplicable()
public java.lang.String getInferenceErrorMessage()
public java.lang.String getInferenceErrorMessageAssumeAlreadyComputed()