protected Value evalElseIf ( INode node , ILexLocation location , PExp test , INode then , Context ctxt ) throws AnalysisException { BreakpointManager . getBreakpoint ( node ) . check ( location , ctxt ) ; try { return test . apply ( VdmRuntime . getExpressionEvaluator ( ) , ctxt ) . boolValue ( ctxt ) ? then . apply ( THIS , ctxt ) : null ; } catch ( ValueException e ) { return VdmRuntimeError . abort ( location , e ) ; } }
Utility method to evaluate elseif nodes