@Override public IProofObligationList caseACallStm(ACallStm node, IPOContextStack question) throws AnalysisException { try { IProofObligationList obligations = new ProofObligationList(); for (PExp exp : node.getArgs()) { obligations.addAll(exp.apply(rootVisitor, question)); } // stick possible op post_condition in the context SOperationDefinitionBase calledOp = node.apply(new GetOpCallVisitor()); if (calledOp != null) { if (calledOp.getPrecondition() != null) { obligations.add(new OperationCallObligation(node, calledOp, question, aF)); } question.push(new OpPostConditionContext(calledOp.getPostdef(), node, calledOp, aF, question)); } return obligations; } catch (Exception e) { throw new POException(node, e.getMessage()); } }