Skip to content

Commit 3697ad4

Browse files
committed
Fix wrong parameter names, add ignored parameters test
1 parent b210894 commit 3697ad4

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

plugins/kotlin/src/main/java/org/vineflower/kotlin/expr/KNewExprent.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ public TextBuffer toJava(int indent) {
105105
buf.appendVariable(parameterName, true, true, lambdaInfo.content_class_name, lambdaInfo.content_method_name, realDesc, index, parameterName)
106106
.append(": ")
107107
.appendTypeName(KTypes.getKotlinType(type), type);
108+
109+
index += type.stackSize;
108110
}
109111

110112
buf.append(" ->");

plugins/kotlin/testData/results/pkg/TestAnonymousEverything.dec

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import kotlin.jvm.internal.SourceDebugExtension
88
import kotlin.jvm.internal.Ref.IntRef
99
import kotlin.reflect.KFunction
1010

11-
@SourceDebugExtension(["SMAP\nTestAnonymousEverything.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TestAnonymousEverything.kt\npkg/TestAnonymousEverything\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,115:1\n1#2:116\n*E\n"])
11+
@SourceDebugExtension(["SMAP\nTestAnonymousEverything.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TestAnonymousEverything.kt\npkg/TestAnonymousEverything\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,120:1\n1#2:121\n*E\n"])
1212
public class TestAnonymousEverything {
1313
public fun testPlainLambda() {
14-
{ x: Int, x: Int ->
14+
{ x: Int, y: Int ->
1515
x + y// 7
1616
}(1, 2)// 8
1717
}// 9
@@ -39,7 +39,7 @@ public class TestAnonymousEverything {
3939
}// 32
4040

4141
public fun testAnonymousFunction() {
42-
{ x: Int, x: Int ->
42+
{ x: Int, y: Int ->
4343
x + y// 35
4444
}(1, 2)// 36
4545
}// 37
@@ -118,6 +118,12 @@ public class TestAnonymousEverything {
118118
}
119119
}
120120
}// 114
121+
122+
public fun testIgnoredParams() {
123+
{ var0: Int, var1: Any ->
124+
Unit.INSTANCE// 117
125+
}(1, 2)// 118
126+
}// 119
121127
}
122128

123129
class 'pkg/TestAnonymousEverything' {
@@ -462,6 +468,29 @@ class 'pkg/TestAnonymousEverything' {
462468
2e 116
463469
2f 116
464470
}
471+
472+
method 'testIgnoredParams$lambda$9 (ILjava/lang/Object;)Lkotlin/Unit;' {
473+
6 123
474+
7 123
475+
8 123
476+
}
477+
478+
method 'testIgnoredParams ()V' {
479+
7 124
480+
8 124
481+
9 124
482+
a 124
483+
b 124
484+
c 124
485+
d 124
486+
e 124
487+
f 124
488+
10 124
489+
11 124
490+
12 124
491+
13 124
492+
15 125
493+
}
465494
}
466495

467496
class 'pkg/TestAnonymousEverything$testSerializableLambda$lambda$1' {
@@ -583,7 +612,10 @@ Lines mapping:
583612
110 <-> 115
584613
112 <-> 117
585614
114 <-> 120
615+
117 <-> 124
616+
118 <-> 125
617+
119 <-> 126
586618
Not mapped:
587619
67
588620
79
589-
116
621+
121

plugins/kotlin/testData/src/kt/pkg/TestAnonymousEverything.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,9 @@ class TestAnonymousEverything {
112112
x + 1
113113
}
114114
}
115+
116+
fun testIgnoredParams() {
117+
val lambda: (Int, Any) -> Unit = { _, _ -> }
118+
lambda(1, 2)
119+
}
115120
}

0 commit comments

Comments
 (0)