/** * Returns a deep clone of this {@link AMutexSyncDeclIR} node. * @return a deep clone of this {@link AMutexSyncDeclIR} node */ public AMutexSyncDeclIR clone() { return new AMutexSyncDeclIR( _sourceNode, _tag, _metaData, cloneList(_opnames) ); }
/** * Creates a deep clone of this {@link AMutexSyncDeclIR} 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 AMutexSyncDeclIR} node */ public AMutexSyncDeclIR clone(Map<INode,INode> oldToNewMap) { AMutexSyncDeclIR node = new AMutexSyncDeclIR( _sourceNode, _tag, _metaData, cloneList(_opnames, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
@Override public SDeclIR caseAMutexSyncDefinition(AMutexSyncDefinition node, IRInfo question) throws AnalysisException { LinkedList<ILexNameToken> operations = node.getOperations(); AMutexSyncDeclIR mutexdef = new AMutexSyncDeclIR(); for (ILexNameToken opname : operations) { ATokenNameIR token = new ATokenNameIR(); token.setName(opname.getName()); mutexdef.getOpnames().add(token); } return mutexdef; }