Debugger: implement compiling evaluator
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
package ceLambda
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = 1
|
||||
//Breakpoint!
|
||||
args.size()
|
||||
}
|
||||
|
||||
fun foo(p: () -> Int) = p()
|
||||
|
||||
// EXPRESSION: foo { 1 }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { a }
|
||||
// RESULT: 1: I
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package ceLocalClass
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = 1
|
||||
//Breakpoint!
|
||||
args.size()
|
||||
}
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
class MyClass {
|
||||
fun test() = 2
|
||||
}
|
||||
|
||||
val a = MyClass()
|
||||
a.test()
|
||||
|
||||
// RESULT: 2: I
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package ceLocalClassMembers
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
public fun publicFun(): Int = 1
|
||||
public val publicVal: Int = 1
|
||||
|
||||
protected fun protectedFun(): Int = 1
|
||||
protected val protectedVal: Int = 1
|
||||
|
||||
private fun privateFun() = 1
|
||||
private val privateVal = 1
|
||||
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
class MyClass {
|
||||
fun test() = publicFun() + publicVal + protectedFun() + protectedVal + privateFun() + privateFun()
|
||||
}
|
||||
|
||||
val a = MyClass()
|
||||
a.test()
|
||||
|
||||
// RESULT: 6: I
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package ceLocalClassWithSuperClass
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
public fun publicFun(): Int = 1
|
||||
public val publicVal: Int = 1
|
||||
|
||||
protected fun protectedFun(): Int = 1
|
||||
protected val protectedVal: Int = 1
|
||||
|
||||
private fun privateFun() = 1
|
||||
private val privateVal = 1
|
||||
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
}
|
||||
|
||||
open class MySuperClass
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
class MyClass: MySuperClass() {
|
||||
fun test() = publicFun()
|
||||
}
|
||||
|
||||
val a = MyClass()
|
||||
a.test()
|
||||
|
||||
// RESULT: 1: I
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package ceMembers
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
public fun publicFun(): Int = 1
|
||||
public val publicVal: Int = 1
|
||||
|
||||
protected fun protectedFun(): Int = 1
|
||||
protected val protectedVal: Int = 1
|
||||
|
||||
private fun privateFun() = 1
|
||||
private val privateVal = 1
|
||||
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
val a = 1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(p: () -> Int) = p()
|
||||
|
||||
// EXPRESSION: foo { publicFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { publicVal }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { protectedFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { protectedVal }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { privateFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { privateVal }
|
||||
// RESULT: 1: I
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package ceObject
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint!
|
||||
args.size()
|
||||
}
|
||||
|
||||
trait T {
|
||||
fun test() = 1
|
||||
}
|
||||
|
||||
//- EXPRESSION: (object: T {}).test()
|
||||
//- RESULT: 1: I
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package ceSeveralLambdas
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint!
|
||||
args.size()
|
||||
}
|
||||
|
||||
fun foo(p: () -> Int) = p()
|
||||
|
||||
// EXPRESSION: foo { 1 } + foo { 1 }
|
||||
// RESULT: 2: I
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package ceSuperAccess
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().Inner().test()
|
||||
}
|
||||
|
||||
class A {
|
||||
public fun publicFun(): Int = 1
|
||||
public val publicVal: Int = 1
|
||||
|
||||
protected fun protectedFun(): Int = 1
|
||||
protected val protectedVal: Int = 1
|
||||
|
||||
private fun privateFun() = 1
|
||||
private val privateVal = 1
|
||||
|
||||
inner class Inner {
|
||||
fun test() {
|
||||
//Breakpoint!
|
||||
val a = publicFun()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(p: () -> Int) = p()
|
||||
|
||||
// EXPRESSION: foo { publicFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { publicVal }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { protectedFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { protectedVal }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { privateFun() }
|
||||
// RESULT: 1: I
|
||||
|
||||
// EXPRESSION: foo { privateVal }
|
||||
// RESULT: 1: I
|
||||
Reference in New Issue
Block a user