diff options
Diffstat (limited to 'test-utils/src/main/kotlin/com/google/devtools/ksp/processor/GetSymbolsFromAnnotationProcessor.kt')
-rw-r--r-- | test-utils/src/main/kotlin/com/google/devtools/ksp/processor/GetSymbolsFromAnnotationProcessor.kt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/GetSymbolsFromAnnotationProcessor.kt b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/GetSymbolsFromAnnotationProcessor.kt new file mode 100644 index 00000000..97b44309 --- /dev/null +++ b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/GetSymbolsFromAnnotationProcessor.kt @@ -0,0 +1,35 @@ +package com.google.devtools.ksp.processor + +import com.google.devtools.ksp.processing.Resolver +import com.google.devtools.ksp.symbol.KSAnnotated + +class GetSymbolsFromAnnotationProcessor : AbstractTestProcessor() { + val result = mutableListOf<String>() + override fun toResult(): List<String> = result + + override fun process(resolver: Resolver): List<KSAnnotated> { + result.add("==== Anno superficial====") + resolver.getSymbolsWithAnnotation("Anno").forEach { result.add(toString(it)) } + result.add("==== Anno in depth ====") + resolver.getSymbolsWithAnnotation("Anno", true).forEach { result.add(toString(it)) } + result.add("==== Bnno superficial====") + resolver.getSymbolsWithAnnotation("Bnno").forEach { result.add(toString(it)) } + result.add("==== Bnno in depth ====") + resolver.getSymbolsWithAnnotation("Bnno", true).forEach { result.add(toString(it)) } + result.add("==== A1 superficial====") + resolver.getSymbolsWithAnnotation("A1").forEach { result.add(toString(it)) } + result.add("==== A1 in depth ====") + resolver.getSymbolsWithAnnotation("A1", true).forEach { result.add(toString(it)) } + result.add("==== A2 superficial====") + resolver.getSymbolsWithAnnotation("A2").forEach { result.add(toString(it)) } + result.add("==== A2 in depth ====") + resolver.getSymbolsWithAnnotation("A2", true).forEach { result.add(toString(it)) } + result.add("==== Cnno in depth ====") + resolver.getSymbolsWithAnnotation("Cnno", true).forEach { result.add(toString(it)) } + return emptyList() + } + + fun toString(annotated: KSAnnotated): String { + return "$annotated:${annotated::class.supertypes.first().classifier.toString().substringAfterLast('.')}" + } +} |