Debugger: Navigate to the right file in MPP projects (#KT-25152, #KT-25147)
This commit is contained in:
@@ -94,6 +94,10 @@ fun PsiElement.nextLeaf(filter: (PsiElement) -> Boolean): PsiElement? {
|
||||
return leaf
|
||||
}
|
||||
|
||||
fun <T : PsiElement> PsiElement.getParentOfTypes(strict: Boolean = false, vararg parentClasses: Class<out T>): T? {
|
||||
return getParentOfTypesAndPredicate(strict, *parentClasses) { true }
|
||||
}
|
||||
|
||||
fun <T : PsiElement> PsiElement.getParentOfTypesAndPredicate(
|
||||
strict: Boolean = false, vararg parentClasses: Class<out T>, predicate: (T) -> Boolean
|
||||
): T? {
|
||||
@@ -121,6 +125,14 @@ inline fun <reified T : PsiElement> PsiElement.getParentOfType(strict: Boolean):
|
||||
return PsiTreeUtil.getParentOfType(this, T::class.java, strict)
|
||||
}
|
||||
|
||||
inline fun <reified T : PsiElement, reified V : PsiElement> PsiElement.getParentOfTypes2(): PsiElement? {
|
||||
return PsiTreeUtil.getParentOfType(this, T::class.java, V::class.java)
|
||||
}
|
||||
|
||||
inline fun <reified T : PsiElement, reified V : PsiElement, reified U : PsiElement> PsiElement.getParentOfTypes3(): PsiElement? {
|
||||
return PsiTreeUtil.getParentOfType(this, T::class.java, V::class.java, U::class.java)
|
||||
}
|
||||
|
||||
inline fun <reified T : PsiElement> PsiElement.getStrictParentOfType(): T? {
|
||||
return PsiTreeUtil.getParentOfType(this, T::class.java, true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user