[
https://issues.apache.org/jira/browse/GROOVY-4346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-4346:
--------------------------------
Fix Version/s: (was: 4.x)
> Set isSynthetic()/setSynthetic() behaviour right for AST nodes
> --------------------------------------------------------------
>
> Key: GROOVY-4346
> URL: https://issues.apache.org/jira/browse/GROOVY-4346
> Project: Groovy
> Issue Type: Bug
> Components: class generator
> Affects Versions: 1.8-beta-1
> Reporter: Roshan Dawrani
> Priority: Major
>
> Currently there is no relation between the very interdependent properties -
> {{synthetic of AnnotatedNode}} and {{modifiers of various sub-classes like
> MethodNode, FieldNode, etc}} - which means that if the developer remembers to
> call one but forgets another, it leaves the AST in an inconsistent state. It
> can have synthetic == true but modifiers with SYNTHETIC bit off and vice
> versa.
> This leads to issues at various places currently because fields, methods,
> classes that were intended to be synthetic don't necessarily get marked so in
> the bytecode.
> For the nodes that have modifiers,
> isSynthetic()/setSynthetic()/setModifiers() should all be in sync - only
> based on modifiers value behind the scenes.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)