/** * Returns a deep clone of this {@link AModuleDeclIR} node. * @return a deep clone of this {@link AModuleDeclIR} node */ public AModuleDeclIR clone() { return new AModuleDeclIR( _sourceNode, _tag, _metaData, _name, cloneNode(_import), cloneNode(_exports), cloneList(_decls), _isFlat, _isDLModule ); }
/** * Creates a deep clone of this {@link AModuleDeclIR} 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 AModuleDeclIR} node */ public AModuleDeclIR clone(Map<INode,INode> oldToNewMap) { AModuleDeclIR node = new AModuleDeclIR( _sourceNode, _tag, _metaData, _name, cloneNode(_import, oldToNewMap), cloneNode(_exports, oldToNewMap), cloneList(_decls, oldToNewMap), _isFlat, _isDLModule ); oldToNewMap.put(this, node); return node; }