/** * Creates a deep clone of this {@link ASeqBindIR} 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 ASeqBindIR} node */ public ASeqBindIR clone(Map<INode,INode> oldToNewMap) { ASeqBindIR node = new ASeqBindIR( _sourceNode, _tag, _metaData, cloneNode(_pattern, oldToNewMap), cloneNode(_seq, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link ASeqBindIR} node. * @return a deep clone of this {@link ASeqBindIR} node */ public ASeqBindIR clone() { return new ASeqBindIR( _sourceNode, _tag, _metaData, cloneNode(_pattern), cloneNode(_seq) ); }
@Override public SBindIR caseASeqBind(ASeqBind node, IRInfo question) throws AnalysisException { PPattern pattern = node.getPattern(); SPatternIR patternCg = pattern.apply(question.getPatternVisitor(), question); PExp seq = node.getSeq(); SExpIR seqCg = seq.apply(question.getExpVisitor(), question); ASeqBindIR seqBind = new ASeqBindIR(); seqBind.setPattern(patternCg); seqBind.setSeq(seqCg); return seqBind; } }