public class PsiMethodImpl extends JavaStubPsiElement<PsiMethodStub> implements PsiMethod, Queryable
Iconable.IconFlags, Iconable.LastComputedIconQueryable.Contributor, Queryable.PrintInfo, Queryable.UtilCREATION_TRACE, ourTraceStubAstBindingFLAGS_LOCKED, ICON_PLACEHOLDERARRAY_FACTORY, EMPTY_ARRAYEMPTY_NAVIGATABLE_ELEMENT_ARRAYEMPTY_NAVIGATION_ITEM_ARRAYICON_FLAG_IGNORE_MASK, ICON_FLAG_OPEN, ICON_FLAG_READ_STATUS, ICON_FLAG_VISIBILITY| Modifier | Constructor and Description |
|---|---|
|
PsiMethodImpl(ASTNode node) |
|
PsiMethodImpl(PsiMethodStub stub) |
protected |
PsiMethodImpl(PsiMethodStub stub,
IStubElementType type) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(PsiElementVisitor visitor)
Passes the element to the specified visitor.
|
protected java.lang.Object |
clone() |
protected void |
dropCached() |
PsiMethod |
findDeepestSuperMethod()
Returns the method in the deepest base superclass or interface of the containing class which
this method overrides or implements.
|
PsiMethod [] |
findDeepestSuperMethods() |
PsiMethod [] |
findSuperMethods()
Searches the superclasses and base interfaces of the containing class to find
the methods which this method overrides or implements.
|
PsiMethod [] |
findSuperMethods(boolean checkAccess)
Searches the superclasses and base interfaces of the containing class to find
the methods which this method overrides or implements, optionally omitting
the accessibility check.
|
PsiMethod [] |
findSuperMethods(PsiClass parentClass)
Searches the superclasses and base interfaces of the specified class to find
the methods which this method can override or implement.
|
java.util.List<MethodSignatureBackedByPsiMethod> |
findSuperMethodSignaturesIncludingStatic(boolean checkAccess)
Searches the superclasses and base interfaces of the containing class to find
static and instance methods with the signature matching the signature of this method.
|
PsiCodeBlock |
getBody()
Returns the body of the method.
|
PsiClass |
getContainingClass()
Returns the class containing the member.
|
PsiElement |
getContext()
Returns the element which should be used as the parent of this element in a tree up
walk during a resolve operation.
|
PsiDocComment |
getDocComment()
Returns the JavaDoc comment for the element, or
null when the element has no JavaDoc comment. |
javax.swing.Icon |
getElementIcon(int flags) |
HierarchicalMethodSignature |
getHierarchicalMethodSignature() |
PsiModifierList |
getModifierList()
Returns the list of modifiers for the element.
|
java.lang.String |
getName()
Returns the name of the element.
|
PsiIdentifier |
getNameIdentifier()
Returns the name identifier for the method.
|
CompositeElement |
getNode()
Ensures this element is AST-based.
|
PsiElement |
getOriginalElement()
Returns the PSI element which corresponds to this element and belongs to
either the project source path or class path.
|
PsiParameterList |
getParameterList()
Returns the parameter list for the method.
|
ItemPresentation |
getPresentation() |
PsiType |
getReturnType()
Returns the return type of the method.
|
PsiTypeElement |
getReturnTypeElement()
Returns the type element for the return type of the method.
|
MethodSignature |
getSignature(PsiSubstitutor substitutor)
Returns the signature of this method, using the specified substitutor to specify
values of generic type parameters.
|
PsiReferenceList |
getThrowsList()
Returns the list of thrown exceptions for the method.
|
PsiTypeParameterList |
getTypeParameterList()
Returns the type parameter list for the element.
|
PsiTypeParameter [] |
getTypeParameters()
Returns the array of type parameters for the element.
|
SearchScope |
getUseScope()
Returns the scope in which references to this element are searched.
|
boolean |
hasModifierProperty(java.lang.String name)
Checks if the element has the specified modifier.
|
boolean |
hasTypeParameters()
Checks if the element has any type parameters.
|
boolean |
isConstructor()
Checks if the method is a constructor.
|
boolean |
isDeprecated()
Returns
true if the element is marked as deprecated via an annotation or a JavaDoc tag. |
boolean |
isEquivalentTo(PsiElement another)
This method shouldn't be called by clients directly, because there are no guarantees of it being symmetric.
|
boolean |
isVarArgs()
Checks if the method accepts a variable number of arguments.
|
protected boolean |
isVisibilitySupported() |
boolean |
processDeclarations(PsiScopeProcessor processor,
ResolveState state,
PsiElement lastParent,
PsiElement place)
Passes the declarations contained in this PSI element and its children
for processing to the specified scope processor.
|
void |
putInfo(java.util.Map<java.lang.String,java.lang.String> info) |
PsiElement |
setName(java.lang.String name)
Renames the element.
|
void |
subtreeChanged() |
java.lang.String |
toString()
toString() should never be presented to the user.
|
acceptChildren, add, addAfter, addBefore, calcTreeElement, checkAdd, cloneImpl, delete, deleteChildRange, getChildren, getLanguage, getTextOffset, replacegetContainingFile, getElementType, getGreenStub, getManager, getParent, getParentByStub, getParentByTree, getProject, getRequiredStubOrPsiChild, getStub, getStubOrPsiChild, getStubOrPsiChildren, getStubOrPsiChildren, getStubOrPsiChildren, getStubOrPsiChildren, getStubOrPsiParentOfType, isPhysical, isValid, isWritable, setNode, setSubstrateRefaddInternal, addRange, addRangeAfter, addRangeBefore, checkDelete, copy, deleteChildInternal, findChildByFilter, findChildByType, findChildByType, findChildrenByType, findChildrenByType, findChildrenByType, findChildrenByType, findElementAt, findLastChildByType, findNotNullChildByType, findNotNullChildByType, getCopyableUserData, getFirstChild, getLastChild, getNextSibling, getPrevSibling, getStartOffsetInParent, getText, getTextLength, getTextRange, putCopyableUserData, replaceChildInternal, textContains, textMatches, textToCharArraycanNavigate, canNavigateToSource, findChildByClass, findChildrenByClass, findNotNullChildByClass, findReferenceAt, getNavigationElement, getReference, getReferences, getResolveScope, navigate, notNullChild, textMatchesbuildRowIcon, computeBaseIcon, createLayeredIcon, getAdjustedBaseIcon, getBaseIcon, getIcon, iconWithVisibilityIfNeeded, isNativeFileType, overlayIcons, registerIconLayer, transformFlagschangeUserMap, clearUserData, copyCopyableDataTo, copyUserDataTo, getUserData, getUserDataString, getUserMap, isUserDataEmpty, putUserData, putUserDataIfAbsent, replace, setUserMapequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParameters, getThrowsTypes, hasParametersgetIdentifyingElementcanNavigate, canNavigateToSource, navigategetAnnotation, getAnnotations, getSourceElement, hasAnnotation, hasModifieracceptChildren, add, addAfter, addBefore, addRange, addRangeAfter, addRangeBefore, checkAdd, checkDelete, copy, delete, deleteChildRange, findElementAt, findReferenceAt, getChildren, getContainingFile, getCopyableUserData, getFirstChild, getLanguage, getLastChild, getManager, getNavigationElement, getNextSibling, getOwnReferences, getParent, getPrevSibling, getProject, getReference, getReferences, getResolveScope, getStartOffsetInParent, getText, getTextLength, getTextOffset, getTextRange, getTextRangeInParent, isPhysical, isValid, isWritable, putCopyableUserData, replace, textContains, textMatches, textMatches, textToCharArraygetUserData, putUserDataisWritablegetNavigationElementgetElementType, getStubpublic PsiMethodImpl(PsiMethodStub stub)
protected PsiMethodImpl(PsiMethodStub stub, IStubElementType type)
public PsiMethodImpl(ASTNode node)
public void subtreeChanged()
subtreeChanged in class ASTDelegatePsiElementprotected void dropCached()
protected java.lang.Object clone()
clone in class JavaStubPsiElement<PsiMethodStub>public PsiClass getContainingClass()
PsiMembergetContainingClass in interface JvmMembergetContainingClass in interface PsiJvmMembergetContainingClass in interface PsiMemberMember.getDeclaringClass()public PsiElement getContext()
PsiElementgetParent(),
but the context can be overridden for some elements like code fragments (see
JavaCodeFragmentFactory.createCodeBlockCodeFragment(String, PsiElement, boolean)).getContext in interface PsiElementgetContext in class StubBasedPsiElementBase<PsiMethodStub>public PsiIdentifier getNameIdentifier()
PsiMethodgetNameIdentifier in interface PsiMethodgetNameIdentifier in interface PsiNameIdentifierOwnerpublic PsiMethod [] findSuperMethods()
PsiMethodfindSuperMethods in interface PsiMethodpublic PsiMethod [] findSuperMethods(boolean checkAccess)
PsiMethodfindSuperMethods in interface PsiMethodcheckAccess - if false, the super methods are searched even if this method
is private. If true, an empty result list is returned for private methods.public PsiMethod [] findSuperMethods(PsiClass parentClass)
PsiMethodfindSuperMethods in interface PsiMethodparentClass - the class to search for super methods.public java.util.List<MethodSignatureBackedByPsiMethod> findSuperMethodSignaturesIncludingStatic(boolean checkAccess)
PsiMethodfindSuperMethodSignaturesIncludingStatic in interface PsiMethodcheckAccess - if false, the super methods are searched even if this method
is private. If true, an empty result list is returned for private methods.public PsiMethod findDeepestSuperMethod()
PsiMethodfindDeepestSuperMethod in interface PsiMethodpublic PsiMethod [] findDeepestSuperMethods()
findDeepestSuperMethods in interface PsiMethodpublic java.lang.String getName()
PsiNamedElementgetName in interface JvmMembergetName in interface JvmMethodgetName in interface JvmNamedElementgetName in interface NavigationItemgetName in interface PomNamedTargetgetName in interface PsiMethodgetName in interface PsiNamedElementgetName in class PsiElementBaseMember.getName()public HierarchicalMethodSignature getHierarchicalMethodSignature()
getHierarchicalMethodSignature in interface PsiMethodpublic PsiElement setName(java.lang.String name) throws IncorrectOperationException
PsiNamedElementsetName in interface PomRenameableTarget<PsiElement>setName in interface PsiMethodsetName in interface PsiNamedElementname - the new element name.this
or a different element if the rename caused the element to be replaced).IncorrectOperationException - if the modification is not supported or not possible for some reason.public PsiTypeElement getReturnTypeElement()
PsiMethodgetReturnTypeElement in interface PsiMethodpublic PsiTypeParameterList getTypeParameterList()
PsiTypeParameterListOwnergetTypeParameterList in interface PsiTypeParameterListOwnerpublic boolean hasTypeParameters()
PsiTypeParameterListOwnerhasTypeParameters in interface PsiTypeParameterListOwnerpublic PsiTypeParameter [] getTypeParameters()
PsiTypeParameterListOwnergetTypeParameters in interface JvmTypeParametersOwnergetTypeParameters in interface PsiTypeParameterListOwnerGenericDeclaration.getTypeParameters()public PsiType getReturnType()
PsiMethodgetReturnType in interface JvmMethodgetReturnType in interface PsiMethodMethod.getGenericReturnType(),
Method.getAnnotatedReturnType()public PsiModifierList getModifierList()
PsiModifierListOwnergetModifierList in interface PsiMethodgetModifierList in interface PsiModifierListOwnerpublic boolean hasModifierProperty(java.lang.String name)
PsiModifierListOwnerPsiModifier class.hasModifierProperty in interface PsiModifierListOwnername - the name of the modifier to check.public PsiParameterList getParameterList()
PsiMethodgetParameterList in interface PsiMethodgetParameterList in interface PsiParameterListOwnerpublic PsiReferenceList getThrowsList()
PsiMethodgetThrowsList in interface PsiMethodpublic PsiCodeBlock getBody()
PsiMethodgetBody in interface PsiMethodgetBody in interface PsiParameterListOwnerpublic CompositeElement getNode()
StubBasedPsiElementBasegetNode in interface PsiElementgetNode in class StubBasedPsiElementBase<PsiMethodStub>StubBasedPsiElementBase.getStub() will return null.public boolean isDeprecated()
PsiDocCommentOwnertrue if the element is marked as deprecated via an annotation or a JavaDoc tag.isDeprecated in interface PsiDocCommentOwnerpublic PsiDocComment getDocComment()
PsiJavaDocumentedElementnull when the element has no JavaDoc comment.getDocComment in interface PsiJavaDocumentedElementpublic boolean isConstructor()
PsiMethodisConstructor in interface JvmMethodisConstructor in interface PsiMethodpublic boolean isVarArgs()
PsiMethodpublic void accept(PsiElementVisitor visitor)
PsiElementaccept in interface PsiElementaccept in class PsiElementBasevisitor - the visitor to pass the element to.public java.lang.String toString()
PsiElementtoString in interface PsiElementtoString in class java.lang.Objectpublic boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place)
PsiElementprocessDeclarations in interface PsiElementprocessDeclarations in class PsiElementBaseprocessor - the processor receiving the declarations.lastParent - the child of this element has been processed during the previous
step of the tree up walk (declarations under this element do not need
to be processed again)place - the original element from which the tree up walk was initiated.public MethodSignature getSignature(PsiSubstitutor substitutor)
PsiMethodgetSignature in interface PsiMethodsubstitutor - the substitutor.public PsiElement getOriginalElement()
PsiElementthis or substitute a different element if this element does
not belong to the source path or class path. (For example, the original
element for a library source file is the corresponding compiled class file.)getOriginalElement in interface PsiElementgetOriginalElement in class PsiElementBasepublic ItemPresentation getPresentation()
getPresentation in interface NavigationItemgetPresentation in class PsiElementBasepublic javax.swing.Icon getElementIcon(int flags)
getElementIcon in class ElementBasepublic boolean isEquivalentTo(PsiElement another)
PsiElementPsiManager.areElementsEquivalent(PsiElement, PsiElement) internally, which clients should invoke instead.
Implementations of this method should return true if the parameter is resolve-equivalent to this, i.e. it represents
the same entity from the language perspective. See also PsiManager.areElementsEquivalent(PsiElement, PsiElement) documentation.isEquivalentTo in interface PsiElementisEquivalentTo in class PsiElementBasepublic SearchScope getUseScope()
PsiElementgetUseScope in interface PsiElementgetUseScope in class PsiElementBasePsiSearchHelper.getUseScope(PsiElement)public void putInfo(java.util.Map<java.lang.String,java.lang.String> info)
protected boolean isVisibilitySupported()
isVisibilitySupported in class ElementBase