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:
Alexey Andreev
2017-06-23 18:15:47 +03:00
parent f873834529
commit ca63717124
20 changed files with 172 additions and 23 deletions
@@ -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