[Analysis API] move PSI utils to internal-utils module

This commit is contained in:
Ilya Kirillov
2022-06-23 21:32:58 +02:00
parent bb7b34b3a1
commit 86605c066b
26 changed files with 76 additions and 66 deletions
@@ -10,13 +10,3 @@ import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
inline fun <reified T : PsiElement> PsiElement.parentOfType(withSelf: Boolean = false): T? {
return PsiTreeUtil.getParentOfType(this, T::class.java, !withSelf)
}
fun <T : PsiElement> PsiElement.parentsOfType(clazz: Class<out T>, withSelf: Boolean = true): Sequence<T> {
return (if (withSelf) parentsWithSelf else parents).filterIsInstance(clazz)
}
inline fun <reified T : PsiElement> PsiElement.parentsOfType(withSelf: Boolean = true): Sequence<T> =
parentsOfType(T::class.java, withSelf)