public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements PsiReferenceExpression, SourceJavaCodeReference
| Modifier and Type | Class and Description | 
|---|---|
| static class  | PsiReferenceExpressionImpl.OurGenericsResolver | 
Iconable.IconFlags, Iconable.LastComputedIconourHCEMPTY_ARRAYFLAGS_LOCKED, ICON_PLACEHOLDERARRAY_FACTORY, EMPTY_ARRAY, EXPRESSION_TO_TYPEARRAY_FACTORY, EMPTY_ARRAYICON_FLAG_IGNORE_MASK, ICON_FLAG_OPEN, ICON_FLAG_READ_STATUS, ICON_FLAG_VISIBILITYEMPTY_NAVIGATION_ITEM_ARRAY| Constructor and Description | 
|---|
| PsiReferenceExpressionImpl() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | accept(PsiElementVisitor visitor)Passes the element to the specified visitor. | 
| JavaResolveResult | advancedResolve(boolean incompleteCode)Resolves the reference and returns the result as a  JavaResolveResultinstead of a plainPsiElement. | 
| PsiElement | bindToElement(PsiElement element)Changes the reference so that it starts to point to the specified element. | 
| PsiElement | bindToElementViaStaticImport(PsiClass qualifierClass)Creates an  import staticstatement importing the referenced member
 from the specified class, or qualifies the reference with the class name if
 that class is already imported by a regular import statement. | 
| static void | bindToElementViaStaticImport(PsiClass qualifierClass,
                            java.lang.String staticName,
                            PsiImportList importList) | 
| void | clearCaches() | 
| static TreeElement | createEmptyRefParameterList(Project project) | 
| void | deleteChildInternal(ASTNode child) | 
| ASTNode | findChildByRole(int role) | 
| void | fullyQualify(PsiClass targetClass)Helper method for ReferenceAdjuster. | 
| java.lang.String | getCanonicalText()Returns the name of the reference target element which does not depend on import statements
 and other context (for example, the full-qualified name of the class if the reference targets
 a Java class). | 
| int | getChildRole(ASTNode child) | 
| java.lang.String | getClassNameText() | 
| PsiElement | getElement()Returns the underlying (referencing) element of the reference. | 
| PsiReferenceParameterList | getParameterList()Returns the list of type arguments specified on the reference. | 
| java.lang.String | getQualifiedName()Returns the text of the reference including its qualifier. | 
| PsiElement | getQualifier()Returns the qualifier of the reference (the element representing the content up to the
 last period). | 
| PsiExpression | getQualifierExpression()Returns the expression used as the qualifier of the reference (the content up to the
 last period). | 
| TextRange | getRangeInElement()Returns the part of the underlying element which serves as a reference, or the complete
 text range of the element if the entire element is a reference. | 
| PsiReference | getReference()Returns the reference from this PSI element to another PSI element (or elements), if one exists. | 
| java.lang.String | getReferenceName()Returns the text of the reference not including its qualifier. | 
| PsiElement | getReferenceNameElement()Returns the element representing the name of the referenced element. | 
| int | getTextOffset()Returns the offset in the file to which the caret should be placed
 when performing the navigation to the element. | 
| PsiType | getType()Returns the type of the expression. | 
| PsiType [] | getTypeParameters()Returns the array of types for the type arguments specified on the reference. | 
| PsiElement | handleElementRename(java.lang.String newElementName)Called when the reference target element has been renamed, in order to change the reference
 text according to the new name. | 
| boolean | isQualified()Checks if the reference is qualified (consists of elements separated with periods). | 
| boolean | isReferenceTo(PsiElement element)Checks if the reference targets the specified element. | 
| boolean | isSoft()Returns  falseif the underlying element is guaranteed to be a reference, ortrueif the underlying element is a possible reference which should not be reported as
 an error if it fails to resolve. | 
| JavaResolveResult [] | multiResolve(boolean incompleteCode)Returns the results of resolving the reference. | 
| void | processVariants(PsiScopeProcessor processor)Passes all variants to which the reference may resolve to the specified
 processor. | 
