public class PsiClassImpl extends JavaStubPsiElement<PsiClassStub<?>> implements PsiExtensibleClass, 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 |
|---|---|
|
PsiClassImpl(ASTNode node) |
|
PsiClassImpl(PsiClassStub stub) |
protected |
PsiClassImpl(PsiClassStub stub,
IStubElementType type) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(PsiElementVisitor visitor)
Passes the element to the specified visitor.
|
PsiElement |
calcBasesResolveContext(java.lang.String baseClassName,
PsiElement defaultResolveContext) |
protected java.lang.Object |
clone() |
PsiField |
findFieldByName(java.lang.String name,
boolean checkBases)
Searches the class (and optionally its superclasses) for the field with the specified name.
|
PsiClass |
findInnerClassByName(java.lang.String name,
boolean checkBases)
Searches the class (and optionally its superclasses) for the inner class with the specified name.
|
PsiMethod |
findMethodBySignature(PsiMethod patternMethod,
boolean checkBases)
Searches the class (and optionally its superclasses) for the method with
the signature matching the signature of the specified method.
|
java.util.List<Pair<PsiMethod,PsiSubstitutor>> |
findMethodsAndTheirSubstitutorsByName(java.lang.String name,
boolean checkBases)
Searches the class (and optionally its superclasses) for the methods with the specified name
and returns the methods along with their substitutors.
|
PsiMethod [] |
findMethodsByName(java.lang.String name,
boolean checkBases)
Searches the class (and optionally its superclasses) for the methods with the specified name.
|
PsiMethod [] |
findMethodsBySignature(PsiMethod patternMethod,
boolean checkBases)
Searches the class (and optionally its superclasses) for the methods with the signature
matching the signature of the specified method.
|
PsiField [] |
getAllFields()
Returns the list of fields in the class and all its superclasses.
|
PsiClass [] |
getAllInnerClasses()
Returns the list of inner classes for the class and all its superclasses.
|
PsiMethod [] |
getAllMethods()
Returns the list of methods in the class and all its superclasses.
|
java.util.List<Pair<PsiMethod,PsiSubstitutor>> |
getAllMethodsAndTheirSubstitutors()
Returns the list of methods in the class and all its superclasses, along with their
substitutors.
|
PsiMethod [] |
getConstructors()
Returns the list of constructors for the class.
|
PsiClass |
getContainingClass()
For an inner class, returns its containing class.
|
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) |
PsiReferenceList |
getExtendsList()
Returns the list of classes that this class or interface extends.
|
PsiClassType [] |
getExtendsListTypes()
Returns the list of class types for the classes that this class or interface extends.
|
PsiField [] |
getFields()
Returns the list of fields in the class.
|
PsiReferenceList |
getImplementsList()
Returns the list of interfaces that this class implements.
|
PsiClassType [] |
getImplementsListTypes()
Returns the list of class types for the interfaces that this class implements.
|
PsiClassInitializer [] |
getInitializers()
Returns the list of class initializers for the class.
|
PsiClass [] |
getInnerClasses()
Returns the list of inner classes for the class.
|
PsiClass [] |
getInterfaces()
Returns the list of interfaces implemented by the class, or extended by the interface.
|
PsiJavaToken |
getLBrace()
Returns the token representing the opening curly brace of the class.
|
PsiMethod [] |
getMethods()
Returns the list of methods in the class.
|
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 of the class.
|
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.
|
java.util.List<PsiField> |
getOwnFields() |
java.util.List<PsiClass> |
getOwnInnerClasses() |
java.util.List<PsiMethod> |
getOwnMethods() |
ItemPresentation |
getPresentation() |
java.lang.String |
getQualifiedName()
Returns the fully qualified name of the class.
|
PsiJavaToken |
getRBrace()
Returns the token representing the closing curly brace of the class.
|
PsiRecordComponent [] |
getRecordComponents() |
PsiRecordHeader |
getRecordHeader() |
PsiElement |
getScope()
Returns the PSI member in which the class has been declared (for example,
the method containing the anonymous inner class, or the file containing a regular
class, or the class owning a type parameter).
|
PsiClass |
getSuperClass()
Returns the base class of this class.
|
PsiClass [] |
getSupers()
Returns the list of classes and interfaces extended or implemented by the class.
|
PsiClassType [] |
getSuperTypes()
Returns the list of class types for the classes and interfaces extended or
implemented by the class.
|
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.
|
PsiMethod |
getValuesMethod() |
java.util.Collection<HierarchicalMethodSignature> |
getVisibleSignatures()
Returns the hierarchical signatures for all methods in the specified class and
its superclasses and superinterfaces.
|
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 |
isAnnotationType()
Checks if the class is an annotation type.
|
boolean |
isDeprecated()
Returns
true if the element is marked as deprecated via an annotation or a JavaDoc tag. |
boolean |
isEnum()
Checks if the class is an enumeration.
|
boolean |
isEquivalentTo(PsiElement another)
This method shouldn't be called by clients directly, because there are no guarantees of it being symmetric.
|
boolean |
isInheritor(PsiClass baseClass,
boolean checkDeep)
Checks if this class is an inheritor of the specified base class.
|
boolean |
isInheritorDeep(PsiClass baseClass,
PsiClass classToByPass)
Checks if this class is a deep inheritor of the specified base class possibly bypassing a class
when checking inheritance chain.
|
boolean |
isInterface()
Checks if the class is an interface.
|
boolean |
isRecord()
Checks if the class is a record.
|
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) |
static void |
putInfo(PsiClass psiClass,
java.util.Map<java.lang.String,java.lang.String> info) |
PsiElement |
setName(java.lang.String newName)
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, waitfindMethodsByName, getClassKind, getInterfaceTypes, getSuperClassTypegetIdentifyingElementcanNavigate, 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, putUserDatagetNavigationElementisWritablegetElementType, getStubpublic PsiClassImpl(PsiClassStub stub)
protected PsiClassImpl(PsiClassStub stub, IStubElementType type)
public PsiClassImpl(ASTNode node)
public void subtreeChanged()
subtreeChanged in class ASTDelegatePsiElementprotected java.lang.Object clone()
clone in class JavaStubPsiElement<PsiClassStub<?>>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 CompositeElement getNode()
StubBasedPsiElementBasegetNode in interface PsiElementgetNode in class StubBasedPsiElementBase<PsiClassStub<?>>StubBasedPsiElementBase.getStub() will return null.public PsiIdentifier getNameIdentifier()
PsiClassgetNameIdentifier in interface PsiClassgetNameIdentifier in interface PsiNameIdentifierOwnerpublic PsiElement getScope()
PsiClasspublic java.lang.String getName()
PsiNamedElementgetName in interface JvmClassgetName in interface JvmMembergetName in interface JvmNamedElementgetName in interface NavigationItemgetName in interface PomNamedTargetgetName in interface PsiNamedElementgetName in interface PsiQualifiedNamedElementgetName in class PsiElementBaseMember.getName()public java.lang.String getQualifiedName()
PsiClassgetQualifiedName in interface JvmClassgetQualifiedName in interface PsiClassgetQualifiedName in interface PsiQualifiedNamedElementClass.getCanonicalName()public PsiModifierList getModifierList()
PsiModifierListOwnergetModifierList in interface PsiModifierListOwnerpublic boolean hasModifierProperty(java.lang.String name)
PsiModifierListOwnerPsiModifier class.hasModifierProperty in interface PsiModifierListOwnername - the name of the modifier to check.public PsiReferenceList getExtendsList()
PsiClassgetExtendsList in interface PsiClasspublic PsiReferenceList getImplementsList()
PsiClassgetImplementsList in interface PsiClasspublic PsiClassType [] getExtendsListTypes()
PsiClassgetExtendsListTypes in interface PsiClasspublic PsiClassType [] getImplementsListTypes()
PsiClassgetImplementsListTypes in interface PsiClasspublic PsiClass getSuperClass()
PsiClassgetSuperClass in interface PsiClasspublic PsiClass [] getInterfaces()
PsiClassgetInterfaces in interface PsiClasspublic PsiClass [] getSupers()
PsiClasspublic PsiClassType [] getSuperTypes()
PsiClassgetSuperTypes in interface PsiClasspublic PsiClass getContainingClass()
PsiClassgetContainingClass in interface JvmMembergetContainingClass in interface PsiClassgetContainingClass 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<PsiClassStub<?>>public java.util.Collection<HierarchicalMethodSignature> getVisibleSignatures()
PsiClassgetVisibleSignatures in interface PsiClasspublic PsiField [] getFields()
PsiClasspublic PsiMethod [] getMethods()
PsiClassgetMethods in interface JvmClassgetMethods in interface PsiClassClass.getDeclaredMethods(),
Class.getDeclaredConstructors()public PsiMethod [] getConstructors()
PsiClassgetConstructors in interface PsiClasspublic PsiClass [] getInnerClasses()
PsiClassgetInnerClasses in interface JvmClassgetInnerClasses in interface PsiClassClass.getDeclaredClasses()public PsiRecordComponent [] getRecordComponents()
getRecordComponents in interface PsiClasspublic PsiRecordHeader getRecordHeader()
getRecordHeader in interface PsiClasspublic java.util.List<PsiField> getOwnFields()
getOwnFields in interface PsiExtensibleClasspublic java.util.List<PsiMethod> getOwnMethods()
getOwnMethods in interface PsiExtensibleClasspublic java.util.List<PsiClass> getOwnInnerClasses()
getOwnInnerClasses in interface PsiExtensibleClasspublic PsiClassInitializer [] getInitializers()
PsiClassgetInitializers in interface PsiClasspublic PsiTypeParameter [] getTypeParameters()
PsiTypeParameterListOwnergetTypeParameters in interface JvmTypeParametersOwnergetTypeParameters in interface PsiTypeParameterListOwnerGenericDeclaration.getTypeParameters()public PsiField [] getAllFields()
PsiClassgetAllFields in interface PsiClasspublic PsiMethod [] getAllMethods()
PsiClassgetAllMethods in interface PsiClasspublic PsiClass [] getAllInnerClasses()
PsiClassgetAllInnerClasses in interface PsiClasspublic PsiField findFieldByName(java.lang.String name, boolean checkBases)
PsiClassfindFieldByName in interface PsiClassname - the name of the field to find.checkBases - if true, the field is also searched in the base classes of the class.public PsiMethod findMethodBySignature(PsiMethod patternMethod, boolean checkBases)
PsiClassfindMethodBySignature in interface PsiClasspatternMethod - the method used as a pattern for the search.checkBases - if true, the method is also searched in the base classes of the class.public PsiMethod [] findMethodsBySignature(PsiMethod patternMethod, boolean checkBases)
PsiClassfindMethodsBySignature in interface PsiClasspatternMethod - the method used as a pattern for the search.checkBases - if true, the method is also searched in the base classes of the class.public PsiMethod [] findMethodsByName(java.lang.String name, boolean checkBases)
PsiClassfindMethodsByName in interface PsiClassname - the name of the methods to find.checkBases - if true, the methods are also searched in the base classes of the class.public java.util.List<Pair<PsiMethod,PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(java.lang.String name, boolean checkBases)
PsiClassfindMethodsAndTheirSubstitutorsByName in interface PsiClassname - the name of the methods to find.checkBases - if true, the methods are also searched in the base classes of the class.public java.util.List<Pair<PsiMethod,PsiSubstitutor>> getAllMethodsAndTheirSubstitutors()
PsiClassgetAllMethodsAndTheirSubstitutors in interface PsiClasspublic PsiClass findInnerClassByName(java.lang.String name, boolean checkBases)
PsiClassfindInnerClassByName in interface PsiClassname - the name of the inner class to find.checkBases - if true, the inner class is also searched in the base classes of the class.public PsiTypeParameterList getTypeParameterList()
PsiTypeParameterListOwnergetTypeParameterList in interface PsiTypeParameterListOwnerpublic boolean hasTypeParameters()
PsiTypeParameterListOwnerhasTypeParameters in interface PsiTypeParameterListOwnerpublic 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 PsiJavaToken getLBrace()
PsiClasspublic PsiJavaToken getRBrace()
PsiClasspublic boolean isInterface()
PsiClassisInterface in interface PsiClasspublic boolean isAnnotationType()
PsiClassisAnnotationType in interface PsiClasspublic boolean isEnum()
PsiClasspublic boolean isRecord()
PsiClasspublic 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 PsiElement setName(java.lang.String newName) throws IncorrectOperationException
PsiNamedElementsetName in interface PomRenameableTarget<PsiElement>setName in interface PsiClasssetName in interface PsiNamedElementnewName - 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 PsiElement calcBasesResolveContext(java.lang.String baseClassName, PsiElement defaultResolveContext)
public boolean isInheritor(PsiClass baseClass, boolean checkDeep)
PsiClassClassInheritorsSearch
may return classes that are inheritors in broader, e.g. in ejb sense, but not in java sense.isInheritor in interface PsiClassbaseClass - the base class to check the inheritance.checkDeep - if false, only direct inheritance is checked; if true, the base class is
searched in the entire inheritance chainpublic boolean isInheritorDeep(PsiClass baseClass, PsiClass classToByPass)
PsiClassClassInheritorsSearch
may return classes that are inheritors in broader, e.g. in ejb sense, but not in java sense.isInheritorDeep in interface PsiClassbaseClass - the base class to check the inheritance.
searched in the entire inheritance chainclassToByPass - class to bypass the inheritance check forpublic 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)
public static void putInfo(PsiClass psiClass, java.util.Map<java.lang.String,java.lang.String> info)
protected boolean isVisibilitySupported()
isVisibilitySupported in class ElementBasepublic PsiMethod getValuesMethod()