public static String getImplicitOperationString( AImplicitOperationDefinition d) { return d.getName() + Utils.listToString("(", d.getParameterPatterns(), ", ", ")") + (d.getResult() == null ? "" : " " + d.getResult()) + (d.getExternals().isEmpty() ? "" : "\n\text " + d.getExternals()) + (d.getPrecondition() == null ? "" : "\n\tpre " + d.getPrecondition()) + (d.getPostcondition() == null ? "" : "\n\tpost " + d.getPostcondition()) + (d.getErrors().isEmpty() ? "" : "\n\terrs " + d.getErrors()); }
public OperationPostConditionObligation(AImplicitOperationDefinition op, IPOContextStack ctxt, IPogAssistantFactory af) throws AnalysisException { super(op, POType.OP_POST_CONDITION, ctxt, op.getLocation(), af); stitch = buildExp(op.getPrecondition(), op.getPostcondition().clone(), op.clone().getErrors()); valuetree.setPredicate(ctxt.getPredWithContext(stitch)); }
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) node.getPostcondition().apply(this);
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);
PExp postop = AstFactory.newAPostOpExp(d.getName().clone(), d.getPrecondition(), d.getPostcondition(), d.getErrors(), d.getState()); AExplicitFunctionDefinition def = AstFactory.newAExplicitFunctionDefinition(d.getName().getPostName(d.getPostcondition().getLocation()), NameScope.GLOBAL, null, af.createAOperationTypeAssistant().getPostType((AOperationType) d.getType(), state, d.getClassDefinition(), af.createPAccessSpecifierAssistant().isStatic(d.getAccess())), parameters, postop, null, null, false, null);
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) mergeReturns(retVal,node.getPostcondition().apply(this));
if(node.getPostcondition() != null && !_visitedNodes.contains(node.getPostcondition())) mergeReturns(retVal,node.getPostcondition().apply(this, question));
@Override public void caseAImplicitOperationDefinition( AImplicitOperationDefinition node, Environment question) throws AnalysisException { node.setState(findStateDefinition(question, node)); if (node.getPrecondition() != null) { node.setPredef(af.createAImplicitOperationDefinitionAssistant().getPreDefinition(node, question)); af.createPDefinitionAssistant().markUsed(node.getPredef()); } if (node.getPostcondition() != null) { node.setPostdef(af.createAImplicitOperationDefinitionAssistant().getPostDefinition(node, question)); af.createPDefinitionAssistant().markUsed(node.getPostdef()); } }
if (node.getPostcondition() != null) obligations.addAll(node.getPostcondition().apply(rootVisitor, question)); question.pop(); } else obligations.addAll(node.getPostcondition().apply(rootVisitor, question)); if (node.getPostcondition() != null)
if (node.getPostcondition() != null)