You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have encountered an issue compiling a lambda using a closure in a nested lambda.
This is the expression I am trying to generate and compile (the getOrNull method, included below, is basically a null-conditional get accessor): (Ctx ctx) -> getOrNull(ctx, x -> getOrNull(ctx.items.get("key_2"), k -> k.value))
The compiled byte code fails verification phase (VerifyError).
I used ASM to have a better validation error, and analyzed the attached f__Lambda$0x0002.class and it seems that the generated bytecode passes the Closure as a parameter to the actual invoke method, while it should be passed to the constructor of the delegate (if I am not wrong).
The text was updated successfully, but these errors were encountered:
I have encountered an issue compiling a lambda using a closure in a nested lambda.
This is the expression I am trying to generate and compile (the
getOrNull
method, included below, is basically a null-conditional get accessor):(Ctx ctx) -> getOrNull(ctx, x -> getOrNull(ctx.items.get("key_2"), k -> k.value))
This is the a test to replicate the issue:
The compiled byte code fails verification phase (
VerifyError
).I used ASM to have a better validation error, and analyzed the attached f__Lambda$0x0002.class and it seems that the generated bytecode passes the
Closure
as a parameter to the actual invoke method, while it should be passed to the constructor of the delegate (if I am not wrong).The text was updated successfully, but these errors were encountered: