JVM IR: do not attempt to mangle function expressions
For some reasons, lambdas and function expressions are represented slightly differently in psi2ir. Lambdas are translated to a block with a function of origin LOCAL_FUNCTION_FOR_LAMBDA and name "<anonymous>", but function expressions are translated to a block with DEFINED function "<no name provided>". Tweak the condition for detecting local functions a bit, to avoid similar situation in the future if we add some other origins for local functions. #KT-48207 Fixed
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
inline fun new(init: (Z) -> Unit): Z = Z(42)
|
||||
|
||||
inline class Z(val value: Int)
|
||||
|
||||
fun box(): String =
|
||||
if (new(fun(z: Z) {}).value == 42) "OK" else "Fail"
|
||||
Reference in New Issue
Block a user