1 import com.google.devtools.ksp.processing.*
2 import com.google.devtools.ksp.symbol.*
3 
4 class TestProcessor : SymbolProcessor {
5     lateinit var codeGenerator: CodeGenerator
6     lateinit var logger: KSPLogger
7     lateinit var options: Map<String, String>
8     var rounds = 0
9 
initnull10     fun init(
11         options: Map<String, String>,
12         kotlinVersion: KotlinVersion,
13         codeGenerator: CodeGenerator,
14         logger: KSPLogger
15     ) {
16         this.logger = logger
17         this.options = options
18         this.codeGenerator = codeGenerator
19     }
20 
processnull21     override fun process(resolver: Resolver): List<KSAnnotated> {
22         if (options.containsKey("error")) {
23             throw IllegalStateException("Error on request")
24         }
25         return emptyList()
26     }
27 }
28 
29 class TestProcessorProvider : SymbolProcessorProvider {
createnull30     override fun create(
31         env: SymbolProcessorEnvironment
32     ): SymbolProcessor {
33         return TestProcessor().apply {
34             init(env.options, env.kotlinVersion, env.codeGenerator, env.logger)
35         }
36     }
37 }
38