Hi,

The next step: meta level support.

Imagine you put a link in a method like OrderedCollection>>#add:, and then the 
meta level itself class that method again… endless loop.
This e.g would happen easily if you would use a link to put a watch-point 
somewhere...

With this Slice:

https://pharo.fogbugz.com/f/cases/15447/Links-with-MetaContext 
<https://pharo.fogbugz.com/f/cases/15447/Links-with-MetaContext>

MetaLinks now can optionally model the meta-level: when calling a link, it is 
increased. This happens only when setting a level explicitly
with #level: like here:

        link := MetaLink new 
                metaObject: <something>;
                selector: #someSelector
                level: 0.

Keep in mind that it is fairly heavy, using a Process-Local variable.

On the TODO:

        -> support for links on primitive methods (by wrapping them)
        -> parameters for conditions
        -> parameters for the method called on the meta object
        -> “symbolic” meta objects #object, #node and #class 
        -> links on Slots
        -> links on Globals

and of course breakpoints, we have now everything already that we need.

        Marcus 

Reply via email to