se.ansman.dagger.auto.compiler.common.ksp.processing.KspNode.kt Maven / Gradle / Ivy
package se.ansman.dagger.auto.compiler.common.ksp.processing
import com.google.devtools.ksp.isPrivate
import com.google.devtools.ksp.isPublic
import com.google.devtools.ksp.symbol.KSDeclaration
import com.squareup.kotlinpoet.AnnotationSpec
import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.TypeName
import se.ansman.dagger.auto.compiler.common.processing.Node
sealed class KspNode : Node {
abstract val resolver: KspResolver
override val annotations: List by lazy(LazyThreadSafetyMode.NONE) {
node.annotations.map { KspAnnotationModel(it, resolver) }.toList()
}
override val isPublic: Boolean
get() = node.isPublic()
override val isPrivate: Boolean
get() = node.isPrivate()
}