Fix JS source maps for delegates and backing fields

This commit is contained in:
Alexey Andreev
2017-05-12 19:49:35 +03:00
parent 13795b47fb
commit 1014666937
8 changed files with 103 additions and 14 deletions
+15
View File
@@ -0,0 +1,15 @@
open class A {
open var x = 23
var y: String = "42"
get() = field +
"!"
set(value) {
print(
field)
field =
value.removeSuffix("!")
}
}
// LINES: 2 4 2 2 * 5 6 8 9 10 11
@@ -0,0 +1,18 @@
import kotlin.reflect.*
open class A {
var x: String by
B()
}
class B {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "OK"
}
operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String) {
println(value)
}
}
// LINES: 4 5 4 4 2 * 10 * 14
+21
View File
@@ -0,0 +1,21 @@
class A :
I
by o
interface I {
fun foo(): String
var bar: Int
}
val o = object : I {
override fun foo(): String = "foo"
override var bar: Int
get() = 23
set(value) {
println(value)
}
}
// LINES: 2 3 2 2 * 2 * 12 * 15 17