Make breakpoints work in suspend functions
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
LineBreakpoint created at stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral.kt:26
|
||||
!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! stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral.StopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteralKt
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral.kt:26
|
||||
stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral.kt:27
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
LineBreakpoint created at stopInSuspendFunctionWithSuspendPoints.kt:16
|
||||
!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! stopInSuspendFunctionWithSuspendPoints.StopInSuspendFunctionWithSuspendPointsKt
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stopInSuspendFunctionWithSuspendPoints.kt:16
|
||||
stopInSuspendFunctionWithSuspendPoints.kt:17
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
LineBreakpoint created at stopInSuspendFunctionWithSuspendPointsInAnonymousObject.kt:20
|
||||
!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! stopInSuspendFunctionWithSuspendPointsInAnonymousObject.StopInSuspendFunctionWithSuspendPointsInAnonymousObjectKt
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stopInSuspendFunctionWithSuspendPointsInAnonymousObject.kt:20
|
||||
stopInSuspendFunctionWithSuspendPointsInAnonymousObject.kt:21
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
LineBreakpoint created at stopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosure.kt:28
|
||||
!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! stopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosure.StopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosureKt
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosure.kt:28
|
||||
stopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosure.kt:29
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral
|
||||
|
||||
import forTests.builder
|
||||
|
||||
fun foo(a: Any) {}
|
||||
|
||||
suspend fun second() { }
|
||||
|
||||
interface Bar {
|
||||
suspend fun first()
|
||||
}
|
||||
|
||||
inline fun call(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
val bar = object : Bar {
|
||||
val t = 121
|
||||
|
||||
override suspend fun first() {
|
||||
foo("first")
|
||||
|
||||
call {
|
||||
{
|
||||
//Breakpoint!
|
||||
foo(t)
|
||||
}()
|
||||
}
|
||||
|
||||
second()
|
||||
|
||||
foo("second")
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
builder {
|
||||
bar.first()
|
||||
}
|
||||
}
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
package stopInSuspendFunctionWithSuspendPoints
|
||||
|
||||
import forTests.builder
|
||||
|
||||
fun foo(a: Any) {}
|
||||
|
||||
suspend fun second() {
|
||||
}
|
||||
|
||||
suspend fun first() {
|
||||
foo("first")
|
||||
|
||||
second()
|
||||
|
||||
//Breakpoint!
|
||||
foo("second")
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
builder {
|
||||
first()
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package stopInSuspendFunctionWithSuspendPointsInAnonymousObject
|
||||
|
||||
import forTests.builder
|
||||
|
||||
fun foo(a: Any) {}
|
||||
|
||||
suspend fun second() { }
|
||||
|
||||
interface Bar {
|
||||
suspend fun first()
|
||||
}
|
||||
|
||||
val bar = object : Bar {
|
||||
override suspend fun first() {
|
||||
foo("first")
|
||||
|
||||
second()
|
||||
|
||||
//Breakpoint!
|
||||
foo("second")
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
builder {
|
||||
bar.first()
|
||||
}
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package stopInSuspendFunctionWithSuspendPointsInObjectLiteralInInlineCallWithClosure
|
||||
|
||||
import forTests.builder
|
||||
|
||||
fun foo(a: Any) {}
|
||||
|
||||
suspend fun second() {
|
||||
foo("call")
|
||||
}
|
||||
|
||||
interface F {
|
||||
suspend fun test() {}
|
||||
}
|
||||
|
||||
inline fun call(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val inClosure = "first"
|
||||
call {
|
||||
{
|
||||
val some = object : F {
|
||||
override suspend fun test() {
|
||||
foo(inClosure)
|
||||
second()
|
||||
//Breakpoint!
|
||||
foo("other")
|
||||
}
|
||||
}
|
||||
|
||||
builder {
|
||||
some.test()
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user