mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
There are mainly two kind of changes: - skipping 'componentX' calls for destructuring entries named _ - fixing local variable table for them - skip entries for destructuring entries named _ - use $noName_<i> format for lambda parameters named _ #KT-3824 Fixed #KT-2783 Fixed
35 lines
954 B
Kotlin
Vendored
35 lines
954 B
Kotlin
Vendored
data class A(val x: Double = 1.0, val y: String = "", val z: Char = '0')
|
|
|
|
fun foo(a: A, block: (A, String, Int) -> String): String = block(a, "", 1)
|
|
|
|
val arrayOfA: Array<A> = Array(1) { A() }
|
|
|
|
fun box() {
|
|
|
|
foo(A()) {
|
|
(x, _, y), _, w ->
|
|
|
|
val (a, _, c) = A()
|
|
val (_, `_`, d) = A()
|
|
|
|
for ((_, q) in arrayOfA) {
|
|
|
|
}
|
|
|
|
""
|
|
}
|
|
}
|
|
|
|
// METHOD : UnderscoreNamesKt$box$1.invoke(LA;Ljava/lang/String;I)Ljava/lang/String;
|
|
// VARIABLE : NAME=q TYPE=Ljava/lang/String; INDEX=15
|
|
// VARIABLE : NAME=d TYPE=C INDEX=11
|
|
// VARIABLE : NAME=_ TYPE=Ljava/lang/String; INDEX=10
|
|
// VARIABLE : NAME=c TYPE=C INDEX=9
|
|
// VARIABLE : NAME=a TYPE=D INDEX=7
|
|
// VARIABLE : NAME=this TYPE=LUnderscoreNamesKt$box$1; INDEX=0
|
|
// VARIABLE : NAME=$x_$_$_y TYPE=LA; INDEX=1
|
|
// VARIABLE : NAME=$noName_1 TYPE=Ljava/lang/String; INDEX=2
|
|
// VARIABLE : NAME=w TYPE=I INDEX=3
|
|
// VARIABLE : NAME=x TYPE=D INDEX=4
|
|
// VARIABLE : NAME=y TYPE=C INDEX=6
|