You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by polbotinka <av...@gmail.com> on 2016/03/03 09:26:50 UTC

AST transformation in CLASS_GENERATION phase

Hi,

I'm working on a custom AST transformation that needs a static type data.
Basically want i want to do is to add an assignment expression that takes
the closure inferred return type and set it to some field:


I'm getting a closure return type using:


But the problem is that it's populated with return type during
INSTRUCTION_SELECTION phase. Therefore I'm applying my AST during next phase
which is CLASS_GENERATION. I'm adding the ExpressionStatement but it doesn't
seem to work. If I change the CompilePhase to SEMANTIC_ANALYSIS the
assignment expression works but I don't have
StaticTypesMarker.INFERRED_RETURN_TYPE populated for closure.

The questions are:
1. I would like to know if it is possible to add expression statements to
the AST during CLASS_GENERATION phase? I doesn't seem to work for me.
Documentation is not clear here: 

2. If it is not possible to modify AST during CLASS_GENERATION  then is it
legal to use StaticTypeCheckingVisitor.visitClosure to get closure inferred
return type during SEMANTIC_ANALYSIS phase?
3. Are there any other options I might have missed?



--
View this message in context: http://groovy.329449.n5.nabble.com/AST-transformation-in-CLASS-GENERATION-phase-tp5731547.html
Sent from the Groovy Users mailing list archive at Nabble.com.