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