| PsiElement | resolve()Returns the element which is the target of the reference. | 
| static boolean | seemsScrambled(PsiClass aClass) | 
| static boolean | seemsScrambledByStructure(PsiClass aClass) | 
| void | setQualifierExpression(PsiExpression newQualifier) | 
| java.lang.String | toString()toString() should never be presented to the user. | 
hashCode, replaceChildInternalacceptChildren, add, addAfter, addBefore, addRange, addRangeAfter, addRangeBefore, canNavigate, canNavigateToSource, checkAdd, checkDelete, clone, copy, delete, deleteChildRange, findElementAt, findReferenceAt, getChildren, getContainingFile, getContext, getFirstChild, getLanguage, getLastChild, getName, getNavigationElement, getNextSibling, getNode, getOriginalElement, getParent, getPresentation, getPrevSibling, getProject, getReferences, getResolveScope, getUseScope, isEquivalentTo, isPhysical, isValid, isWritable, navigate, processDeclarations, replaceacceptTree, addChild, addChild, addChildren, addInternal, addLeaf, countChildren, createPsiNoLock, findChildByRoleAsPsiElement, findChildByType, findChildByType, findChildByType, findChildByType, findLeafElementAt, findPsiChildByType, findPsiChildByType, getCachedLength, getChars, getChildren, getChildrenAsPsiElements, getChildrenAsPsiElements, getChildRole, getFirstChildNode, getLastChildNode, getPsi, getPsi, getText, getTextLength, hc, rawAddChildren, rawAddChildrenWithoutNotifications, rawFirstChild, rawLastChild, rawRemoveAllChildren, removeAllChildren, removeChild, removeRange, replaceAllChildrenToChildrenOf, replaceChild, setPsi, subtreeChanged, textContains, textMatches, textToCharArraycopyElement, equals, getElementType, getManager, getStartOffset, getStartOffsetInParent, getTextRange, getTreeNext, getTreeParent, getTreePrev, invalidate, onInvalidated, rawInsertAfterMe, rawInsertBeforeMe, rawRemove, rawRemoveUpTo, rawRemoveUpToLast, rawReplaceWithList, textMatches, textMatches, textMatchesbuildRowIcon, computeBaseIcon, createLayeredIcon, getAdjustedBaseIcon, getBaseIcon, getElementIcon, getIcon, iconWithVisibilityIfNeeded, isNativeFileType, isVisibilitySupported, overlayIcons, registerIconLayer, transformFlagschangeUserMap, clearUserData, copyCopyableDataTo, copyUserDataTo, getCopyableUserData, getUserData, getUserDataString, getUserMap, isUserDataEmpty, putCopyableUserData, putUserData, putUserDataIfAbsent, replace, setUserMapfinalize, getClass, notify, notifyAll, wait, wait, waitresolveReferenceacceptChildren, add, addAfter, addBefore, addRange, addRangeAfter, addRangeBefore, checkAdd, checkDelete, copy, delete, deleteChildRange, findElementAt, findReferenceAt, getChildren, getContainingFile, getContext, getCopyableUserData, getFirstChild, getLanguage, getLastChild, getManager, getNavigationElement, getNextSibling, getNode, getOriginalElement, getOwnReferences, getParent, getPrevSibling, getProject, getReferences, getResolveScope, getStartOffsetInParent, getText, getTextLength, getTextRange, getTextRangeInParent, getUseScope, isEquivalentTo, isPhysical, isValid, isWritable, processDeclarations, putCopyableUserData, replace, textContains, textMatches, textMatches, textToCharArraygetUserData, putUserDatagetVariants, resolvesTogetAbsoluteRangegetCopyableUserData, putCopyableUserDatapublic PsiExpression getQualifierExpression()
PsiReferenceExpressiongetQualifierExpression in interface PsiReferenceExpressionpublic PsiElement bindToElementViaStaticImport(PsiClass qualifierClass) throws IncorrectOperationException
PsiReferenceExpressionimport static statement importing the referenced member
 from the specified class, or qualifies the reference with the class name if
 that class is already imported by a regular import statement.bindToElementViaStaticImport in interface PsiReferenceExpressionqualifierClass - the class to import.IncorrectOperationException - if the modification failed for some reason.public static void bindToElementViaStaticImport(PsiClass qualifierClass, java.lang.String staticName, PsiImportList importList) throws IncorrectOperationException
IncorrectOperationExceptionpublic void setQualifierExpression(PsiExpression newQualifier) throws IncorrectOperationException
setQualifierExpression in interface PsiReferenceExpressionIncorrectOperationExceptionpublic PsiElement getQualifier()
PsiQualifiedReferencegetQualifier in interface SourceJavaCodeReferencegetQualifier in interface PsiQualifiedReferencepublic java.lang.String getReferenceName()
PsiQualifiedReferencegetReferenceName in interface PsiQualifiedReferencepublic void clearCaches()
clearCaches in class CompositeElementpublic JavaResolveResult [] multiResolve(boolean incompleteCode)
PsiPolyVariantReferencemultiResolve in interface PsiJavaReferencemultiResolve in interface PsiPolyVariantReferenceincompleteCode - if true, the code in the context of which the reference is
 being resolved is considered incomplete, and the method may return additional
 invalid results.public java.lang.String getCanonicalText()
