public void typeCheck(List<PTraceDefinition> term, IQuestionAnswer<TypeCheckInfo, PType> rootVisitor, TypeCheckInfo question) throws AnalysisException { for (PTraceDefinition def : term) { def.apply(rootVisitor, question); } }
@Override public ILexLocation defaultPTraceDefinition(PTraceDefinition node) throws AnalysisException { return node.getLocation(); }
/** * Sets the {@code _body} child of this {@link ALetDefBindingTraceDefinition} node. * @param value the new {@code _body} child of this {@link ALetDefBindingTraceDefinition} node */ public void setBody(PTraceDefinition value) { if (this._body != null) { this._body.parent(null); } if (value != null) { if (value.parent() != null) { value.parent().removeChild(value); } value.parent(this); } this._body = value; }
public String toString() { return (_localDefs!=null?_localDefs.toString():this.getClass().getSimpleName())+ (_body!=null?_body.toString():this.getClass().getSimpleName()); }
public String toString() { return (_bind!=null?_bind.toString():this.getClass().getSimpleName())+ (_stexp!=null?_stexp.toString():this.getClass().getSimpleName())+ (_body!=null?_body.toString():this.getClass().getSimpleName())+ (_def!=null?_def.toString():this.getClass().getSimpleName()); }
public PType defaultPTraceDefinition(PTraceDefinition node, TypeCheckInfo question) throws AnalysisException { return node.apply(tcDefinition, question); }
/** * Sets the {@code _body} child of this {@link ALetBeStBindingTraceDefinition} node. * @param value the new {@code _body} child of this {@link ALetBeStBindingTraceDefinition} node */ public void setBody(PTraceDefinition value) { if (this._body != null) { this._body.parent(null); } if (value != null) { if (value.parent() != null) { value.parent().removeChild(value); } value.parent(this); } this._body = value; }
@Override public PType caseAConcurrentExpressionTraceCoreDefinition( AConcurrentExpressionTraceCoreDefinition node, TypeCheckInfo question) throws AnalysisException { for (PTraceDefinition d : node.getDefs()) { d.apply(THIS, question); } return null; }
@Override public TraceNode caseATraceDefinitionTerm(ATraceDefinitionTerm node, Context question) throws AnalysisException { AlternativeTraceNode newNode = new AlternativeTraceNode(); for (PTraceDefinition term : node.getList()) { newNode.alternatives.add(term.apply(THIS, question)); // newNode.alternatives.add(PTraceDefinitionAssistantInterpreter.expand(term, ctxt)); } return newNode; }
@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; }
@Override public PType caseABracketedExpressionTraceCoreDefinition( ABracketedExpressionTraceCoreDefinition node, TypeCheckInfo question) throws AnalysisException { for (ATraceDefinitionTerm term : node.getTerms()) { for (PTraceDefinition def : term.getList()) { def.apply(THIS, question); } } return null; }
/** * 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 ATraceDefinitionTerm} node from {@link ATraceDefinitionTerm#apply(IAnalysis)}. * @param node the calling {@link ATraceDefinitionTerm} node */ public void caseATraceDefinitionTerm(ATraceDefinitionTerm node, Q question) throws AnalysisException { _visitedNodes.add(node); inATraceDefinitionTerm(node, question); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getList()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outATraceDefinitionTerm(node, question); }
/** * Called by the {@link ATraceDefinitionTerm} node from {@link ATraceDefinitionTerm#apply(IAnalysis)}. * @param node the calling {@link ATraceDefinitionTerm} node */ public void caseATraceDefinitionTerm(ATraceDefinitionTerm node) throws AnalysisException { _visitedNodes.add(node); inATraceDefinitionTerm(node); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getList()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outATraceDefinitionTerm(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); }
/** * 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); }
/** * Called by the {@link ATraceDefinitionTerm} node from {@link ATraceDefinitionTerm#apply(IPOFAnalysis)}. * @param node the calling {@link ATraceDefinitionTerm} node */ public void caseATraceDefinitionTerm(ATraceDefinitionTerm node) throws AnalysisException { _visitedNodes.add(node); inATraceDefinitionTerm(node); { List<PTraceDefinition> copy = new ArrayList<PTraceDefinition>(node.getList()); for( PTraceDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outATraceDefinitionTerm(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; } }
@Override public STermIR caseATraceDefinitionTerm(ATraceDefinitionTerm node, IRInfo question) throws AnalysisException { ATraceDeclTermIR termCg = new ATraceDeclTermIR(); for (PTraceDefinition traceDef : node.getList()) { STraceDeclIR traceDefCg = traceDef.apply(question.getTraceDeclVisitor(), question); if (traceDefCg != null) { termCg.getTraceDecls().add(traceDefCg); } else { return null; } } return termCg; } }
/** * Called by the {@link ALetDefBindingTraceDefinition} node from {@link ALetDefBindingTraceDefinition#apply(IAnalysis)}. * @param node the calling {@link ALetDefBindingTraceDefinition} node */ public void caseALetDefBindingTraceDefinition(ALetDefBindingTraceDefinition node) throws AnalysisException { _visitedNodes.add(node); inALetDefBindingTraceDefinition(node); { List<PDefinition> copy = new ArrayList<PDefinition>(node.getLocalDefs()); for( PDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } if(node.getBody() != null && !_visitedNodes.contains(node.getBody())) { node.getBody().apply(this); } outALetDefBindingTraceDefinition(node); }