public AExplicitFunctionDefinition getPostDefinition( AImplicitFunctionDefinition d) { List<List<PPattern>> parameters = getParamPatternList(d); parameters.get(0).add(d.getResult().getPattern().clone()); @SuppressWarnings("unchecked") AExplicitFunctionDefinition def = AstFactory.newAExplicitFunctionDefinition(d.getName().getPostName(d.getPostcondition().getLocation()), NameScope.GLOBAL, (List<ILexNameToken>) d.getTypeParams().clone(), af.createAFunctionTypeAssistant().getPostType((AFunctionType) d.getType()), parameters, d.getPostcondition(), null, null, false, null); def.setAccess(d.getAccess().clone()); def.setClassDefinition(d.getClassDefinition()); return def; }
public static String getImplicitFunctionString(AImplicitFunctionDefinition d) { return d.getAccess() + " " + d.getName().getName() + (d.getTypeParams().isEmpty() ? "" : "[" + getTypeListString(d.getTypeParams()) + "]") + Utils.listToString("(", getString(d.getParamPatterns()), ", ", ")") + d.getResult() + (d.getBody() == null ? "" : " ==\n\t" + d.getBody()) + (d.getPrecondition() == null ? "" : "\n\tpre " + d.getPrecondition()) + (d.getPostcondition() == null ? "" : "\n\tpost " + d.getPostcondition()); }
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) node.getPostcondition().apply(this, question);
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) node.getPostcondition().apply(this);
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) node.getPostcondition().apply(this);
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) mergeReturns(retVal,node.getPostcondition().apply(this, question));
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) mergeReturns(retVal,node.getPostcondition().apply(this));
@Override public void caseAImplicitFunctionDefinition( AImplicitFunctionDefinition node, Environment question) throws AnalysisException { if (node.getPrecondition() != null) { node.setPredef(af.createAImplicitFunctionDefinitionAssistant().getPreDefinition(node)); af.createPDefinitionAssistant().markUsed(node.getPredef()); // af.createPDefinitionAssistant().markUsed(node.getPredef()); } else { node.setPredef(null); } if (node.getPostcondition() != null) { node.setPostdef(af.createAImplicitFunctionDefinitionAssistant().getPostDefinition(node)); af.createPDefinitionAssistant().markUsed(node.getPostdef()); } else { node.setPostdef(null); } }
if (node.getPostcondition() != null) obligations.addAll(node.getPostcondition().apply(rootVisitor, question)); question.pop(); if (node.getPostcondition() != null)
if (node.getPostcondition() != null)