Support references to extension properties in JVM codegen

#KT-1183 In Progress
This commit is contained in:
Alexander Udalov
2014-05-27 21:28:06 +04:00
parent 461cce103b
commit 5ab83aad8a
12 changed files with 140 additions and 16 deletions
@@ -0,0 +1,6 @@
package a
public var topLevel: Int = 42
public val String.extension: Long
get() = length.toLong()
@@ -0,0 +1,14 @@
import a.*
fun main(args: Array<String>) {
val f = ::topLevel
val x1 = f.get()
if (x1 != 42) throw AssertionError("Fail x1: $x1")
f.set(239)
val x2 = f.get()
if (x2 != 239) throw AssertionError("Fail x2: $x2")
val g = String::extension
val y1 = g.get("abcde")
if (y1 != 5L) throw AssertionError("Fail y1: $y1")
}