You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (JIRA)" <ji...@apache.org> on 2017/08/01 14:21:00 UTC
[jira] [Created] (GROOVY-8275) Newify transform docs missing
support for local variable declaration
Eric Milles created GROOVY-8275:
-----------------------------------
Summary: Newify transform docs missing support for local variable declaration
Key: GROOVY-8275
URL: https://issues.apache.org/jira/browse/GROOVY-8275
Project: Groovy
Issue Type: Documentation
Components: xforms
Reporter: Eric Milles
Priority: Minor
Javadocs and online documentation for the Newify AST transform is not quite clear in a couple instances.
1) Online docs http://groovy-lang.org/metaprogramming.html#xform-Newify Ruby-style section could be more clear IMO if the {{([Tree,Leaf])}} were removed since it only enables the Python-style expressions.
2) Javadoc and online docs do not mention that {{@Newify}} can be applied to a local variable declaration, like: {{@Newify def o = Object.new()}}.
3) The scoping of the transform is pretty clear for the class, method and field/property cases. However for the local variable case, it appears that the transform applies throughout the containing scope of the local variable. That is, I can use the extra constructors anywhere in the block to re-initialize the variable. {{@Newify def o = Object.new(); ... o = Object.new() ...}}. Is this the intended behavior? My intuition was that the initializer expression was the only place the transform applied, like in the case of a field.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)