Evaluate expression: support captured vals

This commit is contained in:
Natalia Ukhorskaya
2014-07-01 17:38:15 +04:00
parent 6440884a40
commit 73e0ae1d1c
27 changed files with 383 additions and 46 deletions
@@ -21,4 +21,7 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: prop
// RESULT: 1: I
@@ -43,4 +43,19 @@ fun lambda(f: () -> Unit) {
f()
}
// PRINT_FRAME
// 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
@@ -13,4 +13,7 @@ fun A.foo() {
prop
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: prop
// RESULT: 1: I
@@ -17,4 +17,10 @@ class A {
}
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: prop1
// RESULT: 1: I
// EXPRESSION: prop2
// RESULT: 1: I
@@ -15,4 +15,13 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: 1: I
// EXPRESSION: val1 + val2
// RESULT: 2: I
@@ -12,4 +12,7 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
@@ -0,0 +1,18 @@
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: Cannot find local variable: name = val1
@@ -15,4 +15,7 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: O.obProp
// RESULT: 1: I
@@ -4,8 +4,21 @@ val topVal1 = 1
fun main(args: Array<String>) {
val val1 = 1
val val2 = "str"
//Breakpoint!
val1 + topVal1
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: "str": Ljava/lang/String;
// EXPRESSION: topVal1
// RESULT: 1: I
// EXPRESSION: val1 + topVal1
// RESULT: 2: I
@@ -21,4 +21,16 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: 1: I
// EXPRESSION: prop1
// RESULT: 1: I
// EXPRESSION: prop1 + val1 + val2
// RESULT: 3: I
@@ -28,4 +28,19 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// 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
@@ -23,4 +23,16 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: val1
// RESULT: 1: I
// EXPRESSION: val2
// RESULT: 1: I
// EXPRESSION: prop1
// RESULT: 1: I
// EXPRESSION: prop1 + val1 + val2
// RESULT: 3: I