[AA] KtAnnotationsList: introduce 'annotationOverviews'

it provides a solution for several problems with redundant resolve.
It is a more powerful tool than 'annotationClassIds'

^KT-56046
This commit is contained in:
Dmitrii Gridin
2023-01-26 14:54:27 +01:00
committed by Space Team
parent 24041bf96d
commit 3a7602a38f
11 changed files with 166 additions and 27 deletions
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.analysis.api.impl.base.annotations
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationOverview
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
@@ -16,6 +17,9 @@ class KtEmptyAnnotationsList(override val token: KtLifetimeToken) : KtAnnotation
override val annotations: List<KtAnnotationApplication>
get() = withValidityAssertion { emptyList() }
override val annotationOverviews: List<KtAnnotationOverview>
get() = withValidityAssertion { emptyList() }
override fun hasAnnotation(
classId: ClassId,
useSiteTarget: AnnotationUseSiteTarget?,