if(node.getExpType() != null && !_visitedNodes.contains(node.getExpType())) node.getExpType().apply(this);
if(node.getExpType() != null && !_visitedNodes.contains(node.getExpType())) node.getExpType().apply(this, question);
if(node.getExpType() != null && !_visitedNodes.contains(node.getExpType())) node.getExpType().apply(this);
if(node.getExpType() != null && !_visitedNodes.contains(node.getExpType())) mergeReturns(retVal,node.getExpType().apply(this));
if(node.getExpType() != null && !_visitedNodes.contains(node.getExpType())) mergeReturns(retVal,node.getExpType().apply(this, question));
public IProofObligationList caseAInstanceVariableDefinition( AInstanceVariableDefinition node, IPOContextStack question) throws AnalysisException { try { IProofObligationList obligations = new ProofObligationList(); PExp expression = node.getExpression(); PType type = node.getType(); PType expType = node.getExpType(); obligations.addAll(expression.apply(rootVisitor, question)); if (!assistantFactory.getTypeComparator().isSubType(question.checkType(expression, expType), type)) { TypeCompatibilityObligation sto = TypeCompatibilityObligation.newInstance(expression, type, expType, question, assistantFactory); if (sto != null) { obligations.add(sto); } } return obligations; } catch (Exception e) { throw new POException(node, e.getMessage()); } }
node.setType(question.assistantFactory.createPTypeAssistant().typeResolve(question.assistantFactory.createPDefinitionAssistant().getType(node), null, THIS, question)); if (node.getExpType() instanceof AVoidType) if (!question.assistantFactory.getTypeComparator().compatible(question.assistantFactory.createPDefinitionAssistant().getType(node), node.getExpType())) TypeCheckerErrors.detail2("Declared", question.assistantFactory.createPDefinitionAssistant().getType(node), "Expression", node.getExpType());