private AVarDeclIR consLocalVarDecl(AEqualsDefinition equalsDef, IRInfo question) throws AnalysisException { STypeIR type = equalsDef.getExpType().apply(question.getTypeVisitor(), question); SPatternIR pattern = equalsDef.getPattern().apply(question.getPatternVisitor(), question); SExpIR exp = equalsDef.getTest().apply(question.getExpVisitor(), question); return consLocalVarDecl(equalsDef, type, pattern, exp); }
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));
&& node.getExpType() instanceof AUnionType) AUnionType ut = (AUnionType) node.getExpType(); PTypeSet set = new PTypeSet(assistantFactory); if (!assistantFactory.getTypeComparator().isSubType(question.checkType(node.getTest(), node.getExpType()), compatible)) TypeCompatibilityObligation sto = TypeCompatibilityObligation.newInstance(node.getTest(), compatible, node.getExpType(), question, assistantFactory); if (sto != null) if (!assistantFactory.getTypeComparator().isSubType(question.checkType(node.getTest(), node.getExpType()), node.getDefType())) TypeCompatibilityObligation sto = TypeCompatibilityObligation.newInstance(node.getTest(), node.getDefType(), node.getExpType(), question, assistantFactory); if (sto != null)
node.setDefs(question.assistantFactory.createPPatternAssistant().getDefinitions(pattern, node.getExpType(), question.scope)); node.setDefType(node.getExpType()); ATypeBind typebind = node.getTypebind(); if (!question.assistantFactory.getTypeComparator().compatible(typebind.getType(), node.getExpType())) node.setDefType(node.getExpType()); if (!question.assistantFactory.getTypeComparator().compatible(node.getExpType(), setof)) node.setDefType(node.getExpType()); if (!question.assistantFactory.getTypeComparator().compatible(node.getExpType(), seqof))