Skip to content

Commit c59f7bb

Browse files
committed
Return KSClassDeclarationEnumEntryImpl for enum entry annotation values.
1 parent 51c8e7b commit c59f7bb

File tree

4 files changed

+7
-10
lines changed

4 files changed

+7
-10
lines changed

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/java/KSAnnotationJavaImpl.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.google.devtools.ksp.common.KSObjectCache
44
import com.google.devtools.ksp.common.impl.KSNameImpl
55
import com.google.devtools.ksp.getClassDeclarationByName
66
import com.google.devtools.ksp.impl.ResolverAAImpl
7+
import com.google.devtools.ksp.impl.symbol.kotlin.KSClassDeclarationEnumEntryImpl
78
import com.google.devtools.ksp.impl.symbol.kotlin.KSErrorType
89
import com.google.devtools.ksp.impl.symbol.kotlin.KSValueArgumentImpl
910
import com.google.devtools.ksp.impl.symbol.kotlin.analyze
@@ -202,10 +203,7 @@ fun calcValue(value: PsiAnnotationMemberValue?): Any? {
202203
}?.declarations?.find {
203204
it is KSClassDeclaration && it.classKind == ClassKind.ENUM_ENTRY &&
204205
it.simpleName.asString() == result.name
205-
}?.let { (it as KSClassDeclaration).asStarProjectedType() }
206-
?.let {
207-
return it
208-
}
206+
} as? KSClassDeclarationEnumEntryImpl
209207
} else {
210208
null
211209
}

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSClassDeclarationEnumEntryImpl.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ class KSClassDeclarationEnumEntryImpl private constructor(private val ktEnumEntr
102102
ktEnumEntrySymbol.psi.toLocation()
103103
}
104104

105-
override val parent: KSNode? by lazy {
105+
override val parent: KSNode by lazy {
106106
analyze {
107-
(ktEnumEntrySymbol.getContainingSymbol() as? KtNamedClassOrObjectSymbol)
108-
?.let { KSClassDeclarationImpl.getCached(it) }
107+
(ktEnumEntrySymbol.getContainingSymbol() as KtNamedClassOrObjectSymbol)
108+
.let { KSClassDeclarationImpl.getCached(it) }
109109
}
110110
}
111111

kotlin-analysis-api/testData/annotationValue/java.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
// Array
3333
// @Foo
3434
// @Suppress
35-
// RGB
36-
// JavaEnum
35+
// G
36+
// ONE
3737
// 31
3838
// [warning1, warning 2]
3939
// END

test-utils/src/test/kotlin/com/google/devtools/ksp/test/KSPAATest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ class KSPAATest : AbstractKSPAATest() {
8989
runTest("../kotlin-analysis-api/testData/annotationValue/java.kt")
9090
}
9191

92-
@Disabled
9392
@TestMetadata("annotationValue_kt.kt")
9493
@Test
9594
fun testAnnotationValue_kt() {

0 commit comments

Comments
 (0)