Package: groovy.beans

## [Java] Class BindableASTStubber

- groovy.beans.BindableASTStubber

-     public class BindableASTStubber
      extends AbstractASTTransformation

  Joint-compilation stubber for Bindable (class-level use). Emits placeholder `add/removePropertyChangeListener`, `firePropertyChange`, and `getPropertyChangeListeners` methods so Java consumers can attach listeners and fire events against the joint-compilation stub.

  The full BindableASTTransformation at CANONICALIZATION removes any stubber-tagged methods before installing the `propertyChangeSupport` field and the real method bodies.

  Field-level `@Bindable` on individual properties is not stubbed: the visible API (the property's accessors) is unchanged, and the property-write rewriting is body-internal to the generated setter — invisible to the stub.

  Since:
    6.0.0

- - 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, deemedInternal, deemedInternalName, getAnnotationName, getMemberClassList, getMemberClassValue, getMemberClassValue, getMemberIntValue, getMemberStringList, getMemberStringValue, getMemberStringValue, getMemberValue, hasAnnotation, init, markAsInternal, memberHasValue, shouldSkip, shouldSkip, shouldSkip, shouldSkipOnDescriptorUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, tokenize`

- - ### Method Detail

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