aboutsummaryrefslogtreecommitdiff
path: root/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt
diff options
context:
space:
mode:
Diffstat (limited to 'test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt')
-rw-r--r--test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt31
1 files changed, 31 insertions, 0 deletions
diff --git a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt
new file mode 100644
index 00000000..7c5b982a
--- /dev/null
+++ b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/NestedClassTypeProcessor.kt
@@ -0,0 +1,31 @@
+package com.google.devtools.ksp.processor
+
+import com.google.devtools.ksp.getClassDeclarationByName
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.symbol.KSAnnotated
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
+
+class NestedClassTypeProcessor : AbstractTestProcessor() {
+ val result = mutableListOf<String>()
+
+ override fun toResult(): List<String> {
+ return result
+ }
+
+ override fun process(resolver: Resolver): List<KSAnnotated> {
+ val c = resolver.getClassDeclarationByName("C")!!
+ c.declarations.filterIsInstance<KSPropertyDeclaration>()
+ .forEach {
+ result.add(it.simpleName.asString())
+ result.add(
+ it.type.resolve().arguments.map {
+ it.type?.annotations?.joinToString(separator = ",") {
+ it.toString()
+ }
+ }.joinToString()
+ )
+ result.add(it.type.resolve().arguments.joinToString(separator = ",") { it.toString() })
+ }
+ return emptyList()
+ }
+}