/** * Called by the {@link ASeqCompSeqExp} node from {@link ASeqCompSeqExp#apply(IAnalysis)}. * @param node the calling {@link ASeqCompSeqExp} node */ public void caseASeqCompSeqExp(ASeqCompSeqExp node) throws AnalysisException { _visitedNodes.add(node); inASeqCompSeqExp(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getFirst() != null && !_visitedNodes.contains(node.getFirst())) { node.getFirst().apply(this); } if(node.getSetBind() != null && !_visitedNodes.contains(node.getSetBind())) { node.getSetBind().apply(this); } if(node.getSeqBind() != null && !_visitedNodes.contains(node.getSeqBind())) { node.getSeqBind().apply(this); } if(node.getPredicate() != null && !_visitedNodes.contains(node.getPredicate())) { node.getPredicate().apply(this); } outASeqCompSeqExp(node); }
/** * Called by the {@link ASeqCompSeqExp} node from {@link ASeqCompSeqExp#apply(IAnalysis)}. * @param node the calling {@link ASeqCompSeqExp} node */ public void caseASeqCompSeqExp(ASeqCompSeqExp node, Q question) throws AnalysisException { _visitedNodes.add(node); inASeqCompSeqExp(node, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this, question); } if(node.getFirst() != null && !_visitedNodes.contains(node.getFirst())) { node.getFirst().apply(this, question); } if(node.getSetBind() != null && !_visitedNodes.contains(node.getSetBind())) { node.getSetBind().apply(this, question); } if(node.getSeqBind() != null && !_visitedNodes.contains(node.getSeqBind())) { node.getSeqBind().apply(this, question); } if(node.getPredicate() != null && !_visitedNodes.contains(node.getPredicate())) { node.getPredicate().apply(this, question); } outASeqCompSeqExp(node, question); }
/** * Called by the {@link ASeqCompSeqExp} node from {@link ASeqCompSeqExp#apply(IPOFAnalysis)}. * @param node the calling {@link ASeqCompSeqExp} node */ public void caseASeqCompSeqExp(ASeqCompSeqExp node) throws AnalysisException { _visitedNodes.add(node); inASeqCompSeqExp(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getFirst() != null && !_visitedNodes.contains(node.getFirst())) { node.getFirst().apply(this); } if(node.getSetBind() != null && !_visitedNodes.contains(node.getSetBind())) { node.getSetBind().apply(this); } if(node.getSeqBind() != null && !_visitedNodes.contains(node.getSeqBind())) { node.getSeqBind().apply(this); } if(node.getPredicate() != null && !_visitedNodes.contains(node.getPredicate())) { node.getPredicate().apply(this); } outASeqCompSeqExp(node); }
@Override public LexNameList caseAEqualsDefinition(AEqualsDefinition def) throws AnalysisException { LexNameList list = af.createPExpAssistant().getOldNames(def.getTest()); if (def.getSetbind() != null) { list.addAll(def.getSetbind().apply(this)); } else if (def.getSeqbind() != null) { list.addAll(def.getSeqbind().apply(this)); } return list; }
mergeReturns(retVal,node.getSeqBind().apply(this));
mergeReturns(retVal,node.getSeqBind().apply(this, question));
node.getSeqbind().apply(this);
node.getSeqbind().apply(this);
node.getSeqbind().apply(this, question);
mergeReturns(retVal,node.getSeqbind().apply(this, question));
mergeReturns(retVal,node.getSeqbind().apply(this));
@Override public LexNameList caseASeqCompSeqExp(ASeqCompSeqExp expression) throws AnalysisException { LexNameList list = af.createPExpAssistant().getOldNames(expression.getFirst()); if (expression.getSetBind() != null) { list.addAll(expression.getSetBind().apply(this)); } else { list.addAll(expression.getSeqBind().apply(this)); } if (expression.getPredicate() != null) { list.addAll(af.createPExpAssistant().getOldNames(expression.getPredicate())); } return list; }
@Override public IProofObligationList caseASeqCompSeqExp(ASeqCompSeqExp node, IPOContextStack question) throws AnalysisException { IProofObligationList obligations = new ProofObligationList(); PExp first = node.getFirst(); question.push(new POForAllPredicateContext(node, aF)); obligations.addAll(first.apply(mainVisitor, question)); question.pop(); if (node.getSetBind() != null) { obligations.addAll(node.getSetBind().apply(rootVisitor, question)); } else { obligations.addAll(node.getSeqBind().apply(rootVisitor, question)); } PExp predicate = node.getPredicate(); if (predicate != null) { question.push(new POForAllContext(node, aF)); obligations.addAll(predicate.apply(mainVisitor, question)); question.pop(); } return obligations; }
@Override public LexNameSet caseASeqCompSeqExp(ASeqCompSeqExp node, FreeVarInfo info) throws AnalysisException { FreeVarInfo local = null; LexNameSet names = new LexNameSet(); // Note "first" is conditional if (node.getSeqBind() != null) { PDefinition def = AstFactory.newAMultiBindListDefinition(node.getLocation(), af.createPBindAssistant().getMultipleBindList(node.getSeqBind())); def.parent(node.getSeqBind()); local = info.set(new FlatEnvironment(af, def, info.env)); names.addAll(node.getSeqBind().apply(this, local)); } else if (node.getSetBind() != null) { PDefinition def = AstFactory.newAMultiBindListDefinition(node.getLocation(), af.createPBindAssistant().getMultipleBindList(node.getSetBind())); def.parent(node.getSetBind()); local = info.set(new FlatEnvironment(af, def, info.env)); names.addAll(node.getSetBind().apply(this, local)); } if (node.getPredicate() != null) { node.getPredicate().apply(this, local); } return names; }
SBindIR bindTempCg = seqBind.apply(question.getBindVisitor(), question);