public BasicBlockStatement getBasichead() { if (type == TYPE_BASICBLOCK) { return (BasicBlockStatement)this; } else { return first.getBasichead(); } }
public boolean hasBasicSuccEdge() { // FIXME: default switch return type == TYPE_BASICBLOCK || (type == TYPE_IF && ((IfStatement)this).iftype == IfStatement.IFTYPE_IF) || (type == TYPE_DO && ((DoStatement)this).getLooptype() != DoStatement.LOOP_DO); }
public void removePredecessor(StatEdge edge) { if (edge == null) { // FIXME: redundant? return; } removeEdgeInternal(DIRECTION_BACKWARD, edge); }
public List<StatEdge> getSuccessorEdges(int type) { return getEdges(type, DIRECTION_FORWARD); }
@Override public void replaceStatement(Statement oldstat, Statement newstat) { if (handler == oldstat) { handler = newstat; } super.replaceStatement(oldstat, newstat); }
@Override public Statement getSimpleCopy() { return new SequenceStatement(); } }
public void setAllParent() { for (Statement st : stats) { st.setParent(this); } }
@Override public Statement getSimpleCopy() { IfStatement is = new IfStatement(); is.iftype = this.iftype; is.negated = this.negated; return is; }
@Override public Statement getSimpleCopy() { return new DoStatement(); }
@Override public Statement getSimpleCopy() { return new SwitchStatement(); }
@Override public Statement getSimpleCopy() { return new SynchronizedStatement(); }
public void clearTempInformation() { post = null; continueSet = null; copied = false; // FIXME: used in FlattenStatementsHelper.flattenStatement()! check and remove //lastBasicType = LASTBASICTYPE_GENERAL; isMonitorEnter = false; containsMonitorExit = false; processMap(mapSuccEdges); processMap(mapPredEdges); processMap(mapSuccStates); processMap(mapPredStates); }
public List<Statement> getPostReversePostOrderList() { return getPostReversePostOrderList(null); }
public List<Statement> getReversePostOrderList() { return getReversePostOrderList(first); }
public boolean containsStatement(Statement stat) { return this == stat || containsStatementStrict(stat); }
public List<StatEdge> getAllSuccessorEdges() { return getEdges(STATEDGE_ALL, DIRECTION_FORWARD); }
@Override public void replaceStatement(Statement oldstat, Statement newstat) { if (body == oldstat) { body = newstat; } super.replaceStatement(oldstat, newstat); }
public List<StatEdge> getPredecessorEdges(int type) { return getEdges(type, DIRECTION_BACKWARD); }
public List<StatEdge> getAllPredecessorEdges() { return getEdges(STATEDGE_ALL, DIRECTION_BACKWARD); }