Hi,

We implemented this today:

#sourceNode for MethodContext. It returns the AST node of context, as part of 
the whole AST of the method.

thisContext sourceNode 

Returns:

DoIt
        ^ thisContext sourceNode 


------------
        
[ thisContext sourceNode ] value 

==>

RBBlockNode([ thisContext sourceNode ])

---------------
But even for optimized blocks it works:


[ true ifTrue:[thisContext sourceNode ]] value

RBBlockNode([ thisContext sourceNode ]) 

The AST is the one used for code generation, with all information of Semantic 
Analysis *and* the possibility to
get the IR with all information, too.

So:

[ true ifTrue:[|a|thisContext sourceNode ]] value scope

===> an OCOptimizedBlockScope 4


        Marcus


Reply via email to