/** * Called by the {@link AMutexSyncDeclIR} node from {@link AMutexSyncDeclIR#apply(IAnalysis)}. * @param node the calling {@link AMutexSyncDeclIR} node */ public void caseAMutexSyncDeclIR(AMutexSyncDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAMutexSyncDeclIR(node); { List<SNameIR> copy = new ArrayList<SNameIR>(node.getOpnames()); for( SNameIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAMutexSyncDeclIR(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; }
/** * 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) ); }
e.apply(this);
/** * Creates a new complete constructor {@code AMutexSyncDeclIR} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param opnames_ the {@link NodeList} node for the {@code opnames} child of this {@link AMutexSyncDeclIR} node */ public AMutexSyncDeclIR(SourceNode sourceNode_, Object tag_, List<? extends ClonableString> metaData_, List<? extends SNameIR> opnames_) { super(sourceNode_,tag_,metaData_); this.setOpnames(opnames_); }
/** * Essentially this.toString().equals(o.toString()). **/ @Override public boolean equals(Object o) { if (o != null && o instanceof AMutexSyncDeclIR) { return toString().equals(o.toString()); } return false; }
e.apply(this, question);
/** * Creates a new tree field only constructor {@code AMutexSyncDeclIR TAG=mutexSync} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param opnames_ the {@link NodeList} node for the {@code opnames} child of this {@link AMutexSyncDeclIR} node */ public AMutexSyncDeclIR(List<? extends SNameIR> opnames_) { super(null,null,null); this.setOpnames(opnames_); }
e.apply(this);
/** * Called by the {@link AMutexSyncDeclIR} node from {@link AMutexSyncDeclIR#apply(IIsaAnalysis)}. * @param node the calling {@link AMutexSyncDeclIR} node */ public void caseAMutexSyncDeclIR(AMutexSyncDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAMutexSyncDeclIR(node); { List<SNameIR> copy = new ArrayList<SNameIR>(node.getOpnames()); for( SNameIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAMutexSyncDeclIR(node); }
/** * 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; }
e.apply(this, question);
/** * Called by the {@link AMutexSyncDeclIR} node from {@link AMutexSyncDeclIR#apply(IAnalysis)}. * @param node the calling {@link AMutexSyncDeclIR} node */ public void caseAMutexSyncDeclIR(AMutexSyncDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inAMutexSyncDeclIR(node, question); { List<SNameIR> copy = new ArrayList<SNameIR>(node.getOpnames()); for( SNameIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outAMutexSyncDeclIR(node, question); }
e.apply(this);
/** * Called by the {@link AMutexSyncDeclIR} node from {@link AMutexSyncDeclIR#apply(IAnalysis)}. * @param node the calling {@link AMutexSyncDeclIR} node */ public A caseAMutexSyncDeclIR(AMutexSyncDeclIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAMutexSyncDeclIR(node)); { List<SNameIR> copy = new ArrayList<SNameIR>(node.getOpnames()); for( SNameIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } mergeReturns(retVal,outAMutexSyncDeclIR(node)); return retVal; }
e.apply(this);
/** * Called by the {@link AMutexSyncDeclIR} node from {@link AMutexSyncDeclIR#apply(IAnalysis)}. * @param node the calling {@link AMutexSyncDeclIR} node */ public A caseAMutexSyncDeclIR(AMutexSyncDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAMutexSyncDeclIR(node, question)); { List<SNameIR> copy = new ArrayList<SNameIR>(node.getOpnames()); for( SNameIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } mergeReturns(retVal,outAMutexSyncDeclIR(node, question)); return retVal; }
e.apply(this);
if (mutex.getOpnames().size() == 1) perpred.setOpname(mutex.getOpnames().getFirst().toString()); histcount.setOpsname(mutex.getOpnames().getFirst().toString()); histcount.setType(new AIntNumericBasicTypeIR()); for (SNameIR operation : mutex.getOpnames()) firsthistcount.setHistype(concPrefixes.activeHistOpTypeName()); firsthistcount.setSentinelType(innerclass.clone()); firsthistcount.setOpsname(mutex.getOpnames().getFirst().toString()); firsthistcount.setType(new AIntNumericBasicTypeIR()); addition1 = addedhistcounter; for (int i = 1; i < mutex.getOpnames().size() - 1; i++) String nextOpName = mutex.getOpnames().get(i).toString(); String lastOpName = mutex.getOpnames().getLast().toString();
e.apply(this, question);