[Analysis API] Minor, prettify 'getContainingPsiDeclaration()'

This commit is contained in:
Yan Zhulanow
2024-01-18 18:43:41 +09:00
committed by Space Team
parent 83ad6eca08
commit 1c883c93fc
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.platform.has
import org.jetbrains.kotlin.platform.jvm.JvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatform
import org.jetbrains.kotlin.psi import org.jetbrains.kotlin.psi
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
internal class KtFirSymbolContainingDeclarationProvider( internal class KtFirSymbolContainingDeclarationProvider(
@@ -286,9 +287,13 @@ internal class KtFirSymbolContainingDeclarationProvider(
} }
} }
private fun PsiElement.getContainingKtDeclaration(): KtDeclaration? = private fun PsiElement.getContainingPsiDeclaration(): KtDeclaration? {
when (val container = this.parentOfType<KtDeclaration>()) { for (parent in parents) {
is KtDestructuringDeclaration -> container.parentOfType() if (parent is KtDeclaration && parent !is KtDestructuringDeclaration) {
else -> container return parent.originalDeclaration ?: parent
}?.let { it.originalDeclaration ?: it } }
}
return null
}
} }