@Override public void caseAMapPattern(AMapPattern pattern) throws AnalysisException { for (AMapletPatternMaplet mp : pattern.getMaplets()) { // af.createAMapletPatternMapletAssistant().unResolve(mp); mp.apply(THIS); } pattern.setResolved(false); }
@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; } }