blob: 7892f0128d0b3ed349bdd582409543dae9083137 [file] [log] [blame]
import com.google.devtools.ksp.getClassDeclarationByName
import com.google.devtools.ksp.processing.*
import com.google.devtools.ksp.symbol.*
class TestProcessor(
val codeGenerator: CodeGenerator,
val logger: KSPLogger
) : SymbolProcessor {
val expected = mapOf(
"unboxedChar" to "Char",
"boxedChar" to "(Char..Char?)",
)
override fun process(resolver: Resolver): List<KSAnnotated> {
val j = resolver.getClassDeclarationByName("com.example.AnnotationTest")!!
j.annotations.forEach { annotation ->
annotation.arguments.forEach {
val key = it.name?.asString()
val value = it.value.toString()
if (expected[key] != value) {
logger.error("$key: ${expected[key]} != $value")
}
}
}
return emptyList()
}
}
class TestProcessorProvider : SymbolProcessorProvider {
override fun create(
environment: SymbolProcessorEnvironment
): SymbolProcessor {
return TestProcessor(environment.codeGenerator, environment.logger)
}
}