File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
ksp/src/test/kotlin/com/tschuchort/compiletesting Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -159,6 +159,43 @@ class KspTest {
159
159
)
160
160
}
161
161
162
+ @Test
163
+ fun canFindSymbols () {
164
+ val javaSource = SourceFile .java(
165
+ " JavaSubject.java" ,
166
+ """
167
+ @${SuppressWarnings ::class .qualifiedName} ("")
168
+ class JavaSubject {}
169
+ """ .trimIndent()
170
+ )
171
+ val kotlinSource = SourceFile .kotlin(
172
+ " KotlinSubject.kt" ,
173
+ """
174
+ @${SuppressWarnings ::class .qualifiedName} ("")
175
+ class KotlinSubject {}
176
+ """ .trimIndent()
177
+ )
178
+ val result = mutableListOf<String >()
179
+ val processor = object : AbstractTestSymbolProcessor () {
180
+ override fun process (resolver : Resolver ) {
181
+ resolver.getSymbolsWithAnnotation(
182
+ SuppressWarnings ::class .java.canonicalName
183
+ ).filterIsInstance<KSClassDeclaration >()
184
+ .forEach{
185
+ result.add(it.qualifiedName!! .asString())
186
+ }
187
+ }
188
+ }
189
+ val compilation = KotlinCompilation ().apply {
190
+ sources = listOf (javaSource, kotlinSource)
191
+ symbolProcessors + = processor
192
+ }
193
+ compilation.compile()
194
+ assertThat(result).containsExactly(
195
+ " JavaSubject" , " KotlinSubject"
196
+ )
197
+ }
198
+
162
199
internal open class ClassGeneratingProcessor (
163
200
private val packageName : String ,
164
201
private val className : String
You can’t perform that action at this time.
0 commit comments