@Override public void caseACaseAlternativeStm(ACaseAlternativeStm node) throws AnalysisException { if (!proceed(node)) { return; } handleCase(node.getDefs(), node.getPattern(), node.getResult()); }
List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getDefs()); for( PDefinition e : copy)
if (node.getDefs().size() == 0) node.getDefs().addAll(question.assistantFactory.createPPatternAssistant().getDefinitions(node.getPattern(), stm.getExp().getType(), NameScope.LOCAL)); question.assistantFactory.createPDefinitionListAssistant().typeCheck(node.getDefs(), THIS, question); Environment local = new FlatCheckedEnvironment(question.assistantFactory, node.getDefs(), question.env, question.scope); PType r = node.getResult().apply(THIS, new TypeCheckInfo(question.assistantFactory, local, question.scope, null, null, question.returnType)); local.unusedCheck();