org.jetbrains.kotlin.psi
Class JetPsiUtil
java.lang.Object
org.jetbrains.kotlin.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 |
deparenthesizeOnce(JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
|
static JetExpression |
deparenthesizeWithResolutionStrategy(JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS,
com.google.common.base.Function<JetTypeReference,java.lang.Void> typeResolutionStrategy)
|
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 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(com.intellij.psi.PsiElement element)
|
static JetElement |
getEnclosingElementForLocalDeclaration(JetDeclaration declaration)
|
static JetElement |
getEnclosingElementForLocalDeclaration(JetDeclaration declaration,
boolean skipParameters)
|
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 JetExpression |
getParentCallIfPresent(JetExpression expression)
|
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 boolean |
isAbstract(JetDeclarationWithBody declaration)
|
static boolean |
isAssignment(com.intellij.psi.PsiElement element)
|
static boolean |
isBackingFieldReference(JetSimpleNameExpression expression)
|
static boolean |
isDeprecated(JetModifierListOwner owner)
|
static boolean |
isInComment(com.intellij.psi.PsiElement element)
CommentUtilCore.isComment fails if element inside comment. |
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 |
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,
JetVisitor<java.lang.Void,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
JetVisitor<java.lang.Void,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)
deparenthesizeOnce
@Nullable
public static JetExpression deparenthesizeOnce(@Nullable
JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS)
deparenthesizeWithResolutionStrategy
@Nullable
public static JetExpression deparenthesizeWithResolutionStrategy(@Nullable
JetExpression expression,
boolean deparenthesizeBinaryExpressionWithTypeRHS,
@Nullable
com.google.common.base.Function<JetTypeReference,java.lang.Void> typeResolutionStrategy)
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)
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)
getDirectParentOfTypeForBlock
@Nullable
public static <T extends com.intellij.psi.PsiElement> T getDirectParentOfTypeForBlock(@NotNull
JetBlockExpression block,
@NotNull
java.lang.Class<T> aClass)
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)
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
@Contract(value="null, _ -> null")
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)
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)
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)
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
com.intellij.psi.PsiElement 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(@NotNull
JetDeclaration declaration)
getEnclosingElementForLocalDeclaration
@Nullable
public static JetElement getEnclosingElementForLocalDeclaration(@NotNull
JetDeclaration declaration,
boolean skipParameters)
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)
getParentCallIfPresent
@Nullable
public static JetExpression getParentCallIfPresent(@NotNull
JetExpression expression)