Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/reflection/genericSignature/kt5112.kt
T
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00

29 lines
915 B
Kotlin

package test
class G<T>(val s: T) {
}
public trait ErrorsJvmTrait {
default object {
public val param : G<String> = G("STRING")
}
}
public class ErrorsJvmClass {
default 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"
}