it should be straightforward, just remove the fina...
# arrow
p
it should be straightforward, just remove the final property from fields here: https://bit.ly/2LozIWO
r
I agree with Henry here,
it seems likely that it should avoid writing to synthetic fields (and probably also final static ones).
Why does Arrow need to write to final fields?
p
to be able to use coroutines for multi-shot constructs like monads we have to copy over all the coroutine state and just reset the stack label
we asked for an API to do it cleanly, didn’t get it on time, so this is what’s working ever since the first release
r
Ok, I will give it a try. Hopefully it does not break pitest
How should I build a snapshot for myself to test with? (I don't see a
publishToMavenLocal
)
p
I’d suggest forking arrow, copying the offending project somewhere in a test module
and using a local version of the project
r
I'm struggling to get a build, do you think you could throw a patch together and send me a build I can test with? I'm not entirely sure this is right, but the fix should be something like adding this under
it.isAccessible = true
:
Copy code
it.setInt(it, it.modifiers.and(Modifier.FINAL.inv()))