se.ansman.dagger.auto.compiler.common.processing.AutoDaggerResolver.kt Maven / Gradle / Ivy
package se.ansman.dagger.auto.compiler.common.processing
import se.ansman.dagger.auto.compiler.common.TypeLookup
import kotlin.reflect.KClass
interface AutoDaggerResolver {
val environment: AutoDaggerEnvironment
val typeLookup: TypeLookup>
fun nodesAnnotatedWith(annotation: String): Sequence>
fun lookupType(className: ClassName): ClassDeclaration
}
fun AutoDaggerResolver
.lookupType(className: KClass<*>): ClassDeclaration =
lookupType(environment.className(className))
fun AutoDaggerResolver
.nodesAnnotatedWith(annotation: KClass): Sequence> =
nodesAnnotatedWith(annotation.java.canonicalName)