fix: resolve exception on assign inline

This commit is contained in:
Skylot
2019-12-27 17:02:23 +03:00
parent 04e309aeff
commit f1e229193c
@@ -130,7 +130,13 @@ public class CodeShrinkVisitor extends AbstractVisitor {
return;
}
InsnArg replaceArg = InsnArg.wrapArg(assignInsn.copy());
InsnArg replaceArg;
InsnType assignInsnType = assignInsn.getType();
if (assignInsnType == InsnType.MOVE || assignInsnType == InsnType.CONST) {
replaceArg = assignInsn.getArg(0).duplicate();
} else {
replaceArg = InsnArg.wrapArg(assignInsn.copy());
}
useInsn.replaceArg(useArg, replaceArg);
assignInsn.add(AFlag.REMOVE);