Thanks a lot, Paul. That will be very helpful in the second article I am 
preparing on the Metaobject Protocol of language Cyan. The first article is 
available in http://cyan-lang.org/articles/. By the way, it cites your Groovy 
book.

One more question: suppose an AST transformation class inserts a method and a 
field in a class 'HelpMe'. That is made in the SEMANTIC_ANALYSIS phase (maybe 
another phase, I think it does not matter). Another class 'Other' accesses the 
inserted field and call the inserted method of 'HelpMe'. Annotation 
@CompileStatic is attached to 'Other'. Assume that the semantic analysis of 
'Other' is made before that of 'HelpMe' (I am assuming there is no pre-defined 
compilation order between the source files, then it could be 'HelpMe' before 
'Other' but the problem that follows should not happen in this case). That will 
cause a compile error because the field and method will not be found in 
'HelpMe'. Is that correct?

Cheers, José 

Reply via email to