PsiReferencegetCanonicalText in interface PsiReferencepublic PsiType getType()
PsiExpressiongetType in interface PsiExpressionpublic boolean isReferenceTo(PsiElement element)
PsiReferenceisReferenceTo in interface PsiReferenceelement - the element to check target for.true if the reference targets that element, false otherwise.public boolean isSoft()
PsiReferencefalse if the underlying element is guaranteed to be a reference, or true
 if the underlying element is a possible reference which should not be reported as
 an error if it fails to resolve. For example, a text in an XML file which looks
 like a full-qualified Java class name is a soft reference.isSoft in interface PsiReferencetrue if the reference is soft, false otherwise.public void processVariants(PsiScopeProcessor processor)
PsiJavaReferenceprocessVariants in interface PsiJavaReferenceprocessor - the processor accepting the variantspublic JavaResolveResult advancedResolve(boolean incompleteCode)
PsiJavaReferenceJavaResolveResult
 instead of a plain PsiElement.advancedResolve in interface PsiJavaReferenceincompleteCode - if true, the code in the context of which the reference is
 being resolved is considered incomplete, and the method may return an invalid
 result.public static boolean seemsScrambled(PsiClass aClass)
public static boolean seemsScrambledByStructure(PsiClass aClass)
public PsiElement getReferenceNameElement()
PsiJavaCodeReferenceElementgetReferenceNameElement in interface PsiJavaCodeReferenceElementpublic PsiReferenceParameterList getParameterList()
PsiJavaCodeReferenceElementgetParameterList in interface PsiJavaCodeReferenceElementpublic PsiType [] getTypeParameters()
PsiJavaCodeReferenceElementgetTypeParameters in interface PsiJavaCodeReferenceElementpublic int getTextOffset()
PsiElementPsiNamedElement, this should return the offset in the file of the
 name identifier.)getTextOffset in interface PsiElementgetTextOffset in class TreeElementpublic PsiElement handleElementRename(java.lang.String newElementName) throws IncorrectOperationException
PsiReferencehandleElementRename in interface PsiReferencenewElementName - the new name of the target element.IncorrectOperationException - if the rename cannot be handled for some reason.public PsiElement bindToElement(PsiElement element) throws IncorrectOperationException
PsiReferencebindToElement in interface PsiReferenceelement - the element which should become the target of the reference.IncorrectOperationException - if the rebind cannot be handled for some reason.public void deleteChildInternal(ASTNode child)
deleteChildInternal in class CompositeElementpublic static TreeElement createEmptyRefParameterList(Project project)
public ASTNode findChildByRole(int role)
findChildByRole in class CompositeElementpublic int getChildRole(ASTNode child)
getChildRole in class CompositeElementpublic PsiReference getReference()
PsiElementPsiElement.getReferences()
 for an example), returns the first associated reference.getReference in interface PsiElementgetReference in class CompositePsiElementReferencesSearchpublic void accept(PsiElementVisitor visitor)
PsiElementaccept in interface PsiElementaccept in class CompositePsiElementvisitor - the visitor to pass the element to.public PsiElement getElement()
PsiReferencegetElement in interface PsiSymbolReferencegetElement in interface PsiReferencepublic TextRange getRangeInElement()
PsiReferencePsiElement text: qualified.LongName PsiReferences: [Ref1---]X[Ref2--]where
Ref1 would resolve to a "namespace" and Ref2 to an "element".getRangeInElement in interface PsiSymbolReferencegetRangeInElement in interface PsiReferencepublic PsiElement resolve()
PsiReferenceresolve in interface PsiReferencenull if it was not possible to resolve the reference to a valid target.PsiPolyVariantReference.multiResolve(boolean)public java.lang.String getClassNameText()
getClassNameText in interface SourceJavaCodeReferencepublic void fullyQualify(PsiClass targetClass)
SourceJavaCodeReferencetargetClass. Does not check that it indeed references
 targetClassfullyQualify in interface SourceJavaCodeReferencepublic boolean isQualified()
PsiJavaCodeReferenceElementisQualified in interface SourceJavaCodeReferenceisQualified in interface PsiJavaCodeReferenceElementpublic java.lang.String getQualifiedName()
PsiJavaCodeReferenceElementgetQualifiedName in interface PsiJavaCodeReferenceElementpublic java.lang.String toString()
PsiElementtoString in interface PsiElementtoString in class CompositePsiElement