Support mapping between Java and Kotlin reflection objects
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package test
|
||||
|
||||
class G<T>(val s: T) {
|
||||
|
||||
}
|
||||
|
||||
public trait ErrorsJvmTrait {
|
||||
class object {
|
||||
public val param : G<String> = G("STRING")
|
||||
}
|
||||
}
|
||||
|
||||
public class ErrorsJvmClass {
|
||||
class object {
|
||||
public val param : G<String> = G("STRING")
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val genericTypeInTrait = javaClass<ErrorsJvmTrait>().getField("param").getGenericType()
|
||||
if (genericTypeInTrait.toString() != "test.G<java.lang.String>") return "fail1: $genericTypeInTrait"
|
||||
|
||||
val genericTypeInClassObject = ErrorsJvmTrait.javaClass.getDeclaredField("param").getGenericType()
|
||||
if (genericTypeInClassObject.toString() != "test.G<java.lang.String>") return "fail1: $genericTypeInClassObject"
|
||||
|
||||
val genericTypeInClass = javaClass<ErrorsJvmClass>().getField("param").getGenericType()
|
||||
if (genericTypeInClass.toString() != "test.G<java.lang.String>") return "fail1: genericTypeInClass"
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user