Don't write nop for extension lambda during inline

This commit is contained in:
Mikhael Bogdanov
2019-11-12 10:08:03 +01:00
parent b757224df1
commit 4281fd6bd5
8 changed files with 85 additions and 3 deletions
@@ -487,6 +487,21 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/kt24343.kt");
}
@TestMetadata("noParameterExtensionLambdaArgumentCallInInline.kt")
public void testNoParameterExtensionLambdaArgumentCallInInline() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/noParameterExtensionLambdaArgumentCallInInline.kt");
}
@TestMetadata("noParameterExtensionLambdaArgumentCallInInline2.kt")
public void testNoParameterExtensionLambdaArgumentCallInInline2() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/noParameterExtensionLambdaArgumentCallInInline2.kt");
}
@TestMetadata("noParameterExtensionLambdaArgumentCallInInline3.kt")
public void testNoParameterExtensionLambdaArgumentCallInInline3() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/noParameterExtensionLambdaArgumentCallInInline3.kt");
}
@TestMetadata("noParameterLambdaArgumentCallInInline.kt")
public void testNoParameterLambdaArgumentCallInInline() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/noParameterLambdaArgumentCallInInline.kt");
@@ -0,0 +1,14 @@
package noParameterLambdaArgumentCallInInline
fun main(args: Array<String>) {
lookAtMe {
val c = "c"
}
}
inline fun lookAtMe(f: String.() -> Unit) {
val a = "a"
//Breakpoint!
"123".f()
val b = "b"
}
@@ -0,0 +1,8 @@
LineBreakpoint created at noParameterExtensionLambdaArgumentCallInInline.kt:12
Run Java
Connected to the target VM
noParameterExtensionLambdaArgumentCallInInline.kt:12
noParameterExtensionLambdaArgumentCallInInline.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,14 @@
package noParameterLambdaArgumentCallInInline
fun main(args: Array<String>) {
"123".lookAtMe {
val c = "c"
}
}
inline fun String.lookAtMe(f: String.() -> Unit) {
val a = "a"
//Breakpoint!
f()
val b = "b"
}
@@ -0,0 +1,8 @@
LineBreakpoint created at noParameterExtensionLambdaArgumentCallInInline2.kt:12
Run Java
Connected to the target VM
noParameterExtensionLambdaArgumentCallInInline2.kt:12
noParameterExtensionLambdaArgumentCallInInline2.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,15 @@
package noParameterLambdaArgumentCallInInline
fun main(args: Array<String>) {
lookAtMe {
val c = "c"
}
}
inline fun lookAtMe(f: String.() -> Unit) {
val a = "a"
//Breakpoint!
"123".
f()
val b = "b"
}
@@ -0,0 +1,8 @@
LineBreakpoint created at noParameterExtensionLambdaArgumentCallInInline3.kt:12
Run Java
Connected to the target VM
noParameterExtensionLambdaArgumentCallInInline3.kt:12
noParameterExtensionLambdaArgumentCallInInline3.kt:5
Disconnected from the target VM
Process finished with exit code 0