Package: org.codehaus.groovy.transform

## [Java] Class NamedVariantASTStubber

- org.codehaus.groovy.transform.NamedVariantASTStubber

-     @GroovyASTTransformation(phase = CompilePhase.CONVERSION)
      public class NamedVariantASTStubber
      extends AbstractASTTransformation

  Joint-compilation stubber for NamedVariant. Emits a placeholder Map-arg variant alongside the user-declared method or constructor so Java consumers can call the named-arg form against the joint-compilation stub.

  The signature emitted is the simple "all params named" shape: `returnType methodName(Map namedArgs)` for methods, or `ClassName(Map namedArgs)` for constructors. Mixed cases — where some parameters carry `@NamedParam` / `@NamedDelegate` and some remain positional — produce a richer signature at runtime that the stubber does not yet reproduce; Java consumers in those cases see only the single Map-arg variant in the stub. That is a strict subset of the runtime, so call sites that match it work either way; call sites needing positional-plus-map don't compile against the stub.

  Originally listed in Tier 3 because a `@NamedVariant` target "added by another transform" wouldn't be visible at CONVERSION. In practice transforms compose this kind of variant via `@NamedParam` on parameters of an existing method, and direct user-written `@NamedVariant` on a hand-written method has the target visible at CONVERSION. The Tier 3 deferral was overly cautious; this stubber covers the common case.

  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)