Thank you Eric. Let me know how I can help. regards Saravanan
On Thu, Aug 6, 2020 at 7:35 PM Milles, Eric (TR Technology) < eric.mil...@thomsonreuters.com> wrote: > Your assessment appears correct. > > PropertyExpression works like this: > public Expression transformExpression(ExpressionTransformer > transformer) { > PropertyExpression ret = new > PropertyExpression(transformer.transform(objectExpression), > transformer.transform(property), safe); > > PoppingMethodCallExpression works like this: > public Expression transformExpression(final ExpressionTransformer > transformer) { > PoppingMethodCallExpression call = new > PoppingMethodCallExpression(getObjectExpression().transformExpression(transformer), > getMethodTarget(), (TemporaryVariableExpression) > tmp.transformExpression(transformer)); > > > There may be several instances of this to correct and test if all of the > Expression sub-types are looked at. I'd start by filing a new Jira ticket. > > > -----Original Message----- > From: Saravanan Palanichamy <chava...@gmail.com> > Sent: Thursday, August 6, 2020 8:43 AM > To: dev@groovy.apache.org > Subject: StaticPropertyAccessHelper transforms are not routed through my > expression transformer > > Hello > > My class derives from ClassCodeExpressionTransformer and I use it to > transform my method call expression. Lets say I add an extra parameter to > these methods. This works for normal expression, however for property > setter expressions, this does not work because it does not route through my > class > > I root caused this to the StaticPropertyAccessHelper class which uses a > PoppingMethodCallExpression. In this class, it does not call > transformer.transform(receiver), instead it invokes > receiver.transformExpression(transformer). This means code like this > > myObj.property = myFunction() > > Where property is a setProperty() function will result in not routing > through my transformer. Am I root causing this correctly or is my > understanding wrong? What is the fix for this? I am using Groovy 2.5.x. Is > this fixed in newer versions? > > regards > Saravanan >