[AA] introduce AnnotationUseSiteTargetFilter to simplify API

^KT-56046
This commit is contained in:
Dmitrii Gridin
2023-01-27 21:05:51 +01:00
committed by Space Team
parent 6e25b45f7d
commit 93232a23df
31 changed files with 325 additions and 249 deletions
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.analysis.api.impl.base.annotations
import org.jetbrains.kotlin.analysis.api.annotations.AnnotationUseSiteTargetFilter
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.name.ClassId
class KtEmptyAnnotationsList(override val token: KtLifetimeToken) : KtAnnotationsList() {
@@ -20,15 +20,13 @@ class KtEmptyAnnotationsList(override val token: KtLifetimeToken) : KtAnnotation
override fun hasAnnotation(
classId: ClassId,
useSiteTarget: AnnotationUseSiteTarget?,
acceptAnnotationsWithoutUseSite: Boolean,
useSiteTargetFilter: AnnotationUseSiteTargetFilter,
): Boolean = withValidityAssertion { false }
override fun hasAnnotation(classId: ClassId): Boolean = withValidityAssertion { false }
override fun annotationsByClassId(classId: ClassId): List<KtAnnotationApplicationWithArgumentsInfo> = withValidityAssertion {
emptyList()
}
override fun annotationsByClassId(
classId: ClassId,
useSiteTargetFilter: AnnotationUseSiteTargetFilter,
): List<KtAnnotationApplicationWithArgumentsInfo> = withValidityAssertion { emptyList() }
override val annotationClassIds: Collection<ClassId> get() = withValidityAssertion { emptyList() }
}