I ran into an relatively simple case where `ksp` a...
# ksp
a
I ran into an relatively simple case where
ksp
and
kapt
will definitely differ in behavior, due to the limitations of the latter that I thought would be interesting to share:
Copy code
class Test {
    companion object {
        sealed class TestSealedClass {
            @GenSealedEnum
            companion object
        }
    }
}
That
@GenSealedEnum
will be picked up by
ksp
with
getSymbolsWithAnnotation
, but it will be ignored in
kapt
with
getElementsAnnotatedWith
My understanding (via https://youtrack.jetbrains.com/issue/KT-16458 and https://github.com/JetBrains/kotlin/commit/bb0a46ac17e4e030f3ba9c08b322039f1afb29c7) is that this has to be the case in
kapt
since the stubs wouldn’t be valid Java otherwise.
👍🏼 1
👍 4