Hi Paolo:

A couple of years ago I created Asteroid (https://github.com/grooviter/asteroid) a library to deal with AST transformations. I needed to create a minor release so I've taken the oportunity to solve this problem and I think is pretty easy. 
You can find the source code here:  
You can find also some documentation at: http://grooviter.github.io/asteroid/

Of course any feedback on the library is appreciated :)

I hope this helps
Mario

2018-06-10 21:27 GMT+02:00 MG <mgbiz@arscreat.com>:
Hi Paolo,

I have not used it myself, but have you had a look at the new Groovy 2.5 "abstract syntax tree search and replace"-feature (http://groovy-lang.org/releasenotes/groovy-2.5.html & search for "AST matching") ?

Cheers,
mg



On 10.06.2018 16:55, Paolo Di Tommaso wrote:
Dear all, 

I'm trying to implement an AST transformation to replace any `==` binary expression with a equals method call invocation as suggested here.


My understanding is that it's required to override each the visitor for each node where a binary expression can appear ie. if statement, while statement, assignment, for loop, method call, etc. 

That looks a bit overkill. I was wondering if there's a better way to replace globally all `==` binary expressions with `equals` method invocations. 


Cheers,
Paolo