I submitted this as class comment.


Halt is a special exception provided to support breakpoints as defined in Object>>halt.

!! Basic usage

To manually set a breakpoint you can use message halt as follows:
[[[
anObject halt.
]]]
You can also use

[[[
Halt now
]]]

[[[
Halt now: 'With a nice explanation'
]]]

!! Advanced usage
The class Halt supports different halting mechanisms such as conditionals, based on iteration or simply stopping the first time.

!!! Conditionals

[[[
foo
    ...
    Halt if: #invokedFromThisSelector
]]]

This expression will only stop the execution of method foo if this method is in the call chain (is invoked from ) message invokedFromThisSelector.

[[[
foo
      ...
      Halt if: aBlock
]]]

The execution of foo will stop if aBlock returns true.

!!! Counting
Sometimes we need to stop after a given number of iteration.

[[[
Halt count: 5
]]]



!!! Once
It is really useful sometimes to stop only and only one time

[[[
foo
    ...
    Halt once.
]]]

It will be stopped the first time.
Then if you need to rearm it to stop another time you should use

[[[
Halt resetOnce
]]]



Reply via email to