Multiple fixes of JS source maps
- elvis expression with complex RHS - destructuring declarations - decomposition of `var` statement (for example, in case of inline destructuring functions) - `is` LHS &&/|| inline fun RHS - argument assignment to temporary var on inline call site - assignment of `next()` result to temporary var in `for` expression - rethrow statement in exception handler
This commit is contained in:
+1
-1
@@ -19,4 +19,4 @@ fun bar() {
|
||||
}
|
||||
}
|
||||
|
||||
// LINES: 11 3 3 5 5 6 6 8 8 9 9 * 20 15 15 18 18
|
||||
// LINES: 11 3 3 5 5 6 6 8 8 9 9 2 2 * 20 15 15 18 18
|
||||
+1
-1
@@ -17,4 +17,4 @@ fun bar(a: String, b: Char, x: Int) {
|
||||
a.foo(b)
|
||||
}
|
||||
|
||||
// LINES: 6 4 4 5 5 11 9 9 10 10 18 14 14 14 14 14 15 17 9 9 14 10 17 10 14 14 * 1 * 1
|
||||
// LINES: 6 4 4 5 5 11 9 9 10 10 18 14 14 14 14 14 15 17 17 9 9 14 10 17 10 14 14 * 1 * 1
|
||||
@@ -0,0 +1,30 @@
|
||||
var log = ""
|
||||
|
||||
fun foo() {
|
||||
for (
|
||||
(
|
||||
q,
|
||||
w
|
||||
)
|
||||
in listOf(Pair("1", "2"))
|
||||
) {
|
||||
log += q
|
||||
log += w
|
||||
}
|
||||
|
||||
bar {
|
||||
(
|
||||
q,
|
||||
w
|
||||
) ->
|
||||
log += q
|
||||
log += w
|
||||
}
|
||||
}
|
||||
|
||||
fun bar(f: (Pair<String, String>) -> Unit) {
|
||||
f(Pair("w", "e"))
|
||||
}
|
||||
|
||||
|
||||
// LINES: 22 16 16 17 18 20 20 21 21 23 9 9 9 9 4 9 9 9 5 5 6 7 11 11 12 12 15 15 27 26 26 * 1 * 1
|
||||
@@ -0,0 +1,35 @@
|
||||
var log = ""
|
||||
|
||||
fun foo() {
|
||||
for (
|
||||
(
|
||||
q,
|
||||
w
|
||||
)
|
||||
in listOf(P("1", "2"))
|
||||
) {
|
||||
log += q
|
||||
log += w
|
||||
}
|
||||
|
||||
bar {
|
||||
(
|
||||
q,
|
||||
w
|
||||
) ->
|
||||
log += q
|
||||
log += w
|
||||
}
|
||||
}
|
||||
|
||||
fun bar(f: (P) -> Unit) {
|
||||
f(P("w", "e"))
|
||||
}
|
||||
|
||||
class P(val a: String, val b: String)
|
||||
|
||||
inline operator fun P.component1() = a
|
||||
|
||||
inline operator fun P.component2() = b
|
||||
|
||||
// LINES: 22 17 17 31 18 18 33 20 20 21 21 23 9 9 9 9 4 9 9 9 6 6 31 7 7 33 11 11 12 12 15 15 27 26 26 29 29 29 * 31 31 31 33 33 33 * 1 * 1
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
var log = ""
|
||||
|
||||
fun box(x: String?) {
|
||||
log +=
|
||||
x
|
||||
?:
|
||||
try { foo() } finally { log += "finally" }
|
||||
}
|
||||
|
||||
fun foo() = "bar"
|
||||
|
||||
// LINES: 8 7 7 4 4 4 5 5 7 7 7 7 * 5 4 5 10 10 10 * 1 * 1
|
||||
+1
-1
@@ -17,4 +17,4 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// LINES: 18 2 2 10 15 2 2 2 2 2 3 3 6 6 6 6 7 7 10 10 10 10 10 11 11 14 14 15 15 15 15 15 15 15 15 15 15 15 15 16 16
|
||||
// LINES: 18 2 2 10 15 2 2 2 2 2 2 3 3 6 6 6 6 7 7 10 10 10 10 10 10 11 11 14 14 15 15 15 15 15 15 15 15 15 15 15 15 16 16
|
||||
@@ -0,0 +1,14 @@
|
||||
var log = ""
|
||||
|
||||
fun box() {
|
||||
foo(bar())
|
||||
}
|
||||
|
||||
inline fun foo(x: Int) {
|
||||
log += x
|
||||
log += x
|
||||
}
|
||||
|
||||
fun bar() = 23
|
||||
|
||||
// LINES: 5 4 4 8 8 9 9 10 8 8 9 9 12 12 12 * 1 * 1
|
||||
+1
-1
@@ -21,4 +21,4 @@ fun bar(x: Int) {
|
||||
println("%")
|
||||
}
|
||||
|
||||
// LINES: 17 2 2 3 3 4 7 7 9 9 10 10 11 14 14 16 16 22 20 * 2 2 3 3 4 3 7 7 9 9 10 10 11 10 14 14 16 16 * 20 21 21
|
||||
// LINES: 17 2 2 3 3 4 7 7 9 9 10 10 11 14 14 16 16 22 20 20 20 20 2 2 3 3 4 3 7 7 9 9 10 10 11 10 14 14 16 16 * 20 21 21
|
||||
@@ -0,0 +1,14 @@
|
||||
var log = ""
|
||||
|
||||
fun box(a: Any) {
|
||||
if (a is String && foo()) {
|
||||
log += "OK"
|
||||
}
|
||||
}
|
||||
|
||||
inline fun foo(): Boolean {
|
||||
log += "foo"
|
||||
return true
|
||||
}
|
||||
|
||||
// LINES: 7 4 4 4 10 10 4 11 4 5 5 12 10 10 11 11 * 1 * 1
|
||||
Reference in New Issue
Block a user