luac-parser-rs
luac-parser-rs copied to clipboard
Broken slot operation inlining side effect tracking
When given the following script:
local saved_value
local new_value = somefunc()
local to_ret = new_value - saved_value
saved_value = new_value
return to_ret
Metaworm's luadec incorrectly inlines the SUB to the return, as follows:
local r0_0 = nil
local r1_0 = somefunc()
r0_0 = r1_0
return r1_0 - r0_0