Camillo Bruni-3 wrote
> Camille/o were trying to fix a bug in the CriticsRules and found a strange
> limitation of the ParseTreeRewriter
> 
> Given:           Result:
> ------           -------
> | a b |          | a b |
> self halt.        
> self bar.        self bar.
> 
> However this is not possible to specify directly:
> 
> RBParseTreeRewriter new
>       replace: '`@object halt' with: ''.
> 
> As the parsed ' ' string will result in a SequenceNode, thus forcing
> the original message node ('self halt') to be a sequence node.
> 
> So instead of looking for 'self halt' it will look for 
>       ||
>       self halt.
> and thus it tries to explicitly match the temporary.
> 
> The result is, that we cannot remove 'self halt' with a rewrite rule
> if the method/block contains temporaries :/.
> 
> 
> Has anybody encountered this, or knows how to directly replace a message
> node with an "empty node"?
> 
> best c&c

You have to edit the higher level node.   So find the node with the halt as
a child and do you edits there.  






--
View this message in context: 
http://forum.world.st/ParseTreeRewrite-Limitations-tp4680439p4680486.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

Reply via email to