throws AnalysisException
BreakpointManager.getBreakpoint(node).check(node.getLocation(), ctxt);
Value rv = null;
Context evalContext = new Context(ctxt.assistantFactory, node.getLocation(), "trap pattern", ctxt);
evalContext.putList(ctxt.assistantFactory.createPPatternAssistant().getNamedValues(node.getPatternBind().getPattern(), exval, ctxt));
rv = node.getWith().apply(VdmRuntime.getStatementEvaluator(), evalContext);
Context evalContext = new Context(ctxt.assistantFactory, node.getLocation(), "trap set", ctxt);
evalContext.putList(ctxt.assistantFactory.createPPatternAssistant().getNamedValues(setbind.getPattern(), exval, ctxt));
rv = node.getWith().apply(VdmRuntime.getStatementEvaluator(), evalContext);
Context evalContext = new Context(ctxt.assistantFactory, node.getLocation(), "trap seq", ctxt);
evalContext.putList(ctxt.assistantFactory.createPPatternAssistant().getNamedValues(seqbind.getPattern(), exval, ctxt));
rv = node.getWith().apply(VdmRuntime.getStatementEvaluator(), evalContext);
Context evalContext = new Context(ctxt.assistantFactory, node.getLocation(), "trap type", ctxt);
evalContext.putList(ctxt.assistantFactory.createPPatternAssistant().getNamedValues(typebind.getPattern(), converted, ctxt));
rv = node.getWith().apply(VdmRuntime.getStatementEvaluator(), evalContext);