[AA] KT-56617 Don't defer to firSymbol for empty annotation lists
- `FirJavaClass` gets all its annotations from the Java annotations, so we can rely on `javaClass.annotations` to determine if any annotations are present.
This commit is contained in:
committed by
Space Team
parent
0b98192cb0
commit
46d443770e
+3
-1
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.analysis.api.base.KtContextReceiver
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.fir.annotations.KtFirAnnotationListForDeclaration
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.cached
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.annotations.KtEmptyAnnotationsList
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.symbols.toKtClassKind
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
||||
@@ -112,7 +113,8 @@ internal class KtFirPsiJavaClassSymbol(
|
||||
}
|
||||
|
||||
override val annotationsList: KtAnnotationsList by cached {
|
||||
KtFirAnnotationListForDeclaration.create(firSymbol, analysisSession.useSiteSession, token)
|
||||
if (javaClass.annotations.isEmpty()) KtEmptyAnnotationsList(token)
|
||||
else KtFirAnnotationListForDeclaration.create(firSymbol, analysisSession.useSiteSession, token)
|
||||
}
|
||||
|
||||
context(KtAnalysisSession)
|
||||
|
||||
Reference in New Issue
Block a user