groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesper Steen Møller <>
Subject Re: How to find out the names of variables used in a groovy expression
Date Sun, 26 Nov 2017 11:32:32 GMT
HI Greg,

Note: This list is primarily for developers and maintainers of the Groovy project, not for
how to use Groovy. You could try 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 <>


> On 26 Nov 2017, at 11.32, bayareagreg <> 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 "${}"
> 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:

View raw message