| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CheckBreakpoints (LibOpt_BreakpointPosition component_position, LibOpt_Task task, output stream[Void] breakpoint_stream_o) as Boolean | 
| { | 
|   TextBody: | 
|   [* | 
|     task.ComponentPosition( relset, component_position ); | 
|      | 
|     // Check need to set a breakpoint event. | 
|     if( isnull( task.Run().BreakpointEvent() ) ) | 
|     { | 
|       breakpoint := select( component_position, BreakpointConditionalOnComponent.BreakpointConditional, breakpoint,  | 
|                             breakpoint.IsEnabled() and breakpoint.Condition() ); | 
|       if( not isnull( breakpoint ) ) | 
|       { | 
|         this.BreakpointEvent( relnew, Breakpoint := breakpoint ); | 
|       } | 
|     } | 
|      | 
|     // Don't poll the breakpoint if there is no breakpoint set on this component position. | 
|     if( not isnull( task.Run().BreakpointEvent() ) ) | 
|     { | 
|       breakpoint_stream_o := this.PollBreakpoints( task ); | 
|     } | 
|     else | 
|     { | 
|       breakpoint_stream_o := emit( void ); | 
|     } | 
|      | 
|     return task.IsWaiting(); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |