@Override public void replaceStatement(Statement oldstat, Statement newstat) { if (handler == oldstat) { handler = newstat; } super.replaceStatement(oldstat, newstat); }
@Override public void replaceStatement(Statement oldstat, Statement newstat) { if (body == oldstat) { body = newstat; } super.replaceStatement(oldstat, newstat); }
@Override public void replaceStatement(Statement oldstat, Statement newstat) { for (int i = 0; i < caseStatements.size(); i++) { if (caseStatements.get(i) == oldstat) { caseStatements.set(i, newstat); } } super.replaceStatement(oldstat, newstat); }
@Override public void replaceStatement(Statement oldstat, Statement newstat) { super.replaceStatement(oldstat, newstat); if (ifstat == oldstat) { ifstat = newstat; } if (elsestat == oldstat) { elsestat = newstat; } List<StatEdge> lstSuccs = first.getSuccessorEdges(STATEDGE_DIRECT_ALL); if (iftype == IFTYPE_IF) { ifedge = lstSuccs.get(0); elseedge = null; } else { StatEdge edge0 = lstSuccs.get(0); StatEdge edge1 = lstSuccs.get(1); if (edge0.getDestination() == ifstat) { ifedge = edge0; elseedge = edge1; } else { ifedge = edge1; elseedge = edge0; } } }
if (complete) { general.replaceStatement(stat, stat.getFirst()); general.replaceStatement(stat, stat.getFirst());
public static void destroyAndFlattenStatement(Statement stat) { destroyStatementContent(stat, false); BasicBlockStatement bstat = new BasicBlockStatement(new BasicBlock( DecompilerContext.getCounterContainer().getCounterAndIncrement(CounterContainer.STATEMENT_COUNTER))); if (stat.getExprents() == null) { bstat.setExprents(new ArrayList<>()); } else { bstat.setExprents(DecHelper.copyExprentList(stat.getExprents())); } stat.getParent().replaceStatement(stat, bstat); }
sequence.setAllParent(); stat.getParent().replaceStatement(stat, sequence); stat.getParent().replaceStatement(stat, st); stat = st;
parent.replaceStatement(stat, newstat);
private static void removeParameterCheck(Statement stat) { Statement st = stat.getFirst(); while (st.type == Statement.TYPE_SEQUENCE) { st = st.getFirst(); } IfStatement ifstat = (IfStatement)st; if (ifstat.getElsestat() != null) { // if - else StatEdge ifedge = ifstat.getIfEdge(); StatEdge elseedge = ifstat.getElseEdge(); Statement ifbranch = ifstat.getIfstat(); Statement elsebranch = ifstat.getElsestat(); ifstat.getFirst().removeSuccessor(ifedge); ifstat.getFirst().removeSuccessor(elseedge); ifstat.getStats().removeWithKey(ifbranch.id); ifstat.getStats().removeWithKey(elsebranch.id); if (!ifbranch.getAllSuccessorEdges().isEmpty()) { ifbranch.removeSuccessor(ifbranch.getAllSuccessorEdges().get(0)); } ifstat.getParent().replaceStatement(ifstat, elsebranch); ifstat.getParent().setAllParent(); } }
ifparent.getParent().replaceStatement(ifparent, elsebranch); ifparent.getParent().setAllParent();
ca.getParent().replaceStatement(ca, sync); found = true; break;
loop.getParent().replaceStatement(loop, block); block.setAllParent();
block.setAllParent(); parent.replaceStatement(source, block);
ifstat.getParent().replaceStatement(ifstat, newseq); newseq.setAllParent();
block.setAllParent(); parent.replaceStatement(stat, block);
first.getParent().replaceStatement(first, firstif.getIfstat());
public void replaceStatement(Statement oldstat, Statement newstat) { if (handler == oldstat) { handler = newstat; } super.replaceStatement(oldstat, newstat); }
public void replaceStatement(Statement oldstat, Statement newstat) { if (body == oldstat) { body = newstat; } super.replaceStatement(oldstat, newstat); }
public void replaceStatement(Statement oldstat, Statement newstat) { for (int i = 0; i < caseStatements.size(); i++) { if (caseStatements.get(i) == oldstat) { caseStatements.set(i, newstat); } } super.replaceStatement(oldstat, newstat); }
public static void destroyAndFlattenStatement(Statement stat) { destroyStatementContent(stat, false); BasicBlockStatement bstat = new BasicBlockStatement(new BasicBlock( DecompilerContext.getCounterContainer().getCounterAndIncrement(CounterContainer.STATEMENT_COUNTER))); if (stat.getExprents() == null) { bstat.setExprents(new ArrayList<>()); } else { bstat.setExprents(DecHelper.copyExprentList(stat.getExprents())); } stat.getParent().replaceStatement(stat, bstat); }