aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiaxiang Chen <jiaxiang@google.com>2024-05-20 16:52:29 -0700
committerJiaxiang Chen <roaringacw@gmail.com>2024-05-20 20:51:17 -0700
commitdef3bc03b96ae674d4c9ea101cd8e8bfab290dd1 (patch)
treead563decb32afe34bc484003950cda4bb623cab8
parentce91ec4c27116bbc15231e8adfa29e83a4ac806d (diff)
downloadksp-upstream-main.tar.gz
use safe cast for annotation type to declaration resolutionupstream-main
-rw-r--r--kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt4
1 files changed, 2 insertions, 2 deletions
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt
index 1730461f..6e3f3ee8 100644
--- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt
+++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt
@@ -67,7 +67,7 @@ class KSAnnotationJavaImpl private constructor(private val psi: PsiAnnotation, o
override val arguments: List<KSValueArgument> by lazy {
val annotationConstructor = analyze {
- (type.classifierSymbol() as KtClassOrObjectSymbol).getMemberScope().getConstructors().singleOrNull()
+ (type.classifierSymbol() as? KtClassOrObjectSymbol)?.getMemberScope()?.getConstructors()?.singleOrNull()
}
val presentArgs = psi.parameterList.attributes.mapIndexed { index, it ->
val name = it.name ?: annotationConstructor?.valueParameters?.getOrNull(index)?.name?.asString()
@@ -91,7 +91,7 @@ class KSAnnotationJavaImpl private constructor(private val psi: PsiAnnotation, o
override val defaultArguments: List<KSValueArgument> by lazy {
analyze {
- (type.classifierSymbol() as KtClassOrObjectSymbol).getMemberScope().getConstructors().singleOrNull()
+ (type.classifierSymbol() as? KtClassOrObjectSymbol)?.getMemberScope()?.getConstructors()?.singleOrNull()
?.let { symbol ->
if (symbol.origin == KtSymbolOrigin.JAVA && symbol.psi != null) {
(symbol.psi as PsiClass).allMethods.filterIsInstance<PsiAnnotationMethod>()