HI Greg, Note: This list is primarily for developers and maintainers of the Groovy project, not for how to use Groovy. You could try us...@groovy.apache.org instead. As for your question, which is admittedly borderline: 1) At compile time (i.e. in a macro or AST transformer), this should be doable, but it's not a slam-dunk oneliner (you need to drill down into each GString-expression in the abstract syntax tree and find out how each expression is constructed, and which variable/field names are in use) 2) At runtime, string interpolation has already expanded into a construction of a GString by the compiler, and by that time, the expressions are no logner recognizable (generally speaking).
I can't quite guess what you're trying to accomplish, but perhaps you should consider a templating engine instead, for the ability to parse and work with GString-like templates. Have a look at http://docs.groovy-lang.org/latest/html/documentation/template-engines.html <http://docs.groovy-lang.org/latest/html/documentation/template-engines.html> -Jesper > On 26 Nov 2017, at 11.32, bayareagreg <bayareag...@gmail.com> wrote: > > Hello, > > I need to programmatically find out the names of variables used in a > "simple" groovy expression that reads a value from one or more variables. > One can assume the expression is read-only, that is no modifications of any > state will be used. E.g. in an expression like this > > "${foo}", it should return "foo" > also same in "${foo.bar.zot}" > > is what I am asking possible? If yes please point me in the direction of > which API to use for this. > Thank you in advance > > > > > -- > Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html