aboutsummaryrefslogtreecommitdiff
path: root/integration-tests/src/test/resources/on-error/on-error-processor/src/main/kotlin/NormalProcessor.kt
blob: c751c5827defeb29afb5754814f4d4561bbd55db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import com.google.devtools.ksp.processing.*
import com.google.devtools.ksp.symbol.*

class NormalProcessor : SymbolProcessor {
    lateinit var codeGenerator: CodeGenerator
    lateinit var logger: KSPLogger
    var rounds = 0

    override fun onError() {
        logger.error("NormalProcessor called error on $rounds")
    }

    fun init(
        options: Map<String, String>,
        kotlinVersion: KotlinVersion,
        codeGenerator: CodeGenerator,
        logger: KSPLogger
    ) {
        this.logger = logger
        this.codeGenerator = codeGenerator
    }

    override fun process(resolver: Resolver): List<KSAnnotated> {
        rounds++
        if (rounds == 1) {
            codeGenerator.createNewFile(Dependencies.ALL_FILES, "test", "normal", "log")
        }
        return emptyList()
    }
}

class TestProcessorProvider2 : SymbolProcessorProvider {
    override fun create(
        env: SymbolProcessorEnvironment
    ): SymbolProcessor {
        return NormalProcessor().apply {
            init(env.options, env.kotlinVersion, env.codeGenerator, env.logger)
        }
    }
}