com.faendir.kotlin.autodsl.SourceInfoResolver.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of processor Show documentation
Show all versions of processor Show documentation
Auto-generates DSL for your Kotlin projects using annotations.
package com.faendir.kotlin.autodsl
import com.google.devtools.ksp.symbol.ClassKind
import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.TypeName
import kotlin.reflect.KClass
import kotlin.reflect.KProperty1
interface SourceInfoResolver {
fun getClassesWithAnnotation(annotation: KClass): List
fun getClassesWithAnnotation(annotation: TYPE): List
fun TYPE.getClassKind(): ClassKind
fun ANNOTATED.hasAnnotation(annotation: KClass): Boolean
fun ANNOTATED.getAnnotationTypeProperty(annotation: KClass, property: KProperty1>): ClassName?
fun ANNOTATED.getAnnotationProperty(annotation: KClass, property: KProperty1): V?
fun TYPE.isAbstract(): Boolean
fun TYPE.getConstructors(): List
fun CONSTRUCTOR.isAccessible(): Boolean
fun TYPE.getPrimaryConstructor(): CONSTRUCTOR?
fun CONSTRUCTOR.isValid(): Boolean
fun CONSTRUCTOR.getParameters(): List
fun TYPE.asClassName(): ClassName
fun PARAMETER.getTypeDeclaration(): TYPE?
fun PARAMETER.getTypeArguments(): List
fun PARAMETER.getTypeName(): TypeName
fun PARAMETER.getName(): String
fun PARAMETER.hasDefault(): Boolean
fun PARAMETER.getDoc(): String?
}