aboutsummaryrefslogtreecommitdiff
path: root/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/TypeParameterEqualsProcessor.kt
blob: b7fa16cb06db38f0221b91e754dee111af6f7833 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.google.devtools.ksp.processor

import com.google.devtools.ksp.getClassDeclarationByName
import com.google.devtools.ksp.getDeclaredProperties
import com.google.devtools.ksp.processing.Resolver
import com.google.devtools.ksp.symbol.KSAnnotated

class TypeParameterEqualsProcessor : AbstractTestProcessor() {
    val result = mutableListOf<Boolean>()

    override fun toResult(): List<String> {
        return result.map { it.toString() }
    }

    override fun process(resolver: Resolver): List<KSAnnotated> {
        val foo = resolver.getClassDeclarationByName("Foo")!!
        val i = resolver.getClassDeclarationByName("I")!!
        result.add(foo.typeParameters.first() == foo.getDeclaredProperties().first().type.resolve().declaration)
        result.add(i.typeParameters[0] == i.typeParameters[1].bounds.single().resolve().declaration)
        return emptyList()
    }
}