public void unResolve() { for (PPattern pPattern : this) { af.createPPatternAssistant().unResolve(pPattern); } }
public void unResolve(List<PPattern> pp) { for (PPattern pPattern : pp) { af.createPPatternAssistant().unResolve(pPattern); } }
@Override public void caseASeqPattern(ASeqPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { af.createPPatternListAssistant().typeResolve(pattern.getPlist(), question.rootVisitor, question.question); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseATuplePattern(ATuplePattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { af.createPPatternListAssistant().typeResolve(pattern.getPlist(), question.rootVisitor, question.question); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseASetPattern(ASetPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { af.createPPatternListAssistant().typeResolve(pattern.getPlist(), question.rootVisitor, question.question); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseAExpressionPattern(AExpressionPattern pattern, NewQuestion question) throws AnalysisException { // af.createAExpressionPatternAssistant().typeResolve(pattern, question.rootVisitor, question.question); // Have to ask how is it done. if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { question.question.qualifiers = null; question.question.scope = NameScope.NAMESANDSTATE; pattern.getExp().apply(new TypeCheckVisitor(), question.question); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseAConcatenationPattern(AConcatenationPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { pattern.getLeft().apply(THIS, question); pattern.getRight().apply(THIS, question); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseAUnionPattern(AUnionPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { pattern.getLeft().apply(THIS, question); pattern.getRight().apply(THIS, question); } catch (TypeCheckException e) { // AUnionPatternAssistantTC.unResolve(pattern); af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseARecordPattern(ARecordPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { af.createPPatternListAssistant().typeResolve(pattern.getPlist(), question.rootVisitor, question.question); pattern.setType(af.createPTypeAssistant().typeResolve(pattern.getType(), null, question.rootVisitor, question.question)); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }
@Override public void caseAObjectPattern(AObjectPattern pattern, NewQuestion question) throws AnalysisException { if (pattern.getResolved()) { return; } else { pattern.setResolved(true); } try { af.createPPatternListAssistant().typeResolvePairs(pattern.getFields(), question.rootVisitor, question.question); pattern.setType(af.createPTypeAssistant().typeResolve(pattern.getType(), null, question.rootVisitor, question.question)); } catch (TypeCheckException e) { af.createPPatternAssistant().unResolve(pattern); throw e; } }