KClassJavaProperty support

This commit is contained in:
Michael Bogdanov
2016-10-06 12:36:37 +03:00
committed by Dmitry Petrov
parent 5ee2f87c4a
commit b72d7557d1
7 changed files with 103 additions and 40 deletions
@@ -0,0 +1,10 @@
//WITH_RUNTIME
class A
fun test() {
A::class
A()::class
A::class.java
A()::class.java
}
@@ -0,0 +1,20 @@
FILE /classReference.kt
CLASS CLASS A
CONSTRUCTOR public constructor A()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN public fun test(): kotlin.Unit
BLOCK_BODY
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_CLASS type=kotlin.reflect.KClass<A>
CALL 'constructor A()' type=A origin=null
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL '<get-java>() on KClass<A>: Class<A>' type=java.lang.Class<A> origin=GET_PROPERTY
$receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL '<get-java>() on KClass<A>: Class<A>' type=java.lang.Class<A> origin=GET_PROPERTY
$receiver: GET_CLASS type=kotlin.reflect.KClass<A>
CALL 'constructor A()' type=A origin=null
@@ -0,0 +1,7 @@
//WITH_RUNTIME
object A
fun test() {
A::class
A::class.java
}
@@ -0,0 +1,13 @@
FILE /objectClassReference.kt
CLASS OBJECT A
CONSTRUCTOR private constructor A()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN public fun test(): kotlin.Unit
BLOCK_BODY
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
TYPE_OP origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL '<get-java>() on KClass<A>: Class<A>' type=java.lang.Class<A> origin=GET_PROPERTY
$receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>