[Analysis API] add constructorSymbol to API of KtAnnotationApplicationWithArgumentsInfo

This is required for some checks on call site, and it seems that
this symbol can cover all cases.
One of the examples why this API was introduced is a request to
distinguish which vararg parameter is missed in arguments
of an annotation call from symbol light classes

^KT-62560
This commit is contained in:
Dmitrii Gridin
2023-11-01 15:59:50 +01:00
committed by Space Team
parent 3a6cdc83cf
commit 1173cc46e2
45 changed files with 192 additions and 228 deletions
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.analysis.api.annotations
import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.psi.KtCallElement
@@ -23,6 +25,11 @@ public data class KtAnnotationApplicationWithArgumentsInfo(
*/
public val arguments: List<KtNamedAnnotationValue>,
override val index: Int?,
/**
* The constructor symbol into which this annotation resolves if the annotation is correctly resolved
*/
public val constructorSymbolPointer: KtSymbolPointer<KtConstructorSymbol>?,
) : KtAnnotationApplication {
override val isCallWithArguments: Boolean get() = arguments.isNotEmpty()
}