From 932542891bad2559fe6b3658371332a7eb061d95 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Tue, 27 Oct 2015 19:40:50 +0300 Subject: [PATCH] Stepping for inline functions: add test for last statement in for --- .../tinyApp/outs/stepOverForWithInline.out | 15 ++++++++++++++ .../stepOver/stepOverForWithInline.kt | 20 +++++++++++++++++++ .../debugger/KotlinSteppingTestGenerated.java | 6 ++++++ 3 files changed, 41 insertions(+) create mode 100644 idea/testData/debugger/tinyApp/outs/stepOverForWithInline.out create mode 100644 idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverForWithInline.kt diff --git a/idea/testData/debugger/tinyApp/outs/stepOverForWithInline.out b/idea/testData/debugger/tinyApp/outs/stepOverForWithInline.out new file mode 100644 index 00000000000..f44c6ad8d87 --- /dev/null +++ b/idea/testData/debugger/tinyApp/outs/stepOverForWithInline.out @@ -0,0 +1,15 @@ +LineBreakpoint created at stepOverForWithInline.kt:5 +!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOverForWithInline.StepOverForWithInlineKt +Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' +stepOverForWithInline.kt:5 +stepOverForWithInline.kt:7 +stepOverForWithInline.kt:8 +stepOverForWithInline.kt:9 +stepOverForWithInline.kt:7 +stepOverForWithInline.kt:8 +stepOverForWithInline.kt:9 +stepOverForWithInline.kt:7 +stepOverForWithInline.kt:11 +Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' + +Process finished with exit code 0 diff --git a/idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverForWithInline.kt b/idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverForWithInline.kt new file mode 100644 index 00000000000..7b5842bfe4c --- /dev/null +++ b/idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverForWithInline.kt @@ -0,0 +1,20 @@ +package stepOverForWithInline + +fun main(args: Array) { + //Breakpoint! + var prop = 0 + // inline on last line in for + for(i in 0..1) { + prop++ + foo { test(1) } + } +} + +inline fun foo(f: () -> Int): Int { + val a = 1 + return f() +} + +fun test(i: Int) = i + +// STEP_OVER: 9 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinSteppingTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinSteppingTestGenerated.java index 1ef15297e81..5235df450f6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinSteppingTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinSteppingTestGenerated.java @@ -349,6 +349,12 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest { doStepOverTest(fileName); } + @TestMetadata("stepOverForWithInline.kt") + public void testStepOverForWithInline() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverForWithInline.kt"); + doStepOverTest(fileName); + } + @TestMetadata("stepOverIfWithInline.kt") public void testStepOverIfWithInline() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/stepping/stepOver/stepOverIfWithInline.kt");