>> 
>> 
>> i) How do I reify the value of an RB(Valuel|Literal|LiteralValue)Node? 
>> RFValueReification does not work, and there is no reification for literal, 
>> value, or literal value nodes.

This is now fixed. All subclasses of RBValueNode with the exception of Cascade 
now support #value. (Cascade: see below).

>> ii) How do I reify arguments and results of blocks? I tried reify context 
>> for the block body #before and value for #after block "last", but I often 
>> run into the problem of no reification for literals.

I added issue tracker entries:
https://pharo.fogbugz.com/f/cases/22704/Block-Execution-reify-value-in-after 
<https://pharo.fogbugz.com/f/cases/22704/Block-Execution-reify-value-in-after>
https://pharo.fogbugz.com/f/cases/22703/Block-execution-arguments-reification 
<https://pharo.fogbugz.com/f/cases/22703/Block-execution-arguments-reification>

The story is that we for now unified links on BlockNode to be the same as a 
link on the block body (as we have with RBMethodNode).

But this is wrong:  a link on a block (e.g. ) [1] should fire when the block 
*definition* is evaluated. Only a link on the body should fire on execution.

If we link on the body, it will be possible to reify the #value (which is the 
value of the last statement).

So this is some work (and a non-backward compatible change), but will be done 
till next week I hope.

>> iii) How are cascaded message sends reified? Am I supposed to instrument the 
>> cascade node or the individual message sends?
>> 

https://pharo.fogbugz.com/f/cases/22702/support-before-after-intead-on-RBCascadeNode
 
<https://pharo.fogbugz.com/f/cases/22702/support-before-after-intead-on-RBCascadeNode>

It turns out this is just not implemented. Single message sends *inside* should 
work (as it calls the same code as a normal send to emit code).
But even that needs tests.

Cascade itself needs some code for links, then it will be easy to add 
reifications for #receiver and #value (and #operation).

I will do that today I hope.

        Marcus

Reply via email to