org.jetbrains.jet.lang.psi
Class JetPsiUtil
java.lang.Object
org.jetbrains.jet.lang.psi.JetPsiUtil
public class JetPsiUtil
- extends java.lang.Object
Method Summary |
static boolean |
areParenthesesNecessary(JetExpression innerExpression,
JetExpression currentInner,
JetExpression parentExpression)
|
static boolean |
areParenthesesUseless(JetParenthesizedExpression expression)
|
static com.intellij.psi.PsiElement |
ascendIfPropertyAccessor(com.intellij.psi.PsiElement element)
|
static boolean |
checkVariableDeclarationInBlock(JetBlockExpression block,
java.lang.String varName)
|
static boolean |
checkWhenExpressionHasSingleElse(JetWhenExpression whenExpression)
|
static
<T extends com.intellij.psi.PsiElement>
void |
|
deleteChildlessElement(com.intellij.psi.PsiElement element,
java.lang.Class<T> childClass)
|
static void |
deleteClass(JetClassOrObject clazz)
|
static void |
deleteElementWithDelimiters(com.intellij.psi.PsiElement element)
|
static JetExpression |
deparenthesize(JetExpression expression)
|
static JetExpression |
deparenthesize(JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
|
static JetExpression |
deparenthesizeWithResolutionStrategy(JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS,
com.google.common.base.Function<JetTypeReference,java.lang.Void> typeResolutionStrategy)
Deprecated. |
static com.intellij.psi.PsiElement |
findChildByType(com.intellij.psi.PsiElement element,
com.intellij.psi.tree.IElementType type)
|
static java.util.Set<JetElement> |
findRootExpressions(java.util.Collection<JetElement> unreachableElements)
|
static Name |
getAliasName(JetImportDirective importDirective)
|
static JetExpression |
getBaseExpressionIfLabeledExpression(JetPrefixExpression expression)
|
static JetExpression |
getCalleeExpressionIfAny(JetExpression expression)
|
static JetClass |
getClassIfParameterIsProperty(JetParameter jetParameter)
|
static Name |
getConventionName(JetSimpleNameExpression simpleNameExpression)
|
static
<T extends com.intellij.psi.PsiElement>
T |
|
getDirectParentOfTypeForBlock(JetBlockExpression block,
java.lang.Class<T> aClass)
|
static java.lang.String |
getElementTextWithContext(JetElement element)
|
static JetElement |
getEnclosingElementForLocalDeclaration(JetDeclaration declaration)
|
static FqName |
getFQName(JetFile file)
|
static FqName |
getFQName(JetNamedDeclaration namedDeclaration)
|
static ImportPath |
getImportPath(JetImportDirective importDirective)
|
static
<T extends com.intellij.psi.PsiElement>
T |
|
getLastChildByType(com.intellij.psi.PsiElement root,
java.lang.Class<? extends T>... elementTypes)
|
static JetSimpleNameExpression |
getLastReference(JetExpression importedReference)
|
static JetElement |
getLastStatementInABlock(JetBlockExpression blockExpression)
|
static java.lang.String |
getNullableText(com.intellij.psi.PsiElement element)
|
static JetToken |
getOperationToken(JetOperationExpression expression)
|
static JetClassOrObject |
getOutermostClassOrObject(JetClassOrObject classOrObject)
|
static JetElement |
getOutermostDescendantElement(com.intellij.psi.PsiElement root,
boolean first,
com.google.common.base.Predicate<JetElement> predicate)
|
static JetElement |
getOutermostLastBlockElement(JetElement element,
com.google.common.base.Predicate<JetElement> checkElement)
|
static com.intellij.psi.PsiElement |
getOutermostParent(com.intellij.psi.PsiElement element,
com.intellij.psi.PsiElement upperBound,
boolean strict)
|
static java.lang.String |
getPackageName(JetElement element)
|
static com.intellij.psi.NavigatablePsiElement |
getPackageReference(JetFile file,
int partIndex)
|
static JetScript |
getScript(JetDeclaration namedDeclaration)
|
static Name |
getShortName(JetAnnotationEntry annotation)
|
static java.lang.String |
getText(com.intellij.psi.PsiElement element)
|
static com.intellij.psi.PsiElement |
getTopmostParentOfTypes(com.intellij.psi.PsiElement element,
java.lang.Class<? extends com.intellij.psi.PsiElement>... parentTypes)
|
static FqNameUnsafe |
getUnsafeFQName(JetNamedDeclaration namedDeclaration)
|
static boolean |
isAbstract(JetDeclarationWithBody declaration)
|
static boolean |
isAssignment(com.intellij.psi.PsiElement element)
|
static boolean |
isBackingFieldReference(JetElement element)
|
static boolean |
isBackingFieldReference(JetSimpleNameExpression expression)
|
static boolean |
isDeprecated(JetModifierListOwner owner)
|
static boolean |
isImplicitlyUsed(JetElement element)
|
static boolean |
isInComment(com.intellij.psi.PsiElement element)
CommentUtilCore.isComment fails if element inside comment. |
static boolean |
isLabeledExpression(JetPrefixExpression expression)
|
static boolean |
isLabelIdentifierExpression(com.intellij.psi.PsiElement element)
|
static boolean |
isLHSOfDot(JetExpression expression)
|
static boolean |
isLocal(JetDeclaration declaration)
|
static boolean |
isNullConstant(JetExpression expression)
|
static boolean |
isOrdinaryAssignment(com.intellij.psi.PsiElement element)
|
static boolean |
isSafeCall(Call call)
|
static boolean |
isScriptDeclaration(JetDeclaration namedDeclaration)
|
static boolean |
isSelectorInQualified(JetSimpleNameExpression nameExpression)
|
static boolean |
isTrait(JetClassOrObject classOrObject)
|
static boolean |
isVariableNotParameterDeclaration(JetDeclaration declaration)
|
static boolean |
isVoidType(JetTypeReference typeReference)
|
static JetModifierList |
replaceModifierList(JetModifierListOwner owner,
JetModifierList modifierList)
|
static JetExpression |
safeDeparenthesize(JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
|
static Name |
safeName(java.lang.String name)
|
static com.intellij.psi.PsiElement |
skipSiblingsBackwardByPredicate(com.intellij.psi.PsiElement element,
com.google.common.base.Predicate<com.intellij.psi.PsiElement> elementsToSkip)
|
static com.intellij.psi.PsiElement |
skipSiblingsForwardByPredicate(com.intellij.psi.PsiElement element,
com.google.common.base.Predicate<com.intellij.psi.PsiElement> elementsToSkip)
|
static com.intellij.psi.PsiElement |
skipTrailingWhitespacesAndComments(com.intellij.psi.PsiElement element)
|
static FqName |
toQualifiedName(JetUserType userType)
|
static java.lang.String |
unquoteIdentifier(java.lang.String quoted)
|
static java.lang.String |
unquoteIdentifierOrFieldReference(java.lang.String quoted)
|
static
|
visitChildren(JetElement element,
JetTreeVisitor<D> visitor,
D data)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ANY_JET_ELEMENT
public static final com.google.common.base.Predicate<JetElement> ANY_JET_ELEMENT
visitChildren
public static <D> void visitChildren(@NotNull
JetElement element,
@NotNull
JetTreeVisitor<D> visitor,
D data)
safeDeparenthesize
@NotNull
public static JetExpression safeDeparenthesize(@NotNull
JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
deparenthesize
@Nullable
public static JetExpression deparenthesize(@Nullable
JetExpression expression)
deparenthesize
@Nullable
public static JetExpression deparenthesize(@Nullable
JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
deparenthesizeWithResolutionStrategy
@Nullable
@Deprecated
public static JetExpression deparenthesizeWithResolutionStrategy(@Nullable
JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS,
@Nullable
com.google.common.base.Function<JetTypeReference,java.lang.Void> typeResolutionStrategy)
- Deprecated.
getBaseExpressionIfLabeledExpression
@Nullable
public static JetExpression getBaseExpressionIfLabeledExpression(@NotNull
JetPrefixExpression expression)
isLabeledExpression
public static boolean isLabeledExpression(JetPrefixExpression expression)
safeName
@NotNull
public static Name safeName(@Nullable
java.lang.String name)
findRootExpressions
@NotNull
public static java.util.Set<JetElement> findRootExpressions(@NotNull
java.util.Collection<JetElement> unreachableElements)
unquoteIdentifier
@NotNull
public static java.lang.String unquoteIdentifier(@NotNull
java.lang.String quoted)
unquoteIdentifierOrFieldReference
@NotNull
public static java.lang.String unquoteIdentifierOrFieldReference(@NotNull
java.lang.String quoted)
getFQName
@NotNull
public static FqName getFQName(@NotNull
JetFile file)
getUnsafeFQName
@Nullable
public static FqNameUnsafe getUnsafeFQName(@NotNull
JetNamedDeclaration namedDeclaration)
getFQName
@Nullable
public static FqName getFQName(@NotNull
JetNamedDeclaration namedDeclaration)
toQualifiedName
@Nullable
public static FqName toQualifiedName(@NotNull
JetUserType userType)
- Returns:
null
iff the tye has syntactic errors
getShortName
@Nullable
public static Name getShortName(@NotNull
JetAnnotationEntry annotation)
isDeprecated
public static boolean isDeprecated(@NotNull
JetModifierListOwner owner)
getImportPath
@Nullable
public static ImportPath getImportPath(@NotNull
JetImportDirective importDirective)
getDirectParentOfTypeForBlock
@Nullable
public static <T extends com.intellij.psi.PsiElement> T getDirectParentOfTypeForBlock(@NotNull
JetBlockExpression block,
@NotNull
java.lang.Class<T> aClass)
isImplicitlyUsed
public static boolean isImplicitlyUsed(@NotNull
JetElement element)
deleteClass
public static void deleteClass(@NotNull
JetClassOrObject clazz)
getAliasName
@Nullable
public static Name getAliasName(@NotNull
JetImportDirective importDirective)
getLastReference
@Nullable
public static JetSimpleNameExpression getLastReference(@NotNull
JetExpression importedReference)
isSelectorInQualified
public static boolean isSelectorInQualified(@NotNull
JetSimpleNameExpression nameExpression)
isLHSOfDot
public static boolean isLHSOfDot(@NotNull
JetExpression expression)
isVoidType
public static boolean isVoidType(@Nullable
JetTypeReference typeReference)
isSafeCall
public static boolean isSafeCall(@NotNull
Call call)
isScriptDeclaration
public static boolean isScriptDeclaration(@NotNull
JetDeclaration namedDeclaration)
getScript
@Nullable
public static JetScript getScript(@NotNull
JetDeclaration namedDeclaration)
isVariableNotParameterDeclaration
public static boolean isVariableNotParameterDeclaration(@NotNull
JetDeclaration declaration)
getConventionName
@Nullable
public static Name getConventionName(@NotNull
JetSimpleNameExpression simpleNameExpression)
getTopmostParentOfTypes
@Nullable
public static com.intellij.psi.PsiElement getTopmostParentOfTypes(@Nullable
com.intellij.psi.PsiElement element,
@NotNull
java.lang.Class<? extends com.intellij.psi.PsiElement>... parentTypes)
isNullConstant
public static boolean isNullConstant(@NotNull
JetExpression expression)
isAbstract
public static boolean isAbstract(@NotNull
JetDeclarationWithBody declaration)
isBackingFieldReference
public static boolean isBackingFieldReference(@NotNull
JetSimpleNameExpression expression)
isBackingFieldReference
public static boolean isBackingFieldReference(@Nullable
JetElement element)
getLastStatementInABlock
@Nullable
public static JetElement getLastStatementInABlock(@Nullable
JetBlockExpression blockExpression)
isTrait
public static boolean isTrait(@NotNull
JetClassOrObject classOrObject)
getOutermostClassOrObject
@Nullable
public static JetClassOrObject getOutermostClassOrObject(@NotNull
JetClassOrObject classOrObject)
getClassIfParameterIsProperty
@Nullable
public static JetClass getClassIfParameterIsProperty(@NotNull
JetParameter jetParameter)
areParenthesesUseless
public static boolean areParenthesesUseless(@NotNull
JetParenthesizedExpression expression)
areParenthesesNecessary
public static boolean areParenthesesNecessary(@NotNull
JetExpression innerExpression,
@NotNull
JetExpression currentInner,
@NotNull
JetExpression parentExpression)
isAssignment
public static boolean isAssignment(@NotNull
com.intellij.psi.PsiElement element)
isOrdinaryAssignment
public static boolean isOrdinaryAssignment(@NotNull
com.intellij.psi.PsiElement element)
getOutermostLastBlockElement
@Nullable
public static JetElement getOutermostLastBlockElement(@Nullable
JetElement element,
@NotNull
com.google.common.base.Predicate<JetElement> checkElement)
checkVariableDeclarationInBlock
public static boolean checkVariableDeclarationInBlock(@NotNull
JetBlockExpression block,
@NotNull
java.lang.String varName)
checkWhenExpressionHasSingleElse
public static boolean checkWhenExpressionHasSingleElse(@NotNull
JetWhenExpression whenExpression)
skipTrailingWhitespacesAndComments
@Nullable
public static com.intellij.psi.PsiElement skipTrailingWhitespacesAndComments(@Nullable
com.intellij.psi.PsiElement element)
getText
@NotNull
public static java.lang.String getText(@Nullable
com.intellij.psi.PsiElement element)
getNullableText
@Nullable
public static java.lang.String getNullableText(@Nullable
com.intellij.psi.PsiElement element)
isInComment
public static boolean isInComment(com.intellij.psi.PsiElement element)
- CommentUtilCore.isComment fails if element inside comment.
Also, we can not add KDocTokens to COMMENTS TokenSet, because it is used in JetParserDefinition.getCommentTokens(),
and therefor all COMMENTS tokens will be ignored by PsiBuilder.
- Parameters:
element
-
- Returns:
getOutermostParent
@Nullable
public static com.intellij.psi.PsiElement getOutermostParent(@NotNull
com.intellij.psi.PsiElement element,
@NotNull
com.intellij.psi.PsiElement upperBound,
boolean strict)
getLastChildByType
public static <T extends com.intellij.psi.PsiElement> T getLastChildByType(@NotNull
com.intellij.psi.PsiElement root,
@NotNull
java.lang.Class<? extends T>... elementTypes)
getOutermostDescendantElement
@Nullable
public static JetElement getOutermostDescendantElement(@Nullable
com.intellij.psi.PsiElement root,
boolean first,
@NotNull
com.google.common.base.Predicate<JetElement> predicate)
findChildByType
@Nullable
public static com.intellij.psi.PsiElement findChildByType(@NotNull
com.intellij.psi.PsiElement element,
@NotNull
com.intellij.psi.tree.IElementType type)
getCalleeExpressionIfAny
@Nullable
public static JetExpression getCalleeExpressionIfAny(@NotNull
JetExpression expression)
skipSiblingsBackwardByPredicate
@Nullable
public static com.intellij.psi.PsiElement skipSiblingsBackwardByPredicate(@Nullable
com.intellij.psi.PsiElement element,
com.google.common.base.Predicate<com.intellij.psi.PsiElement> elementsToSkip)
skipSiblingsForwardByPredicate
@Nullable
public static com.intellij.psi.PsiElement skipSiblingsForwardByPredicate(@Nullable
com.intellij.psi.PsiElement element,
com.google.common.base.Predicate<com.intellij.psi.PsiElement> elementsToSkip)
getPackageReference
public static com.intellij.psi.NavigatablePsiElement getPackageReference(@NotNull
JetFile file,
int partIndex)
deleteElementWithDelimiters
public static void deleteElementWithDelimiters(@NotNull
com.intellij.psi.PsiElement element)
deleteChildlessElement
public static <T extends com.intellij.psi.PsiElement> void deleteChildlessElement(com.intellij.psi.PsiElement element,
java.lang.Class<T> childClass)
ascendIfPropertyAccessor
public static com.intellij.psi.PsiElement ascendIfPropertyAccessor(com.intellij.psi.PsiElement element)
getElementTextWithContext
@NotNull
public static java.lang.String getElementTextWithContext(@NotNull
JetElement element)
replaceModifierList
@Nullable
public static JetModifierList replaceModifierList(@NotNull
JetModifierListOwner owner,
@Nullable
JetModifierList modifierList)
getPackageName
@Nullable
public static java.lang.String getPackageName(@NotNull
JetElement element)
getEnclosingElementForLocalDeclaration
@Nullable
public static JetElement getEnclosingElementForLocalDeclaration(@Nullable
JetDeclaration declaration)
isLocal
public static boolean isLocal(@NotNull
JetDeclaration declaration)
getOperationToken
@Nullable
public static JetToken getOperationToken(@NotNull
JetOperationExpression expression)
isLabelIdentifierExpression
public static boolean isLabelIdentifierExpression(com.intellij.psi.PsiElement element)