ifparent.getStats().removeWithKey(ifchild.id);
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(); } }
ifelsestat.getStats().removeWithKey(ifstat.id);
firstif.setIfstat(second); firstif.getStats().addWithKey(second, second.id); second.setParent(firstif);
ifedge.getSource().changeEdgeType(Statement.DIRECTION_FORWARD, ifedge, StatEdge.TYPE_BREAK); ifedge.closure = loop; ifstat.getStats().removeWithKey(target.id);
ifparent.setIfstat(block); ifparent.getStats().addWithKey(block, block.id); block.setParent(ifparent);
ifstat.setElseEdge(elseedge); ifstat.getStats().addWithKey(stelse, stelse.id); stelse.setParent(ifstat); ifstat.getStats().removeWithKey(ifbranch.id); ifstat.setIfstat(null); ifstat.getStats().removeWithKey(ifbranch.id); ifstat.setIfEdge(newifedge); ifstat.getStats().addWithKey(stelse, stelse.id); stelse.setParent(ifstat);
ifst.setIfEdge(newedge); ifst.setIfstat(bstat); ifst.getStats().addWithKey(bstat, bstat.id); bstat.setParent(ifst);
ifparent.getStats().removeWithKey(ifchild.id);
private static void removeParameterCheck(Statement stat, StructMethod mt) { Statement st = stat.getFirst(); while (st.type == Statement.TYPE_SEQUENCE) { st = st.getFirst(); } IfStatement ifstat = (IfStatement)st; if (ifstat.getElsestat() == null) { // if // TODO: } else { // 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(); } }
ifelsestat.getStats().removeWithKey(ifstat.id);
firstif.setIfstat(second); firstif.getStats().addWithKey(second, second.id); second.setParent(firstif);
ifedge.getSource().changeEdgeType(Statement.DIRECTION_FORWARD, ifedge, StatEdge.TYPE_BREAK); ifedge.closure = loop; ifstat.getStats().removeWithKey(target.id);
ifparent.setIfstat(block); ifparent.getStats().addWithKey(block, block.id); block.setParent(ifparent);
ifstat.setElseEdge(elseedge); ifstat.getStats().addWithKey(stelse, stelse.id); stelse.setParent(ifstat); ifstat.getStats().removeWithKey(ifbranch.id); ifstat.setIfstat(null); ifstat.getStats().removeWithKey(ifbranch.id); ifstat.setIfEdge(newifedge); ifstat.getStats().addWithKey(stelse, stelse.id); stelse.setParent(ifstat);
ifst.setIfEdge(newedge); ifst.setIfstat(bstat); ifst.getStats().addWithKey(bstat, bstat.id); bstat.setParent(ifst);