@Override public ValueList caseAEqualsDefinition(AEqualsDefinition def, ObjectContext ctxt) throws AnalysisException { ValueList list = af.createPExpAssistant().getValues(def.getTest(), ctxt); if (def.getSetbind() != null) { list.addAll(af.createPBindAssistant().getBindValues(def.getSetbind(), ctxt, false)); } return list; }
@Override public LexNameList caseAEqualsDefinition(AEqualsDefinition def) throws AnalysisException { LexNameList list = af.createPExpAssistant().getOldNames(def.getTest()); if (def.getSetbind() != null) { list.addAll(def.getSetbind().apply(this)); } else if (def.getSeqbind() != null) { list.addAll(def.getSeqbind().apply(this)); } return list; }
if(node.getSetbind() != null && !_visitedNodes.contains(node.getSetbind())) node.getSetbind().apply(this);
if(node.getSetbind() != null && !_visitedNodes.contains(node.getSetbind())) node.getSetbind().apply(this);
if(node.getSetbind() != null && !_visitedNodes.contains(node.getSetbind())) node.getSetbind().apply(this, question);
if(node.getSetbind() != null && !_visitedNodes.contains(node.getSetbind())) mergeReturns(retVal,node.getSetbind().apply(this));
if(node.getSetbind() != null && !_visitedNodes.contains(node.getSetbind())) mergeReturns(retVal,node.getSetbind().apply(this, question));
else if (node.getSetbind() != null) PType st = node.getSetbind().getSet().apply(THIS, question); TypeCheckerErrors.report(3016, "Expression is not compatible with set bind", node.getSetbind().getLocation(), node.getSetbind()); question.assistantFactory.createPPatternAssistant().typeResolve(node.getSetbind().getPattern(), THIS, question); node.setDefs(question.assistantFactory.createPPatternAssistant().getDefinitions(node.getSetbind().getPattern(), node.getDefType(), question.scope));
else if (def.getSetbind() != null) ValueSet set = def.getSetbind().getSet().apply(VdmRuntime.getExpressionEvaluator(), initialContext).setValue(initialContext); nvpl = af.createPPatternAssistant().getNamedValues(def.getSetbind().getPattern(), v, initialContext);
else if (node.getSetbind() != null) ASetBind bind = node.getSetbind(); list.addAll(bind.getSet().apply(rootVisitor, question)); list.add(new SetMembershipObligation(bind.getPattern(), bind.getSet(), question, assistantFactory));