From 0fbb5c60c95257b3e30bb2f5e6a955fbd0b54b1b Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 2 Feb 2021 18:42:31 +0100 Subject: [PATCH] FIR IDE: add helper function for getting psi of KtSymbol --- .../kotlin/idea/frontend/api/symbols/KtSymbol.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbol.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbol.kt index 4db07950b8b..5c6dd0c2310 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbol.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbol.kt @@ -16,6 +16,22 @@ interface KtSymbol : ValidityTokenOwner { fun createPointer(): KtSymbolPointer } +/** + * Get symbol [PsiElement] if its type is [PSI], otherwise throws ClassCastException + * + * @see KtSymbol.psi + */ +inline fun KtSymbol.psi(): PSI = + psi as PSI + +/** + * Get symbol [PsiElement] if its type is [PSI], otherwise null + * + * @see KtSymbol.psi + */ +inline fun KtSymbol.psiSafe(): PSI? = + psi as? PSI + /** * A place where [KtSymbol] came from */