From 089f0f752d19f87be742a1d061e7ef79e91beaaa Mon Sep 17 00:00:00 2001 From: Jiaxiang Chen Date: Mon, 9 May 2022 21:47:13 -0700 Subject: try to get psi before creating sealed sub class declarations --- .../google/devtools/ksp/processor/SealedClassProcessor.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'test-utils/src/main') diff --git a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/SealedClassProcessor.kt b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/SealedClassProcessor.kt index 073474a1..9cb6ea70 100644 --- a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/SealedClassProcessor.kt +++ b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/SealedClassProcessor.kt @@ -17,6 +17,7 @@ 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.* @@ -28,10 +29,22 @@ class SealedClassProcessor : AbstractTestProcessor() { } override fun process(resolver: Resolver): List { + result.add("from lib") + resolver.getClassDeclarationByName("lib.Expr")!!.let { + result.add( + it.getSealedSubclasses().map { sub -> + "${sub.simpleName.asString()}: ${sub.origin}" + }.toList().sorted().toString() + ) + } + + result.add("from source") resolver.getNewFiles().forEach { f -> f.declarations.forEach { if (it is KSClassDeclaration) { - val subs = it.getSealedSubclasses().map { it.simpleName.asString() }.toList().sorted() + val subs = it.getSealedSubclasses().map { sub -> + "${sub.simpleName.asString()}: ${sub.origin}" + }.toList().sorted() result.add("${it.simpleName.asString()} : $subs") } } -- cgit v1.2.3