Fix evaluation of local functions for new-inference
Plus, additionally fix evaluation of generic local functions everywhere The problem was that in new-inference we create more substituted descriptors while old inference tries to preserve original ones. Later, backend fails to retrieve those descriptors as it uses originals. But, again, this worked only for simple functions, for generic functions debugger with new and old inference worked incorrectly #KT-31785 Fixed
This commit is contained in:
@@ -62,4 +62,11 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
myLocalFun7()
|
||||
|
||||
fun <T> myLocalFun8(): T = 1 as T
|
||||
|
||||
// EXPRESSION: myLocalFun8<Int>()
|
||||
// RESULT: 1: I
|
||||
//Breakpoint!
|
||||
myLocalFun8<Int>()
|
||||
}
|
||||
@@ -5,6 +5,7 @@ LineBreakpoint created at localFun.kt:34
|
||||
LineBreakpoint created at localFun.kt:43
|
||||
LineBreakpoint created at localFun.kt:54
|
||||
LineBreakpoint created at localFun.kt:61
|
||||
LineBreakpoint created at localFun.kt:71
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
localFun.kt:9
|
||||
@@ -21,6 +22,8 @@ localFun.kt:54
|
||||
Compile bytecode for myLocalFun6()
|
||||
localFun.kt:61
|
||||
Compile bytecode for myLocalFun6() + 1
|
||||
localFun.kt:71
|
||||
Compile bytecode for myLocalFun8<Int>()
|
||||
Disconnected from the target VM
|
||||
|
||||
Process finished with exit code 0
|
||||
|
||||
Reference in New Issue
Block a user