mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-28 18:10:43 +00:00
Swap fixes
This commit is contained in:
@@ -407,6 +407,42 @@ public class TranslateStack extends Stack<GraphTargetItem> {
|
||||
}
|
||||
|
||||
public void allowSwap(List<GraphTargetItem> output) {
|
||||
/*
|
||||
if (!isEmpty()) {
|
||||
return;
|
||||
}
|
||||
if (output.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
if (size() != 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(output.get(output.size() - 1) instanceof SetTemporaryItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(peek() instanceof TemporaryItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
TemporaryItem ti = (TemporaryItem) peek();
|
||||
|
||||
SetTemporaryItem st = (SetTemporaryItem) output.get(output.size() - 1);
|
||||
|
||||
if (!"swap".equals(st.getSuffix())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (st.getTempIndex() != ti.getTempIndex()) {
|
||||
return;
|
||||
}
|
||||
|
||||
output.remove(output.size() - 1);
|
||||
pop();
|
||||
push(ti.value);
|
||||
|
||||
*/
|
||||
if (!isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -420,7 +456,7 @@ public class TranslateStack extends Stack<GraphTargetItem> {
|
||||
if (!(output.get(output.size() - 2) instanceof PushItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!(output.get(output.size() - 3) instanceof SetTemporaryItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetDialect;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetVisitorInterface;
|
||||
import com.jpexs.decompiler.graph.SimpleValue;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import java.util.List;
|
||||
@@ -145,4 +146,8 @@ public class DuplicateItem extends GraphTargetItem implements SimpleValue, HasTe
|
||||
public int getTempIndex() {
|
||||
return tempIndex;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(GraphTargetVisitorInterface visitor) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetDialect;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetVisitorInterface;
|
||||
import com.jpexs.decompiler.graph.SimpleValue;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import java.util.ArrayList;
|
||||
@@ -136,4 +137,7 @@ public class TemporaryItem extends GraphTargetItem implements SimpleValue, HasTe
|
||||
return tempIndex;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(GraphTargetVisitorInterface visitor) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user