@Override public PType caseASeqMultipleBind(ASeqMultipleBind mb) throws AnalysisException { return af.createPPatternListAssistant().getPossibleType(mb.getPlist(), mb.getLocation()); }
/** * Called by the {@link ASeqMultipleBind} node from {@link ASeqMultipleBind#apply(IAnalysis)}. * @param node the calling {@link ASeqMultipleBind} node */ public void caseASeqMultipleBind(ASeqMultipleBind node) throws AnalysisException { _visitedNodes.add(node); inASeqMultipleBind(node); { List<PPattern> copy = new ArrayList<PPattern>(node.getPlist()); for( PPattern e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } if(node.getSeq() != null && !_visitedNodes.contains(node.getSeq())) { node.getSeq().apply(this); } outASeqMultipleBind(node); }
/** * Called by the {@link ASeqMultipleBind} node from {@link ASeqMultipleBind#apply(IAnalysis)}. * @param node the calling {@link ASeqMultipleBind} node */ public void caseASeqMultipleBind(ASeqMultipleBind node, Q question) throws AnalysisException { _visitedNodes.add(node); inASeqMultipleBind(node, question); { List<PPattern> copy = new ArrayList<PPattern>(node.getPlist()); for( PPattern e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } if(node.getSeq() != null && !_visitedNodes.contains(node.getSeq())) { node.getSeq().apply(this, question); } outASeqMultipleBind(node, question); }
/** * Called by the {@link ASeqMultipleBind} node from {@link ASeqMultipleBind#apply(IPOFAnalysis)}. * @param node the calling {@link ASeqMultipleBind} node */ public void caseASeqMultipleBind(ASeqMultipleBind node) throws AnalysisException { _visitedNodes.add(node); inASeqMultipleBind(node); { List<PPattern> copy = new ArrayList<PPattern>(node.getPlist()); for( PPattern e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } if(node.getSeq() != null && !_visitedNodes.contains(node.getSeq())) { node.getSeq().apply(this); } outASeqMultipleBind(node); }
List<PPattern> patterns = node.getPlist(); PExp set = node.getSeq();
/** * Called by the {@link ASeqMultipleBind} node from {@link ASeqMultipleBind#apply(IAnalysis)}. * @param node the calling {@link ASeqMultipleBind} node */ public A caseASeqMultipleBind(ASeqMultipleBind node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inASeqMultipleBind(node, question)); { List<PPattern> copy = new ArrayList<PPattern>(node.getPlist()); for( PPattern e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } if(node.getSeq() != null && !_visitedNodes.contains(node.getSeq())) { mergeReturns(retVal,node.getSeq().apply(this, question)); } mergeReturns(retVal,outASeqMultipleBind(node, question)); return retVal; }
/** * Called by the {@link ASeqMultipleBind} node from {@link ASeqMultipleBind#apply(IAnalysis)}. * @param node the calling {@link ASeqMultipleBind} node */ public A caseASeqMultipleBind(ASeqMultipleBind node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inASeqMultipleBind(node)); { List<PPattern> copy = new ArrayList<PPattern>(node.getPlist()); for( PPattern e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } if(node.getSeq() != null && !_visitedNodes.contains(node.getSeq())) { mergeReturns(retVal,node.getSeq().apply(this)); } mergeReturns(retVal,outASeqMultipleBind(node)); return retVal; }
TypeCheckInfo question) throws AnalysisException question.assistantFactory.createPPatternListAssistant().typeResolve(node.getPlist(), THIS, question); question.qualifiers = null; PType type = node.getSeq().apply(THIS, question);