Package: org.codehaus.groovy.ast.tools

## [Java] Class PropertyNodeUtils

- org.codehaus.groovy.ast.tools.PropertyNodeUtils

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static int` | `adjustPropertyModifiersForMethod(PropertyNode propNode)` Fields within the AST that have no explicit visibility are deemed to be properties and represented by a PropertyNode.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Method Detail

    - #### public static int adjustPropertyModifiersForMethod(PropertyNode propNode)

      Fields within the AST that have no explicit visibility are deemed to be properties and represented by a PropertyNode. The Groovy compiler creates accessor methods and a backing field for such property nodes. During this process, all modifiers from the property are carried over to the backing field (so a property marked as `transient` will have a `transient` backing field) but when creating the accessor methods we don't carry over modifier values which don't make sense for methods (this includes VOLATILE and TRANSIENT) but other modifiers are carried over, for example `static`.

      Parameters:
        `propNode` - the original property node
      Returns:
        the modifiers which make sense for an accessor method