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 |
deparenthesizeWithNoTypeResolution(JetExpression expression)
|
static JetExpression |
deparenthesizeWithResolutionStrategy(JetExpression expression,
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 |
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 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 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 com.intellij.psi.NavigatablePsiElement |
getPackageReference(JetFile file,
int partIndex)
|
static com.intellij.psi.PsiElement |
getParentByTypeAndPredicate(com.intellij.psi.PsiElement element,
java.lang.Class<? extends com.intellij.psi.PsiElement> aClass,
com.google.common.base.Predicate<com.intellij.psi.PsiElement> predicate,
boolean strict)
|
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(JetElement element)
|
static boolean |
isBackingFieldReference(JetSimpleNameExpression expression)
|
static boolean |
isDeprecated(JetModifierListOwner owner)
|
static boolean |
isFirstPartInQualified(JetSimpleNameExpression nameExpression)
|
static boolean |
isFunctionLiteralWithoutDeclaredParameterTypes(JetExpression expression)
|
static boolean |
isImplicitlyUsed(JetElement element)
|
static boolean |
isInComment(com.intellij.psi.PsiElement element)
CommentUtilCore.isComment fails if element inside comment. |
static boolean |
isLocalClass(JetClassOrObject classOrObject)
|
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 |
isTrait(JetClassOrObject classOrObject)
|
static boolean |
isVariableNotParameterDeclaration(JetDeclaration declaration)
|
static boolean |
isVoidType(JetTypeReference typeReference)
|
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 |
NO_NAME_PROVIDED
public static final Name NO_NAME_PROVIDED
ROOT_NAMESPACE_NAME
public static final Name ROOT_NAMESPACE_NAME
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)
deparenthesizeWithNoTypeResolution
@Nullable
public static JetExpression deparenthesizeWithNoTypeResolution(@NotNull
JetExpression expression)
deparenthesizeWithResolutionStrategy
@Nullable
@Deprecated
public static JetExpression deparenthesizeWithResolutionStrategy(@NotNull
JetExpression expression,
@Nullable
com.google.common.base.Function<JetTypeReference,java.lang.Void> typeResolutionStrategy)
- Deprecated.
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)
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)
isFirstPartInQualified
public static boolean isFirstPartInQualified(@NotNull
JetSimpleNameExpression nameExpression)
isVoidType
public static boolean isVoidType(@Nullable
JetTypeReference typeReference)
isSafeCall
public static boolean isSafeCall(@NotNull
Call call)
isFunctionLiteralWithoutDeclaredParameterTypes
public static boolean isFunctionLiteralWithoutDeclaredParameterTypes(@Nullable
JetExpression expression)
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)
isLocalClass
public static boolean isLocalClass(@NotNull
JetClassOrObject classOrObject)
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)
getParentByTypeAndPredicate
@Nullable
public static com.intellij.psi.PsiElement getParentByTypeAndPredicate(@Nullable
com.intellij.psi.PsiElement element,
@NotNull
java.lang.Class<? extends com.intellij.psi.PsiElement> aClass,
@NotNull
com.google.common.base.Predicate<com.intellij.psi.PsiElement> predicate,
boolean strict)
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)