/** * Creates a deep clone of this {@link ASetCompAddStmIR} 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 ASetCompAddStmIR} node */ public ASetCompAddStmIR clone(Map<INode,INode> oldToNewMap) { ASetCompAddStmIR node = new ASetCompAddStmIR( _sourceNode, _tag, _metaData, cloneNode(_set, oldToNewMap), cloneNode(_element, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link ASetCompAddStmIR} node. * @return a deep clone of this {@link ASetCompAddStmIR} node */ public ASetCompAddStmIR clone() { return new ASetCompAddStmIR( _sourceNode, _tag, _metaData, cloneNode(_set), cloneNode(_element) ); }
@Override protected List<SStmIR> getConditionalAdd(AIdentifierVarExpIR setVar, List<SPatternIR> patterns, SPatternIR pattern) { AIdentifierVarExpIR setCompResult = new AIdentifierVarExpIR(); setCompResult.setType(compType.clone()); setCompResult.setName(idPattern.getName()); setCompResult.setIsLambda(false); setCompResult.setIsLocal(true); ASetCompAddStmIR add = new ASetCompAddStmIR(); add.setSet(setCompResult); add.setElement(first.clone()); return consConditionalAdd(setCompResult, add); } }