add opportunity to generate types lists for sealed subtypes

This commit is contained in:
2025-01-14 09:56:30 +06:00
parent 307c8030af
commit a5eb0fbd24
7 changed files with 122 additions and 8 deletions

View File

@@ -3,9 +3,15 @@ package dev.inmo.micro_utils.ksp.sealed.generator
import com.google.devtools.ksp.KspExperimental
import com.google.devtools.ksp.getAnnotationsByType
import com.google.devtools.ksp.symbol.KSClassDeclaration
import dev.inmo.micro_utils.ksp.sealed.GenerateSealedTypesWorkaround
import dev.inmo.micro_utils.ksp.sealed.GenerateSealedWorkaround
import dev.inmo.microutils.kps.sealed.GenerateSealedWorkaround as OldGenerateSealedWorkaround
@OptIn(KspExperimental::class)
val KSClassDeclaration.getGenerateSealedWorkaroundAnnotation
get() = (getAnnotationsByType(GenerateSealedWorkaround::class).firstOrNull() ?: getAnnotationsByType(OldGenerateSealedWorkaround::class).firstOrNull())
@OptIn(KspExperimental::class)
val KSClassDeclaration.getGenerateSealedTypesWorkaroundAnnotation
get() = getAnnotationsByType(GenerateSealedTypesWorkaround::class).firstOrNull()