Change the way 'step over' over inline calls works (KT-13751)

Previously it worked by invoking 'Run To Cursor' for the last position of inline function. As there's only one 'run to cursor' breakpoint
available in Idea framework, it couldn't work when inline function call was was used in conditions of control flow statements.

A new approach works through multiple step over operation and controlling stop position. In other words we try to "step over" inlined lines.
Same thing is actually done in "Smart Step Into" action.

(cherry picked from commit 2e8775d)

 #KT-13751 Fixed
This commit is contained in:
Nikolay Krasko
2016-09-26 15:14:54 +03:00
committed by Nikolay Krasko
parent 9594316b0a
commit 7992df7b93
49 changed files with 1004 additions and 322 deletions
@@ -0,0 +1,8 @@
LineBreakpoint created at soInlineFunWithLastStatementMultilineArgumentCall.kt:14
!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! soInlineFunWithLastStatementMultilineArgumentCall.SoInlineFunWithLastStatementMultilineArgumentCallKt
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
soInlineFunWithLastStatementMultilineArgumentCall.kt:14
soInlineFunWithLastStatementMultilineArgumentCall.kt:9
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0