diff options
author | Jiaxiang Chen <jiaxiang@google.com> | 2024-05-20 16:52:29 -0700 |
---|---|---|
committer | Jiaxiang Chen <roaringacw@gmail.com> | 2024-05-20 20:51:17 -0700 |
commit | def3bc03b96ae674d4c9ea101cd8e8bfab290dd1 (patch) | |
tree | ad563decb32afe34bc484003950cda4bb623cab8 | |
parent | ce91ec4c27116bbc15231e8adfa29e83a4ac806d (diff) | |
download | ksp-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.kt | 4 |
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>() |