/** * Creates a deep clone of this {@link AIfStm} 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 AIfStm} node */ public AIfStm clone(Map<INode,INode> oldToNewMap) { AIfStm node = new AIfStm( _location, _type, cloneNode(_ifExp, oldToNewMap), cloneNode(_thenStm, oldToNewMap), cloneList(_elseIf, oldToNewMap), cloneNode(_elseStm, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link AIfStm} node. * @return a deep clone of this {@link AIfStm} node */ public AIfStm clone() { return new AIfStm( _location, _type, cloneNode(_ifExp), cloneNode(_thenStm), cloneList(_elseIf), cloneNode(_elseStm) ); }
public static AIfStm newAIfStm(ILexLocation token, PExp ifExp, PStm thenStmt, List<AElseIfStm> elseIfList, PStm elseStmt) { AIfStm result = new AIfStm(); initStatement(result, token); result.setIfExp(ifExp); result.setThenStm(thenStmt); result.setElseIf(elseIfList); result.setElseStm(elseStmt); return result; }