Evaluate Expression: support local functions

This commit is contained in:
Natalia Ukhorskaya
2015-04-30 10:07:17 +03:00
parent 8c99183970
commit d7a301d698
8 changed files with 171 additions and 22 deletions
@@ -0,0 +1,9 @@
package localFunInLibrary
fun main(args: Array<String>) {
customLib.localFunInLibraryCustomLib.localFunInLibraryCustomLibMainFun()
}
// ADDITIONAL_BREAKPOINT: localFunCustomLib.kt:localFunInLibraryCustomLibProperty
// EXPRESSION: localFun()
// RESULT: 1: I
@@ -0,0 +1,65 @@
package localFun
fun main(args: Array<String>) {
fun myLocalFun1() = 1
// EXPRESSION: myLocalFun1()
// RESULT: 1: I
//Breakpoint!
myLocalFun1()
fun myLocalFun2() = 2
// EXPRESSION: myLocalFun2()
// RESULT: 2: I
//Breakpoint!
myLocalFun2()
fun myLocalFun3() {
// EXPRESSION: myLocalFun1() + 1
// RESULT: Cannot find local variable: name = myLocalFun1
//Breakpoint!
myLocalFun1() + 1
}
myLocalFun3()
fun myLocalFun4(): Int {
return 1
}
// EXPRESSION: myLocalFun4()
// RESULT: 1: I
//Breakpoint!
myLocalFun4()
fun myLocalFun5(i: Int): Int {
return i
}
// EXPRESSION: myLocalFun5(2)
// RESULT: 2: I
//Breakpoint!
myLocalFun5(2)
var i = 1
fun myLocalFun6(): Int {
i++
return i
}
// EXPRESSION: myLocalFun6()
// RESULT: 2: I
//Breakpoint!
myLocalFun6()
i = 1
fun myLocalFun7() {
// EXPRESSION: myLocalFun6() + 1
// RESULT: 3: I
//Breakpoint!
myLocalFun6() + 1
}
myLocalFun7()
}