<lambda>null1 import com.google.devtools.ksp.getClassDeclarationByName
2 import com.google.devtools.ksp.processing.*
3 import com.google.devtools.ksp.symbol.*
4 
5 class TestProcessor(
6     val codeGenerator: CodeGenerator,
7     val logger: KSPLogger
8 ) : SymbolProcessor {
9     val expected = mapOf(
10         "unboxedChar" to "Char",
11         "boxedChar" to "(Char..Char?)",
12     )
13 
14     override fun process(resolver: Resolver): List<KSAnnotated> {
15         val j = resolver.getClassDeclarationByName("com.example.AnnotationTest")!!
16         j.annotations.forEach { annotation ->
17             annotation.arguments.forEach {
18                 val key = it.name?.asString()
19                 val value = it.value.toString()
20                 if (expected[key] != value) {
21                     logger.error("$key: ${expected[key]} != $value")
22                 }
23             }
24         }
25 
26         return emptyList()
27     }
28 }
29 
30 class TestProcessorProvider : SymbolProcessorProvider {
createnull31     override fun create(
32         environment: SymbolProcessorEnvironment
33     ): SymbolProcessor {
34         return TestProcessor(environment.codeGenerator, environment.logger)
35     }
36 }
37