@Override public Boolean caseAMapPattern(AMapPattern pattern) throws AnalysisException { for (AMapletPatternMaplet p : pattern.getMaplets()) { if (p.apply(THIS)) { return true; } } return false; }
@Override public Boolean caseAMapPattern(AMapPattern pattern) throws AnalysisException { for (AMapletPatternMaplet mp : pattern.getMaplets()) { // if (!AMapletPatternMapletAssistantTC.isSimple(mp)) // Original code. if (!mp.apply(THIS)) { return false; } } return true; }
@Override public void caseAMapPattern(AMapPattern pattern) throws AnalysisException { for (AMapletPatternMaplet mp : pattern.getMaplets()) { // af.createAMapletPatternMapletAssistant().unResolve(mp); mp.apply(THIS); } pattern.setResolved(false); }
public PExp caseAMapPattern(AMapPattern node) throws AnalysisException { AMapEnumMapExp map = new AMapEnumMapExp(); List<AMapletExp> values = new Vector<AMapletExp>(); for (AMapletPatternMaplet p : node.getMaplets()) { values.add((AMapletExp) p.apply(this).clone()); } map.setMembers(values); return addPossibleType(map, node); }
/** * Called by the {@link AMapPattern} node from {@link AMapPattern#apply(IAnalysis)}. * @param node the calling {@link AMapPattern} node */ public void caseAMapPattern(AMapPattern node) throws AnalysisException { _visitedNodes.add(node); inAMapPattern(node); { List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefinitions()); for( PDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } { List<AMapletPatternMaplet> copy = new ArrayList<AMapletPatternMaplet>(node.getMaplets()); for( AMapletPatternMaplet e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAMapPattern(node); }
/** * Called by the {@link AMapPattern} node from {@link AMapPattern#apply(IPOFAnalysis)}. * @param node the calling {@link AMapPattern} node */ public void caseAMapPattern(AMapPattern node) throws AnalysisException { _visitedNodes.add(node); inAMapPattern(node); { List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefinitions()); for( PDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } { List<AMapletPatternMaplet> copy = new ArrayList<AMapletPatternMaplet>(node.getMaplets()); for( AMapletPatternMaplet e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAMapPattern(node); }
/** * Called by the {@link AMapPattern} node from {@link AMapPattern#apply(IAnalysis)}. * @param node the calling {@link AMapPattern} node */ public void caseAMapPattern(AMapPattern node, Q question) throws AnalysisException { _visitedNodes.add(node); inAMapPattern(node, question); { List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefinitions()); for( PDefinition e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } { List<AMapletPatternMaplet> copy = new ArrayList<AMapletPatternMaplet>(node.getMaplets()); for( AMapletPatternMaplet e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outAMapPattern(node, question); }
mergeReturns(retVal,e.apply(this));
mergeReturns(retVal,e.apply(this, question));
@Override public void caseAMapPattern(AMapPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { for (AMapletPatternMaplet mp : pattern.getMaplets()) { // af.createAMapletPatternMapletAssistant().typeResolve(mp, question.rootVisitor, question.question); mp.apply(THIS, question); } } catch (TypeCheckException e) { // af.createAMapPatternAssistant().unResolve(pattern); pattern.apply(af.getPatternUnresolver()); throw e; } }