Descriptors in calls are substituted,

and symbols refer to the original descriptors.
This commit is contained in:
Dmitry Petrov
2017-04-12 15:35:25 +03:00
parent d7a362b4f6
commit 2b0d3440ad
10 changed files with 76 additions and 18 deletions
@@ -0,0 +1,3 @@
val <T> T.id get() = this
val test = "abc".id
@@ -0,0 +1,16 @@
FILE /genericPropertyCall.kt
PROPERTY public val <T> T.id: T
FUN public fun T.<get-id>(): T
$receiver: VALUE_PARAMETER <receiver: id: T on T>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-id>() on T: T'
GET_VAR '<receiver: id: T on T>' type=T origin=null
PROPERTY public val test: kotlin.String
FIELD PROPERTY_BACKING_FIELD public val test: kotlin.String
EXPRESSION_BODY
CALL '<get-id>() on String: String' type=kotlin.String origin=GET_PROPERTY
$receiver: CONST String type=kotlin.String value='abc'
FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-test>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test>(): String'
GET_FIELD 'test: String' type=kotlin.String origin=null