/** * Creates a deep clone of this {@link ACyclesStmIR} node while putting all * old node-new node relations in the map {@code oldToNewMap}. * @param oldToNewMap the map filled with the old node-new node relation * @return a deep clone of this {@link ACyclesStmIR} node */ public ACyclesStmIR clone(Map<INode,INode> oldToNewMap) { ACyclesStmIR node = new ACyclesStmIR( _sourceNode, _tag, _metaData, cloneNode(_cycles, oldToNewMap), cloneNode(_stm, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link ACyclesStmIR} node. * @return a deep clone of this {@link ACyclesStmIR} node */ public ACyclesStmIR clone() { return new ACyclesStmIR( _sourceNode, _tag, _metaData, cloneNode(_cycles), cloneNode(_stm) ); }
@Override public SStmIR caseACyclesStm(ACyclesStm node, IRInfo question) throws AnalysisException { PExp cycles = node.getCycles(); PStm stm = node.getStatement(); SExpIR cyclesCg = cycles.apply(question.getExpVisitor(), question); SStmIR stmCg = stm.apply(question.getStmVisitor(), question); ACyclesStmIR cycStm = new ACyclesStmIR(); cycStm.setCycles(cyclesCg); cycStm.setStm(stmCg); return cycStm; }