DEADSOFTWARE

Add module code gen
[cavedroid.git] / dagger-multibind-ksp / src / main / kotlin / ru / fredboy / cavedroid / ksp / processor / SymbolProcessorUtils.kt
1 package ru.fredboy.cavedroid.ksp.processor
3 import com.google.devtools.ksp.processing.Resolver
4 import com.google.devtools.ksp.symbol.KSClassDeclaration
5 import com.google.devtools.ksp.symbol.KSNode
6 import com.google.devtools.ksp.validate
7 import kotlin.reflect.KClass
9 internal fun Resolver.getAnnotatedClasses(
10 packageName: String,
11 annotationClass: KClass<*>
12 ): Sequence<KSClassDeclaration> {
13 return getSymbolsWithAnnotation(annotationClass.qualifiedName.orEmpty())
14 .filterIsInstance<KSClassDeclaration>()
15 .filter { it.packageName.getShortName() == packageName }
16 .filter(KSNode::validate)
17 }