Package: org.codehaus.groovy.transform

## [Java] Class ReadWriteLockASTTransformation

- org.codehaus.groovy.transform.ReadWriteLockASTTransformation

-     @GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
      public class ReadWriteLockASTTransformation
      extends AbstractASTTransformation

  Handles generation of code for the `@`WithReadLock and `@`WithWriteLock annotation.
  This transformation adds an instance of ReentrantReadWriteLock to the class.
  Any method annotated with `@`WithReadLock will obtain a read lock and release it in a finally block.
  Any method annotated with `@`WithWriteLock will obtain a write lock and release it in a finally block.
  For more information see WithReadLock and WithWriteLock

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static String` | `DEFAULT_INSTANCE_LOCKNAME` |
    `static String` | `DEFAULT_STATIC_LOCKNAME` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class AbstractASTTransformation` | `RETENTION_CLASSNODE, sourceUnit`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `visit(ASTNode[] nodes, SourceUnit source)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractASTTransformation` | `addError, checkIncludeExcludeUndefinedAware, checkIncludeExcludeUndefinedAware, checkNotInterface, checkPropertyList, checkPropertyList, checkPropertyList, copyAnnotatedNodeAnnotations, copyAnnotatedNodeAnnotations, deemedInternalName, getAnnotationName, getMemberClassList, getMemberClassValue, getMemberClassValue, getMemberIntValue, getMemberStringList, getMemberStringValue, getMemberStringValue, getMemberValue, hasAnnotation, init, memberHasValue, shouldSkip, shouldSkip, shouldSkipOnDescriptorUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, tokenize`

- - ### Field Detail

    - #### public static final String DEFAULT_INSTANCE_LOCKNAME

    - #### public static final String DEFAULT_STATIC_LOCKNAME

  - ### Method Detail

    - #### @Override
      public void visit(ASTNode[] nodes, SourceUnit source)