/** * Creates a deep clone of this {@link AVarDeclIR} 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 AVarDeclIR} node */ public AVarDeclIR clone(Map<INode,INode> oldToNewMap) { AVarDeclIR node = new AVarDeclIR( _sourceNode, _tag, _metaData, _final, cloneNode(_type, oldToNewMap), cloneNode(_pattern, oldToNewMap), cloneNode(_exp, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link AVarDeclIR} node. * @return a deep clone of this {@link AVarDeclIR} node */ public AVarDeclIR clone() { return new AVarDeclIR( _sourceNode, _tag, _metaData, _final, cloneNode(_type), cloneNode(_pattern), cloneNode(_exp) ); }
public AVarDeclIR consLocalVarDecl(INode node, STypeIR type, SPatternIR pattern, SExpIR exp) { AVarDeclIR localVarDecl = new AVarDeclIR(); localVarDecl.setType(type); localVarDecl.setFinal(false); localVarDecl.setSourceNode(node != null ? new SourceNode(node) : null); localVarDecl.setPattern(pattern); localVarDecl.setExp(exp); return localVarDecl; }