/** * Returns a deep clone of this {@link AConcurrentExpressionTraceCoreDefinition} node. * @return a deep clone of this {@link AConcurrentExpressionTraceCoreDefinition} node */ public AConcurrentExpressionTraceCoreDefinition clone() { return new AConcurrentExpressionTraceCoreDefinition( _location, cloneList(_defs) ); }
/** * Creates a new complete constructor {@code AConcurrentExpressionTraceCoreDefinition} 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 defs_ the {@link NodeList} node for the {@code defs} child of this {@link AConcurrentExpressionTraceCoreDefinition} node */ public AConcurrentExpressionTraceCoreDefinition(ILexLocation location_, List<? extends PTraceDefinition> defs_) { super(location_); this.setDefs(defs_); }
/** * Essentially this.toString().equals(o.toString()). **/ @Override public boolean equals(Object o) { if (o != null && o instanceof AConcurrentExpressionTraceCoreDefinition) { return toString().equals(o.toString()); } return false; }
@Override public PType caseAConcurrentExpressionTraceCoreDefinition( AConcurrentExpressionTraceCoreDefinition node, TypeCheckInfo question) throws AnalysisException { for (PTraceDefinition d : node.getDefs()) { d.apply(THIS, question); } return null; }
public static AConcurrentExpressionTraceCoreDefinition newAConcurrentExpressionTraceCoreDefinition( ILexLocation location, List<PTraceDefinition> defs) { return new AConcurrentExpressionTraceCoreDefinition(location, defs); }
@Override public TraceNode caseAConcurrentExpressionTraceCoreDefinition( AConcurrentExpressionTraceCoreDefinition core, Context ctxt) throws AnalysisException { // return AConcurrentExpressionTraceCoreDefinitionAssistantInterpreter.expand(core, ctxt); ConcurrentTraceNode node = new ConcurrentTraceNode(); for (PTraceDefinition term : core.getDefs()) { // node.nodes.add(PTraceDefinitionAssistantInterpreter.expand(term, ctxt)); node.nodes.add(term.apply(THIS, ctxt)); } return node; }
/** * Called by the {@link AConcurrentExpressionTraceCoreDefinition} node from {@link AConcurrentExpressionTraceCoreDefinition#apply(IAnalysis)}. * @param node the calling {@link AConcurrentExpressionTraceCoreDefinition} node */ public void caseAConcurrentExpressionTraceCoreDefinition(AConcurrentExpressionTraceCoreDefinition node, Q question) throws AnalysisException { _visitedNodes.add(node); inAConcurrentExpressionTraceCoreDefinition(node, question); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getDefs()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outAConcurrentExpressionTraceCoreDefinition(node, question); }
/** * Creates a deep clone of this {@link AConcurrentExpressionTraceCoreDefinition} 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 AConcurrentExpressionTraceCoreDefinition} node */ public AConcurrentExpressionTraceCoreDefinition clone(Map<INode,INode> oldToNewMap) { AConcurrentExpressionTraceCoreDefinition node = new AConcurrentExpressionTraceCoreDefinition( _location, cloneList(_defs, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Called by the {@link AConcurrentExpressionTraceCoreDefinition} node from {@link AConcurrentExpressionTraceCoreDefinition#apply(IAnalysis)}. * @param node the calling {@link AConcurrentExpressionTraceCoreDefinition} node */ public void caseAConcurrentExpressionTraceCoreDefinition(AConcurrentExpressionTraceCoreDefinition node) throws AnalysisException { _visitedNodes.add(node); inAConcurrentExpressionTraceCoreDefinition(node); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getDefs()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAConcurrentExpressionTraceCoreDefinition(node); }
/** * Called by the {@link AConcurrentExpressionTraceCoreDefinition} node from {@link AConcurrentExpressionTraceCoreDefinition#apply(IPOFAnalysis)}. * @param node the calling {@link AConcurrentExpressionTraceCoreDefinition} node */ public void caseAConcurrentExpressionTraceCoreDefinition(AConcurrentExpressionTraceCoreDefinition node) throws AnalysisException { _visitedNodes.add(node); inAConcurrentExpressionTraceCoreDefinition(node); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getDefs()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAConcurrentExpressionTraceCoreDefinition(node); }
@Override public STraceCoreDeclIR caseAConcurrentExpressionTraceCoreDefinition( AConcurrentExpressionTraceCoreDefinition node, IRInfo question) throws AnalysisException { AConcurrentExpTraceCoreDeclIR concTraceCoreDecl = new AConcurrentExpTraceCoreDeclIR(); for (PTraceDefinition def : node.getDefs()) { STraceDeclIR traceDefCg = def.apply(question.getTraceDeclVisitor(), question); concTraceCoreDecl.getDecls().add(traceDefCg); } return concTraceCoreDecl; } }
/** * Called by the {@link AConcurrentExpressionTraceCoreDefinition} node from {@link AConcurrentExpressionTraceCoreDefinition#apply(IAnalysis)}. * @param node the calling {@link AConcurrentExpressionTraceCoreDefinition} node */ public A caseAConcurrentExpressionTraceCoreDefinition(AConcurrentExpressionTraceCoreDefinition node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAConcurrentExpressionTraceCoreDefinition(node, question)); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getDefs()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } mergeReturns(retVal,outAConcurrentExpressionTraceCoreDefinition(node, question)); return retVal; }
/** * Called by the {@link AConcurrentExpressionTraceCoreDefinition} node from {@link AConcurrentExpressionTraceCoreDefinition#apply(IAnalysis)}. * @param node the calling {@link AConcurrentExpressionTraceCoreDefinition} node */ public A caseAConcurrentExpressionTraceCoreDefinition(AConcurrentExpressionTraceCoreDefinition node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAConcurrentExpressionTraceCoreDefinition(node)); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getDefs()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } mergeReturns(retVal,outAConcurrentExpressionTraceCoreDefinition(node)); return retVal; }