Allow '// PRINT_FRAME' option for multi-breakpoint stepping tests
This commit is contained in:
-13
@@ -2,19 +2,6 @@ LineBreakpoint created at createExpressionCastToBuiltIn.kt:7
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
createExpressionCastToBuiltIn.kt:7
|
||||
package createExpressionCastToBuiltIn
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val primitiveArray = intArrayOf(1)
|
||||
val stringArray = arrayOf("a")
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SKIP: value, hash, hash32, offset, count
|
||||
// DESCRIPTOR_VIEW_OPTIONS: NAME_EXPRESSION_RESULT
|
||||
|
||||
Compile bytecode for args
|
||||
Compile bytecode for primitiveArray
|
||||
Compile bytecode for primitiveArray[0]
|
||||
|
||||
-20
@@ -2,26 +2,6 @@ LineBreakpoint created at createExpressionSimple.kt:15
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
createExpressionSimple.kt:15
|
||||
package createExpressionSimple
|
||||
|
||||
class MyClass: Base() {
|
||||
val i = 1
|
||||
}
|
||||
|
||||
open class Base {
|
||||
val baseI = 2
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val myClass: Base = MyClass()
|
||||
val myBase = Base()
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// DESCRIPTOR_VIEW_OPTIONS: NAME_EXPRESSION
|
||||
|
||||
frame = main
|
||||
local = args (expression = args)
|
||||
local = myClass (expression = myClass)
|
||||
|
||||
-16
@@ -2,22 +2,6 @@ LineBreakpoint created at createExpressionWithArray.kt:11
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
createExpressionWithArray.kt:11
|
||||
package createExpressionWithArray
|
||||
|
||||
import forTests.MyJavaClass
|
||||
// do not remove this import, it checks that we do not insert ambiguous imports during EE
|
||||
import forTests.MyJavaClass.InnerClass
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val baseArray = arrayOf(MyJavaClass().getBaseClassValue())
|
||||
val innerArray = arrayOf(MyJavaClass().getInnerClassValue())
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// DESCRIPTOR_VIEW_OPTIONS: NAME_EXPRESSION_RESULT
|
||||
|
||||
Compile bytecode for args
|
||||
Compile bytecode for baseArray
|
||||
Compile bytecode for baseArray[0]
|
||||
|
||||
-18
@@ -2,24 +2,6 @@ LineBreakpoint created at evBreakpointOnPropertyDeclaration.kt:14
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evBreakpointOnPropertyDeclaration.kt:14
|
||||
package evBreakpointOnPropertyDeclaration
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a1 = A()
|
||||
val a2 = A()
|
||||
val a3 = A()
|
||||
|
||||
val p1 = a1.prop
|
||||
//Breakpoint!
|
||||
val p2 = a2.prop
|
||||
val p3 = a3.prop
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a2.prop
|
||||
frame = main:14, EvBreakpointOnPropertyDeclarationKt {evBreakpointOnPropertyDeclaration}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evBreakpointOnPropertyDeclaration.kt, 7)
|
||||
|
||||
Vendored
-16
@@ -2,22 +2,6 @@ LineBreakpoint created at evDelegatedProperty.kt:13
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evDelegatedProperty.kt:13
|
||||
package evDelegatedProperty
|
||||
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
class A {
|
||||
var prop: Int by Delegates.notNull()
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
a.prop = 1
|
||||
//Breakpoint!
|
||||
val b = a.prop
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
frame = main:13, EvDelegatedPropertyKt {evDelegatedProperty}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evDelegatedProperty.kt, 9)
|
||||
local = a: evDelegatedProperty.A = {evDelegatedProperty.A@uniqueID} (sp = evDelegatedProperty.kt, 10)
|
||||
|
||||
Vendored
-13
@@ -2,19 +2,6 @@ LineBreakpoint created at evDuplicateItems.kt:10
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evDuplicateItems.kt:10
|
||||
package evDuplicateItems
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
val b = a.prop + a.prop
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a.prop
|
||||
frame = main:10, EvDuplicateItemsKt {evDuplicateItems}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evDuplicateItems.kt, 7)
|
||||
|
||||
Vendored
-13
@@ -2,19 +2,6 @@ LineBreakpoint created at evFinalProperty.kt:10
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evFinalProperty.kt:10
|
||||
package evFinalProperty
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
val b = a.prop
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
frame = main:10, EvFinalPropertyKt {evFinalProperty}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evFinalProperty.kt, 7)
|
||||
local = a: evFinalProperty.A = {evFinalProperty.A@uniqueID} (sp = evFinalProperty.kt, 8)
|
||||
|
||||
-12
@@ -2,18 +2,6 @@ LineBreakpoint created at evFunctionDeclaration.kt:5
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evFunctionDeclaration.kt:5
|
||||
package evFunctionDeclaration
|
||||
|
||||
class A(val a: Int) {
|
||||
//Breakpoint!
|
||||
fun foo() = a
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A(1).foo()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a
|
||||
frame = foo:5, A {evFunctionDeclaration}
|
||||
this = this = {evFunctionDeclaration.A@uniqueID}
|
||||
|
||||
Vendored
-22
@@ -2,28 +2,6 @@ LineBreakpoint created at evLineRange.kt:15
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evLineRange.kt:15
|
||||
package evLineRange
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a1 = A()
|
||||
val a2 = A()
|
||||
val a3 = A()
|
||||
|
||||
foo(a1.prop)
|
||||
val i1 = 1
|
||||
//Breakpoint!
|
||||
foo(a2.prop)
|
||||
val i2 = 1
|
||||
foo(a3.prop)
|
||||
}
|
||||
|
||||
fun foo(i: Int) {}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a2.prop
|
||||
frame = main:15, EvLineRangeKt {evLineRange}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evLineRange.kt, 7)
|
||||
|
||||
-15
@@ -2,21 +2,6 @@ LineBreakpoint created at evProperty.kt:10
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evProperty.kt:10
|
||||
package evProperty
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
if (a.prop == 1) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a.prop
|
||||
frame = main:10, EvPropertyKt {evProperty}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evProperty.kt, 7)
|
||||
|
||||
Vendored
-18
@@ -2,24 +2,6 @@ LineBreakpoint created at evPropertyRefExpr.kt:8
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evPropertyRefExpr.kt:8
|
||||
package evPropertyRefExpr
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
if (prop == 1) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for prop
|
||||
frame = test:8, A {evPropertyRefExpr}
|
||||
this = this = {evPropertyRefExpr.A@uniqueID}
|
||||
|
||||
-26
@@ -2,32 +2,6 @@ LineBreakpoint created at evSkipAnonymousObject.kt:12
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evSkipAnonymousObject.kt:12
|
||||
package evSkipAnonymousObject
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a1 = A()
|
||||
val a2 = A()
|
||||
|
||||
//Breakpoint!
|
||||
foo(a1.prop)
|
||||
object: T {
|
||||
override fun f() {
|
||||
foo(a2.prop)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface T {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
fun foo(i: Int) {}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a1.prop
|
||||
frame = main:12, EvSkipAnonymousObjectKt {evSkipAnonymousObject}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evSkipAnonymousObject.kt, 7)
|
||||
|
||||
Vendored
-21
@@ -2,27 +2,6 @@ LineBreakpoint created at evSkipLambda.kt:12
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evSkipLambda.kt:12
|
||||
package evSkipLambda
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a1 = A()
|
||||
val a2 = A()
|
||||
|
||||
//Breakpoint!
|
||||
foo(a1.prop)
|
||||
l {
|
||||
foo(a2.prop)
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(i: Int) {}
|
||||
fun l(f: () -> Unit) {}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a1.prop
|
||||
frame = main:12, EvSkipLambdaKt {evSkipLambda}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evSkipLambda.kt, 7)
|
||||
|
||||
Vendored
-22
@@ -2,28 +2,6 @@ LineBreakpoint created at evSkipLocalClass.kt:12
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
evSkipLocalClass.kt:12
|
||||
package evSkipLocalClass
|
||||
|
||||
class A {
|
||||
var prop = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a1 = A()
|
||||
val a2 = A()
|
||||
|
||||
//Breakpoint!
|
||||
foo(a1.prop)
|
||||
class B {
|
||||
fun bar() {
|
||||
foo(a2.prop)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(i: Int) {}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for a1.prop
|
||||
frame = main:12, EvSkipLocalClassKt {evSkipLocalClass}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = evSkipLocalClass.kt, 7)
|
||||
|
||||
-14
@@ -2,20 +2,6 @@ LineBreakpoint created at catchVariable.kt:9
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
catchVariable.kt:9
|
||||
package catchVariable
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
try {
|
||||
throw Exception()
|
||||
|
||||
}
|
||||
//Breakpoint!
|
||||
catch (e: Exception) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
frame = main:9, CatchVariableKt {catchVariable}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = catchVariable.kt, 3)
|
||||
Disconnected from the target VM
|
||||
|
||||
Vendored
-28
@@ -2,34 +2,6 @@ LineBreakpoint created at delegatedPropertyInClass.kt:9
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
delegatedPropertyInClass.kt:9
|
||||
package delegatedPropertyInClass
|
||||
|
||||
import kotlin.properties.Delegates
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
args.size
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop by MyDelegate()
|
||||
val propEx by MyDelegateThrowsException()
|
||||
}
|
||||
|
||||
class MyDelegate {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
|
||||
}
|
||||
|
||||
class MyDelegateThrowsException {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int = throw IllegalStateException()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SKIP: suppressedExceptions
|
||||
// SKIP: stackTrace
|
||||
|
||||
Compile bytecode for args.size
|
||||
frame = main:9, DelegatedPropertyInClassKt {delegatedPropertyInClass}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClass.kt, 6)
|
||||
|
||||
-22
@@ -2,28 +2,6 @@ LineBreakpoint created at delegatedPropertyInClassWithToString.kt:8
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
delegatedPropertyInClassWithToString.kt:8
|
||||
package delegatedPropertyInClassWithToString
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
args.size
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop by MyDelegate()
|
||||
|
||||
override fun toString(): String = "KotlinTest"
|
||||
}
|
||||
|
||||
class MyDelegate {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
Compile bytecode for args.size
|
||||
frame = main:8, DelegatedPropertyInClassWithToStringKt {delegatedPropertyInClassWithToString}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWithToString.kt, 5)
|
||||
|
||||
-22
@@ -2,28 +2,6 @@ LineBreakpoint created at delegatedPropertyInClassWoRenderer.kt:9
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
delegatedPropertyInClassWoRenderer.kt:9
|
||||
package delegatedPropertyInClassWoRenderer
|
||||
|
||||
import kotlin.properties.Delegates
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
args.size
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop by MyDelegate()
|
||||
}
|
||||
|
||||
class MyDelegate {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int = 1
|
||||
}
|
||||
|
||||
// RENDER_DELEGATED_PROPERTIES: false
|
||||
// PRINT_FRAME
|
||||
|
||||
Compile bytecode for args.size
|
||||
frame = main:9, DelegatedPropertyInClassWoRendererKt {delegatedPropertyInClassWoRenderer}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = delegatedPropertyInClassWoRenderer.kt, 6)
|
||||
|
||||
Vendored
-23
@@ -2,29 +2,6 @@ LineBreakpoint created at frameAnonymousObject.kt:11
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
frameAnonymousObject.kt:11
|
||||
package frameAnonymousObject
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
val o = object {
|
||||
val obProp = 1
|
||||
|
||||
fun run() {
|
||||
foo {
|
||||
//Breakpoint!
|
||||
val1 + obProp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
o.run()
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
frame = invoke:11, FrameAnonymousObjectKt$main$o$1$run$1 {frameAnonymousObject}
|
||||
this = this = {frameAnonymousObject.FrameAnonymousObjectKt$main$o$1$run$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameAnonymousObject.FrameAnonymousObjectKt$main$o$1 = {frameAnonymousObject.FrameAnonymousObjectKt$main$o$1@uniqueID} (sp = null)
|
||||
|
||||
-31
@@ -4,37 +4,6 @@ Connected to the target VM
|
||||
frameClassObject.kt:16
|
||||
Compile bytecode for prop
|
||||
Compile bytecode for myFun()
|
||||
package frameClassObject
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
companion object {
|
||||
val prop = 1
|
||||
fun myFun() = 1
|
||||
}
|
||||
|
||||
fun test() {
|
||||
foo {
|
||||
//Breakpoint!
|
||||
prop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: prop
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: myFun()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:16, A$test$1 {frameClassObject}
|
||||
this = this = {frameClassObject.A$test$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = arity: int = 0 (sp = Lambda.!EXT!)
|
||||
|
||||
-11
@@ -3,17 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameClosingBracket.kt:6
|
||||
Compile bytecode for a
|
||||
package frameClosingBracket
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = 1
|
||||
//Breakpoint!
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// EXPRESSION: a
|
||||
// RESULT: 1: I
|
||||
|
||||
frame = main:6, FrameClosingBracketKt {frameClosingBracket}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = frameClosingBracket.kt, 3)
|
||||
local = a: int = 1 (sp = frameClosingBracket.kt, 4)
|
||||
|
||||
-73
@@ -10,79 +10,6 @@ Compile bytecode for bProp
|
||||
Compile bytecode for aMyFun()
|
||||
Compile bytecode for outerMyFun()
|
||||
Compile bytecode for bMyFun()
|
||||
package frameExtFunExtFun
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
Outer().run()
|
||||
}
|
||||
|
||||
class A {
|
||||
val aProp = 1
|
||||
fun aMyFun() = 1
|
||||
}
|
||||
|
||||
class Outer {
|
||||
val outerProp = 1
|
||||
fun outerMyFun() = 1
|
||||
|
||||
fun A.foo() {
|
||||
val valFoo = 1
|
||||
class LocalClass {
|
||||
val lcProp = 1
|
||||
fun B.test() {
|
||||
val valTest = 1
|
||||
lambda {
|
||||
//Breakpoint!
|
||||
outerProp + aProp + lcProp + bProp + valFoo + valTest
|
||||
}
|
||||
}
|
||||
fun run() {
|
||||
B().test()
|
||||
}
|
||||
}
|
||||
|
||||
LocalClass().run()
|
||||
}
|
||||
|
||||
fun run() {
|
||||
A().foo()
|
||||
}
|
||||
}
|
||||
|
||||
class B {
|
||||
val bProp = 1
|
||||
fun bMyFun() = 1
|
||||
}
|
||||
|
||||
fun lambda(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: valFoo
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: valTest
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: aProp
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: outerProp
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: bProp
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: aMyFun()
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: outerMyFun()
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: bMyFun()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:24, Outer$foo$LocalClass$test$1 {frameExtFunExtFun}
|
||||
this = this = {frameExtFunExtFun.Outer$foo$LocalClass$test$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameExtFunExtFun.Outer$foo$LocalClass = {frameExtFunExtFun.Outer$foo$LocalClass@uniqueID} (sp = null)
|
||||
|
||||
-23
@@ -4,29 +4,6 @@ Connected to the target VM
|
||||
frameExtensionFun.kt:14
|
||||
Compile bytecode for prop
|
||||
Compile bytecode for myFun()
|
||||
package frameExtensionFun
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().foo()
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
fun myFun() = 1
|
||||
}
|
||||
|
||||
fun A.foo() {
|
||||
//Breakpoint!
|
||||
prop
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: prop
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: myFun()
|
||||
// RESULT: 1: I
|
||||
frame = foo:14, FrameExtensionFunKt {frameExtensionFun}
|
||||
local = $this$foo: frameExtensionFun.A = {frameExtensionFun.A@uniqueID} (sp = null)
|
||||
field = prop: int = 1 (sp = frameExtensionFun.kt, 8)
|
||||
|
||||
-25
@@ -3,31 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameInlineArgument.kt:7
|
||||
Compile bytecode for element
|
||||
package frameInlineArgument
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val element = 1
|
||||
A().inlineFun {
|
||||
//Breakpoint!
|
||||
element
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
inline fun inlineFun(s: () -> Unit) {
|
||||
val element = 1.0
|
||||
s()
|
||||
}
|
||||
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: element
|
||||
// RESULT: 1: I
|
||||
|
||||
|
||||
frame = main:7, FrameInlineArgumentKt {frameInlineArgument}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = frameInlineArgument.kt, 3)
|
||||
local = element: int = 1 (sp = frameInlineArgument.kt, 4)
|
||||
|
||||
-38
@@ -3,44 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameInlineArgumentInsideInlineFun.kt:16
|
||||
Compile bytecode for element
|
||||
// KT-10674: Debugger: Evaluate Expression / Watches fail for variable/parameter captured from one inline function to another
|
||||
package frameInlineArgumentInsideInlineFun
|
||||
|
||||
class A {
|
||||
inline fun inlineFun(s: (Int) -> Unit) {
|
||||
val element = 1.0
|
||||
s(1)
|
||||
}
|
||||
}
|
||||
|
||||
class B {
|
||||
inline fun foo(s: (Int) -> Unit) {
|
||||
val element = 1
|
||||
A().inlineFun {
|
||||
//Breakpoint!
|
||||
val e = element
|
||||
}
|
||||
s(1)
|
||||
}
|
||||
}
|
||||
|
||||
class C {
|
||||
fun bar() {
|
||||
val element = 1f
|
||||
B().foo {
|
||||
val e = element
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
C().bar()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: element
|
||||
// RESULT: 1: I
|
||||
frame = bar:16, C {frameInlineArgumentInsideInlineFun}
|
||||
this = this = {frameInlineArgumentInsideInlineFun.C@uniqueID}
|
||||
- Class has no fields
|
||||
|
||||
-28
@@ -4,34 +4,6 @@ Connected to the target VM
|
||||
frameInlineFun.kt:14
|
||||
Compile bytecode for element
|
||||
Compile bytecode for this.prop
|
||||
package frameInlineFun
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val element = 1
|
||||
A().inlineFun {
|
||||
element
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
inline fun inlineFun(s: (Int) -> Unit) {
|
||||
val element = 1.0
|
||||
//Breakpoint!
|
||||
s(1)
|
||||
}
|
||||
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: element
|
||||
// RESULT: 1.0: D
|
||||
|
||||
// EXPRESSION: this.prop
|
||||
// RESULT: 1: I
|
||||
|
||||
|
||||
frame = main:14, FrameInlineFunKt {frameInlineFun}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = null)
|
||||
local = element: int = 1 (sp = frameInlineFun.kt, 12)
|
||||
|
||||
-47
@@ -6,53 +6,6 @@ frameInlineFunCallInsideInlineFun.kt:5
|
||||
frameInlineFunCallInsideInlineFun.kt:6
|
||||
Compile bytecode for element
|
||||
Compile bytecode for this.prop
|
||||
package frameInlineFunCallInsideInlineFun
|
||||
|
||||
class A {
|
||||
inline fun inlineFun(s: (Int) -> Unit) {
|
||||
val element = 1.0
|
||||
s(1)
|
||||
}
|
||||
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
class B {
|
||||
inline fun foo(s: (Int) -> Unit) {
|
||||
val element = 2
|
||||
val a = A()
|
||||
// STEP_INTO: 1
|
||||
// STEP_OVER: 1
|
||||
//Breakpoint!
|
||||
a.inlineFun {
|
||||
val e = element
|
||||
}
|
||||
s(1)
|
||||
}
|
||||
}
|
||||
|
||||
class C {
|
||||
fun bar() {
|
||||
val element = 1f
|
||||
B().foo {
|
||||
val e = element
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
C().bar()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: element
|
||||
// RESULT: 1.0: D
|
||||
|
||||
// EXPRESSION: this.prop
|
||||
// RESULT: 1: I
|
||||
|
||||
|
||||
frame = bar:6, C {frameInlineFunCallInsideInlineFun}
|
||||
this = this = {frameInlineFunCallInsideInlineFun.C@uniqueID}
|
||||
- Class has no fields
|
||||
|
||||
-49
@@ -6,55 +6,6 @@ frameInlineFunCallInsideInlineFunKotlinVariables.kt:7
|
||||
frameInlineFunCallInsideInlineFunKotlinVariables.kt:8
|
||||
Compile bytecode for element
|
||||
Compile bytecode for this.prop
|
||||
// SHOW_KOTLIN_VARIABLES
|
||||
|
||||
package frameInlineFunCallInsideInlineFunKotlinVariables
|
||||
|
||||
class A {
|
||||
inline fun inlineFun(s: (Int) -> Unit) {
|
||||
val element = 1.0
|
||||
s(1)
|
||||
}
|
||||
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
class B {
|
||||
inline fun foo(s: (Int) -> Unit) {
|
||||
val element = 2
|
||||
val a = A()
|
||||
// STEP_INTO: 1
|
||||
// STEP_OVER: 1
|
||||
//Breakpoint!
|
||||
a.inlineFun {
|
||||
val e = element
|
||||
}
|
||||
s(1)
|
||||
}
|
||||
}
|
||||
|
||||
class C {
|
||||
fun bar() {
|
||||
val element = 1f
|
||||
B().foo {
|
||||
val e = element
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
C().bar()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: element
|
||||
// RESULT: 1.0: D
|
||||
|
||||
// EXPRESSION: this.prop
|
||||
// RESULT: 1: I
|
||||
|
||||
|
||||
frame = bar:8, C {frameInlineFunCallInsideInlineFunKotlinVariables}
|
||||
this = this = {frameInlineFunCallInsideInlineFunKotlinVariables.C@uniqueID}
|
||||
- Class has no fields
|
||||
|
||||
-34
@@ -6,40 +6,6 @@ Compile bytecode for prop1
|
||||
Compile bytecode for prop2
|
||||
Compile bytecode for myFun1()
|
||||
Compile bytecode for myFun2()
|
||||
package frameInnerClass
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().Inner().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop1 = 1
|
||||
fun myFun1() = 1
|
||||
|
||||
inner class Inner {
|
||||
val prop2 = 1
|
||||
fun myFun2() = 1
|
||||
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
prop1 + prop2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: prop1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop2
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: myFun1()
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: myFun2()
|
||||
// RESULT: 1: I
|
||||
frame = test:17, A$Inner {frameInnerClass}
|
||||
this = this = {frameInnerClass.A$Inner@uniqueID}
|
||||
field = prop2: int = 1 (sp = frameInnerClass.kt, 12)
|
||||
|
||||
-27
@@ -5,33 +5,6 @@ frameInnerLambda.kt:9
|
||||
Compile bytecode for val1
|
||||
Compile bytecode for val2
|
||||
Compile bytecode for val1 + val2
|
||||
package frameInnerLambda
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
foo {
|
||||
val val2 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
val1 + val2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val2
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val1 + val2
|
||||
// RESULT: 2: I
|
||||
frame = invoke:9, FrameInnerLambdaKt$main$1$1 {frameInnerLambda}
|
||||
this = this = {frameInnerLambda.FrameInnerLambdaKt$main$1$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameInnerLambda.FrameInnerLambdaKt$main$1 = {frameInnerLambda.FrameInnerLambdaKt$main$1@uniqueID}Function0<kotlin.Unit> (sp = null)
|
||||
|
||||
-18
@@ -3,24 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameLambda.kt:7
|
||||
Compile bytecode for val1
|
||||
package frameLambda
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
val1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
frame = invoke:7, FrameLambdaKt$main$1 {frameLambda}
|
||||
this = this = {frameLambda.FrameLambdaKt$main$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = $val1: int = 1 (sp = null)
|
||||
|
||||
-18
@@ -3,24 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameLambdaNotUsed.kt:7
|
||||
Compile bytecode for val1
|
||||
package frameLambdaNotUsed
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 'val1' is not captured
|
||||
frame = invoke:7, FrameLambdaNotUsedKt$main$1 {frameLambdaNotUsed}
|
||||
this = this = {frameLambdaNotUsed.FrameLambdaNotUsedKt$main$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = arity: int = 0 (sp = Lambda.!EXT!)
|
||||
|
||||
-9
@@ -2,15 +2,6 @@ LineBreakpoint created at frameLocalVariable.kt:6
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
frameLocalVariable.kt:6
|
||||
package frameLocalVariable
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
//Breakpoint!
|
||||
val val2 = 1
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
frame = main:6, FrameLocalVariableKt {frameLocalVariable}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = frameLocalVariable.kt, 3)
|
||||
local = val1: int = 1 (sp = frameLocalVariable.kt, 4)
|
||||
|
||||
-25
@@ -4,31 +4,6 @@ Connected to the target VM
|
||||
frameObject.kt:6
|
||||
Compile bytecode for O.obProp
|
||||
Compile bytecode for O.obMyFun()
|
||||
package frameObject
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
foo {
|
||||
//Breakpoint!
|
||||
O.obProp
|
||||
}
|
||||
}
|
||||
|
||||
object O {
|
||||
val obProp = 1
|
||||
fun obMyFun() = 1
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: O.obProp
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: O.obMyFun()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:6, FrameObjectKt$main$1 {frameObject}
|
||||
this = this = {frameObject.FrameObjectKt$main$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = arity: int = 0 (sp = Lambda.!EXT!)
|
||||
|
||||
-18
@@ -3,24 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameSharedVar.kt:7
|
||||
Compile bytecode for var1
|
||||
package frameSharedVar
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
var var1 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
var1 = 2
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: var1
|
||||
// RESULT: 1: I
|
||||
frame = invoke:7, FrameSharedVarKt$main$1 {frameSharedVar}
|
||||
this = this = {frameSharedVar.FrameSharedVarKt$main$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = $var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}1 (sp = null)
|
||||
|
||||
Vendored
-18
@@ -3,24 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
frameSharedVarLocalVar.kt:7
|
||||
Compile bytecode for var1
|
||||
package frameSharedVarLocalVar
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
var var1 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
var1 = 2
|
||||
}
|
||||
}
|
||||
|
||||
inline fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: var1
|
||||
// RESULT: 1: I
|
||||
frame = main:7, FrameSharedVarLocalVarKt {frameSharedVarLocalVar}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = frameSharedVarLocalVar.kt, 3)
|
||||
local = var1: int = 1 (sp = frameSharedVarLocalVar.kt, 4)
|
||||
|
||||
-26
@@ -6,32 +6,6 @@ Compile bytecode for val1
|
||||
Compile bytecode for val2
|
||||
Compile bytecode for topVal1
|
||||
Compile bytecode for val1 + topVal1
|
||||
package frameSimple
|
||||
|
||||
val topVal1 = 1
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val val1 = 1
|
||||
val val2 = MyClass()
|
||||
//Breakpoint!
|
||||
val1 + topVal1
|
||||
}
|
||||
|
||||
class MyClass
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val2
|
||||
// RESULT: instance of frameSimple.MyClass(id=ID): LframeSimple/MyClass;
|
||||
|
||||
// EXPRESSION: topVal1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val1 + topVal1
|
||||
// RESULT: 2: I
|
||||
frame = main:9, FrameSimpleKt {frameSimple}
|
||||
static = static = frameSimple.FrameSimpleKt
|
||||
field = topVal1: int = 1 (sp = frameSimple.kt, 3)
|
||||
|
||||
-40
@@ -7,46 +7,6 @@ Compile bytecode for val2
|
||||
Compile bytecode for prop1
|
||||
Compile bytecode for prop1 + val1 + val2
|
||||
Compile bytecode for myFun()
|
||||
package frameThis0
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop1 = 1
|
||||
fun myFun() = 1
|
||||
|
||||
fun test() {
|
||||
val val1 = 1
|
||||
foo {
|
||||
val val2 = 1
|
||||
//Breakpoint!
|
||||
prop1 + val1 + val2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val2
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1 + val1 + val2
|
||||
// RESULT: 3: I
|
||||
|
||||
// EXPRESSION: myFun()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:16, A$test$1 {frameThis0}
|
||||
this = this = {frameThis0.A$test$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameThis0.A = {frameThis0.A@uniqueID} (sp = null)
|
||||
|
||||
-54
@@ -9,60 +9,6 @@ Compile bytecode for prop1 + val1
|
||||
Compile bytecode for prop2 + val1
|
||||
Compile bytecode for myFun1()
|
||||
Compile bytecode for myFun2()
|
||||
package frameThis0Ext
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop1 = 1
|
||||
fun myFun1() = 1
|
||||
|
||||
fun AExt.testExt() {
|
||||
val val1 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
prop1 + prop2 + val1
|
||||
}
|
||||
}
|
||||
|
||||
fun test() {
|
||||
AExt().testExt()
|
||||
}
|
||||
}
|
||||
|
||||
class AExt {
|
||||
val prop2 = 1
|
||||
fun myFun2() = 1
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop2
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1 + val1
|
||||
// RESULT: 2: I
|
||||
|
||||
// EXPRESSION: prop2 + val1
|
||||
// RESULT: 2: I
|
||||
|
||||
// EXPRESSION: myFun1()
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: myFun2()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:15, A$testExt$1 {frameThis0Ext}
|
||||
this = this = {frameThis0Ext.A$testExt$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameThis0Ext.A = {frameThis0Ext.A@uniqueID} (sp = null)
|
||||
|
||||
-42
@@ -7,48 +7,6 @@ Compile bytecode for val2
|
||||
Compile bytecode for prop1
|
||||
Compile bytecode for prop1 + val1 + val2
|
||||
Compile bytecode for myFun()
|
||||
package frameThis0This0
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop1 = 1
|
||||
fun myFun() = 1
|
||||
|
||||
fun test() {
|
||||
val val1 = 1
|
||||
foo {
|
||||
val val2 = 1
|
||||
foo {
|
||||
//Breakpoint!
|
||||
prop1 + val1 + val2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: val1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: val2
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: prop1 + val1 + val2
|
||||
// RESULT: 3: I
|
||||
|
||||
// EXPRESSION: myFun()
|
||||
// RESULT: 1: I
|
||||
frame = invoke:17, A$test$1$1 {frameThis0This0}
|
||||
this = this = {frameThis0This0.A$test$1$1@uniqueID}Function0<kotlin.Unit>
|
||||
field = this$0: frameThis0This0.A$test$1 = {frameThis0This0.A$test$1@uniqueID}Function0<kotlin.Unit> (sp = null)
|
||||
|
||||
Vendored
-13
@@ -2,19 +2,6 @@ LineBreakpoint created at hideContinuationThis.kt:9
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
hideContinuationThis.kt:9
|
||||
package hideContinuationThis
|
||||
|
||||
suspend fun main() {
|
||||
foo()
|
||||
}
|
||||
|
||||
var foo: suspend () -> Unit = {
|
||||
//Breakpoint!
|
||||
val a = 5
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SHOW_KOTLIN_VARIABLES
|
||||
frame = invokeSuspend:9, HideContinuationThisKt$foo$1 {hideContinuationThis}
|
||||
local = result: java.lang.Object = {kotlin.Unit@uniqueID}kotlin.Unit (sp = null)
|
||||
- No fields to display
|
||||
|
||||
-16
@@ -2,22 +2,6 @@ LineBreakpoint created at hideSyntheticThis.kt:6
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
hideSyntheticThis.kt:6
|
||||
package hideSyntheticThis
|
||||
|
||||
fun main() {
|
||||
block("foo") {
|
||||
//Breakpoint!
|
||||
val b = 4
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> block(t: T, block: T.() -> Unit) {
|
||||
t.block()
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SHOW_KOTLIN_VARIABLES
|
||||
// DESCRIPTOR_VIEW_OPTIONS: NAME_EXPRESSION
|
||||
frame = invoke
|
||||
local = this (expression = this)
|
||||
field = value (expression = this.value)
|
||||
|
||||
-20
@@ -2,26 +2,6 @@ LineBreakpoint created at remapThis.kt:14
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
remapThis.kt:14
|
||||
package remapThis
|
||||
|
||||
fun main() {
|
||||
Bar().bar()
|
||||
}
|
||||
|
||||
class Bar {
|
||||
fun bar() {
|
||||
"a".foo()
|
||||
}
|
||||
|
||||
fun String.foo() {
|
||||
//Breakpoint!
|
||||
val a = this
|
||||
}
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SHOW_KOTLIN_VARIABLES
|
||||
// DESCRIPTOR_VIEW_OPTIONS: NAME_EXPRESSION
|
||||
frame = foo
|
||||
this = this (@Bar) (expression = this)
|
||||
-
|
||||
|
||||
-16
@@ -3,22 +3,6 @@ Run Java
|
||||
Connected to the target VM
|
||||
suspendContinuation.kt:7
|
||||
Compile bytecode for a
|
||||
package suspendContinuation
|
||||
|
||||
suspend fun main() {
|
||||
val a = 5
|
||||
foo()
|
||||
//Breakpoint!
|
||||
val b = 4
|
||||
}
|
||||
|
||||
suspend fun foo() {}
|
||||
|
||||
// PRINT_FRAME
|
||||
// SHOW_KOTLIN_VARIABLES
|
||||
|
||||
// EXPRESSION: a
|
||||
// RESULT: 5: I
|
||||
frame = main:7, SuspendContinuationKt {suspendContinuation}
|
||||
local = $continuation: kotlin.coroutines.Continuation = {suspendContinuation.SuspendContinuationKt$main$1@uniqueID}Continuation at suspendContinuation.SuspendContinuationKt.main(suspendContinuation.kt:5) (sp = null)
|
||||
field = result: java.lang.Object = null (sp = null)
|
||||
|
||||
Vendored
-22
@@ -4,28 +4,6 @@ Connected to the target VM
|
||||
destructuringParam.kt:12
|
||||
Compile bytecode for x
|
||||
Compile bytecode for y
|
||||
package destructuringParam
|
||||
data class A(val x: String, val y: String)
|
||||
|
||||
fun foo(a: A, block: (A) -> String): String = block(a)
|
||||
|
||||
fun box() {
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint! (lambdaOrdinal = 1)
|
||||
foo(A("O", "K")) { (x, y) -> x + y }
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: x
|
||||
// RESULT: "O": Ljava/lang/String;
|
||||
|
||||
// EXPRESSION: y
|
||||
// RESULT: "K": Ljava/lang/String;
|
||||
|
||||
frame = invoke:12, DestructuringParamKt$main$1 {destructuringParam}
|
||||
this = this = {destructuringParam.DestructuringParamKt$main$1@uniqueID}Function1<destructuringParam.A, java.lang.String>
|
||||
field = arity: int = 1 (sp = Lambda.!EXT!)
|
||||
|
||||
-33
@@ -4,39 +4,6 @@ Connected to the target VM
|
||||
underscoreNames.kt:18
|
||||
Compile bytecode for x
|
||||
Compile bytecode for y
|
||||
package underscoreNames
|
||||
data class A(val x: Double = 1.0, val y: String = "", val z: Char = '0')
|
||||
|
||||
fun foo(a: A, block: (A, String, Int) -> String): String = block(a, "", 1)
|
||||
|
||||
val arrayOfA: Array<A> = Array(1) { A() }
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
foo(A()) {
|
||||
(x, _, y), _, w ->
|
||||
|
||||
val (a, _, c) = A()
|
||||
val (_, `_`, d) = A()
|
||||
|
||||
for ((_, q) in arrayOfA) {
|
||||
//Breakpoint! (lambdaOrdinal = 1)
|
||||
println(q)
|
||||
}
|
||||
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
|
||||
// EXPRESSION: x
|
||||
// RESULT: 1.0: D
|
||||
|
||||
// EXPRESSION: y
|
||||
// RESULT: 48: C
|
||||
|
||||
|
||||
Compile bytecode for arrayOfA
|
||||
frame = invoke:18, UnderscoreNamesKt$main$1 {underscoreNames}
|
||||
this = this = {underscoreNames.UnderscoreNamesKt$main$1@uniqueID}Function3<underscoreNames.A, java.lang.String, java.lang.Integer, java.lang.String>
|
||||
|
||||
-13
@@ -2,19 +2,6 @@ LineBreakpoint created at toStringRenderer.kt:6
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
toStringRenderer.kt:6
|
||||
package toStringRenderer
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
args.size
|
||||
}
|
||||
|
||||
class A {
|
||||
override fun toString() = "myA"
|
||||
}
|
||||
|
||||
// PRINT_FRAME
|
||||
Compile bytecode for args.size
|
||||
frame = main:6, ToStringRendererKt {toStringRenderer}
|
||||
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID} (sp = toStringRenderer.kt, 3)
|
||||
|
||||
Reference in New Issue
Block a user