Added a public function that allows to get the actual annotation target list
The logic to get the actual target is required on the IDE side, see KTIJ-26302
This commit is contained in:
committed by
Space Team
parent
42ebbb937c
commit
67d8346f5c
+8
@@ -10,6 +10,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.llFirModuleData
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtModule
|
||||
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.getActualTargetList
|
||||
import org.jetbrains.kotlin.fir.dispatchReceiverClassLookupTagOrNull
|
||||
import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
@@ -49,3 +52,8 @@ fun KtSymbol.getContainingKtModule(firResolveSession: LLFirResolveSession): KtMo
|
||||
is KtReceiverParameterSymbol -> owningCallableSymbol.getContainingKtModule(firResolveSession)
|
||||
else -> TODO("${this::class}")
|
||||
}
|
||||
|
||||
fun KtSymbol.getActualAnnotationTargets(): List<KotlinTarget>? {
|
||||
val firSymbol = this.firSymbol.fir as? FirAnnotationContainer ?: return null
|
||||
return getActualTargetList(firSymbol).defaultTargets
|
||||
}
|
||||
Reference in New Issue
Block a user