Skip to content

Commit 706cd42

Browse files
committed
repro for asmember being called w/ static
1 parent 104f7f5 commit 706cd42

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processor/AsMemberOfProcessor.kt

+7-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.google.devtools.ksp.processor
22

33
import com.google.devtools.ksp.getClassDeclarationByName
44
import com.google.devtools.ksp.getDeclaredFunctions
5+
import com.google.devtools.ksp.getDeclaredProperties
56
import com.google.devtools.ksp.processing.Resolver
67
import com.google.devtools.ksp.symbol.KSClassDeclaration
78
import com.google.devtools.ksp.symbol.KSDeclaration
@@ -55,6 +56,12 @@ class AsMemberOfProcessor : AbstractTestProcessor() {
5556
val javaChild1 = resolver.getClassDeclarationByName("JavaChild1")!!
5657
addToResults(resolver, javaBase, javaChild1.asStarProjectedType())
5758

59+
val staticField = javaBase.getDeclaredProperties().first {
60+
it.simpleName.asString() == "staticField"
61+
}
62+
val asMemberOf = resolver.asMemberOf(staticField, javaBase.asStarProjectedType())
63+
results.add("static field: ${asMemberOf.toSignature()}")
64+
5865
val fileLevelFunction = resolver.getDeclaration<KSFunctionDeclaration>("fileLevelFunction")
5966
results.add("fileLevelFunction: " + resolver.asMemberOfSignature(fileLevelFunction, listOfStrings))
6067

@@ -91,9 +98,6 @@ class AsMemberOfProcessor : AbstractTestProcessor() {
9198
}
9299
}
93100
}
94-
95-
96-
97101
}
98102

99103
private inline fun <reified T : KSDeclaration> Resolver.getDeclaration(name: String): T {

compiler-plugin/testData/api/asMemberOf.kt

+1
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class JavaBase<BaseTypeArg1, BaseTypeArg2> {
130130
int intType;
131131
BaseTypeArg1 typeArg1;
132132
BaseTypeArg2 typeArg2;
133+
static int staticField;
133134
BaseTypeArg2 returnArg1() {
134135
return null;
135136
}

0 commit comments

Comments
 (0)