Use original descriptors to create symbols for callable references
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
class A<T> {
|
||||
fun foo() {}
|
||||
val bar = 42
|
||||
}
|
||||
|
||||
val test1 = A<String>::foo
|
||||
val test2 = A<String>::bar
|
||||
@@ -0,0 +1,44 @@
|
||||
FILE /callableRefToGenericMember.kt
|
||||
CLASS CLASS A
|
||||
$this: VALUE_PARAMETER this@A: A<T>
|
||||
TYPE_PARAMETER <T>
|
||||
CONSTRUCTOR public constructor A<T>()
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='A'
|
||||
FUN public final fun foo(): kotlin.Unit
|
||||
$this: VALUE_PARAMETER this@A: A<T>
|
||||
BLOCK_BODY
|
||||
PROPERTY public final val bar: kotlin.Int = 42
|
||||
FIELD PROPERTY_BACKING_FIELD public final val bar: kotlin.Int = 42
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value='42'
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-bar>(): kotlin.Int
|
||||
$this: VALUE_PARAMETER this@A: A<T>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-bar>(): Int'
|
||||
GET_FIELD 'bar: Int' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR 'this@A: A<T>' type=A<T> origin=null
|
||||
FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
$this: VALUE_PARAMETER this@Any: Any
|
||||
VALUE_PARAMETER value-parameter other: kotlin.Any?
|
||||
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
|
||||
$this: VALUE_PARAMETER this@Any: Any
|
||||
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
|
||||
$this: VALUE_PARAMETER this@Any: Any
|
||||
PROPERTY public val test1: kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
|
||||
FIELD PROPERTY_BACKING_FIELD public val test1: kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
|
||||
EXPRESSION_BODY
|
||||
FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit> origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-test1>(): kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-test1>(): KFunction1<A<String>, Unit>'
|
||||
GET_FIELD 'test1: KFunction1<A<String>, Unit>' type=kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit> origin=null
|
||||
PROPERTY public val test2: kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
|
||||
FIELD PROPERTY_BACKING_FIELD public val test2: kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
|
||||
EXPRESSION_BODY
|
||||
PROPERTY_REFERENCE 'bar: Int' field=null getter='<get-bar>(): Int' setter=null type=kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int> origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-test2>(): kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-test2>(): KProperty1<A<String>, Int>'
|
||||
GET_FIELD 'test2: KProperty1<A<String>, Int>' type=kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int> origin=null
|
||||
Reference in New Issue
Block a user