public ValueBindingObligation(PPattern pattern, PType type, PExp exp,
IPOContextStack ctxt, IPogAssistantFactory af)
throws AnalysisException
{
super(pattern, POType.VALUE_BINDING, ctxt, pattern.getLocation(), af);
AExistsExp existsExp = new AExistsExp();
List<PPattern> patternList = new Vector<PPattern>();
patternList.add(pattern.clone());
ATypeMultipleBind typeBind = new ATypeMultipleBind();
typeBind.setPlist(patternList);
typeBind.setType(type.clone());
List<PMultipleBind> bindList = new Vector<PMultipleBind>();
bindList.add(typeBind);
existsExp.setBindList(bindList);
AEqualsBinaryExp equals = AstExpressionFactory.newAEqualsBinaryExp(patternToExp(pattern.clone()), exp.clone());
existsExp.setPredicate(equals);
stitch = existsExp;
valuetree.setPredicate(ctxt.getPredWithContext(existsExp));
}
}