コード例 #1
0
 def run(self, vm: VM) -> Optional[Break]:
     for _ in range(self._num_loops):
         br = self._block.run(vm)
         if br is not None:
             if br.depth == 0 and br.is_continue:
                 vm.loop_stack().continue_loop()
                 continue
             vm.loop_stack().break_loop()
             return br
コード例 #2
0
 def run(self, vm: VM) -> Optional[Break]:
     vm.loop_stack().start_loop()
     while True:
         if vm.loop_stack().next():
             return None
         br = self._block.run(vm)
         if br is not None:
             if br.depth == 0 and br.is_continue:
                 vm.loop_stack().continue_loop()
                 continue
             vm.loop_stack().break_loop()
             return br