/** * Creates a deep clone of this {@link AFunctionExportIR} 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 AFunctionExportIR} node */ public AFunctionExportIR clone(Map<INode,INode> oldToNewMap) { AFunctionExportIR node = new AFunctionExportIR( _sourceNode, _tag, _metaData, cloneList(_decl, oldToNewMap), cloneList(_nameList, oldToNewMap), _exportType ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link AFunctionExportIR} node. * @return a deep clone of this {@link AFunctionExportIR} node */ public AFunctionExportIR clone() { return new AFunctionExportIR( _sourceNode, _tag, _metaData, cloneList(_decl), cloneList(_nameList), _exportType ); }
@Override public SExportIR caseAFunctionExport(AFunctionExport node, IRInfo question) throws AnalysisException { AFunctionExportIR funcExportCg = new AFunctionExportIR(); funcExportCg.setNameList(consNames(node.getNameList())); funcExportCg.setExportType(consExportType(node.getExportType(), question)); return addDecl(node, funcExportCg, question); }