| package com.github.shyiko.ktlint.ruleset.standard |
| |
| import org.jetbrains.kotlin.com.intellij.psi.PsiElement |
| import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement |
| import org.jetbrains.kotlin.com.intellij.psi.util.PsiTreeUtil |
| import org.jetbrains.kotlin.psi.KtStringTemplateEntry |
| import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType |
| import kotlin.reflect.KClass |
| |
| internal fun PsiElement.isPartOf(clazz: KClass<out PsiElement>) = getNonStrictParentOfType(clazz.java) != null |
| internal fun PsiElement.isPartOfString() = isPartOf(KtStringTemplateEntry::class) |
| internal fun PsiElement.prevLeaf(): LeafPsiElement? = PsiTreeUtil.prevLeaf(this) as LeafPsiElement? |
| internal fun PsiElement.nextLeaf(): LeafPsiElement? = PsiTreeUtil.nextLeaf(this) as LeafPsiElement? |
| |
| internal fun <T> List<T>.head() = this.subList(0, this.size - 1) |
| internal fun <T> List<T>.tail() = this.subList(1, this.size) |