Hi Tobias,
> true false nil are special. :)
> The ObjectTracer on whatever cannot be ever true.
I know they don't work like usual objects because many boolean/nil selectors are inlined ATM.
However, this only affects specific selectors.
The following worked - if ObjectTracer would not cause a recursion:
(ObjectTracer on: true) xor: (ObjectTracer on: false)
IMHO, everything in Smalltalk should be an object and should also behave like an object, especially in terms of message dispatching. Is there any other reason to deviate from these rules besides performance?
Best,
Christoph
PS: You cannot suppress the debuggers spawn by an ObjectTracer ... Should we maybe use some kind of notification for this? IWLT do the following:
[(ObjectTracer on: true) xor: (ObjectTracer on: false)] on: WarningOrSo
do: #resume.