Package: org.codehaus.groovy.classgen

## [Java] Class InnerClassCompletionVisitor

- org.codehaus.groovy.classgen.InnerClassCompletionVisitor

-     public class InnerClassCompletionVisitor
      extends InnerClassVisitorHelper

  Completes the transformation of inner classes by adding synthetic fields and constructor parameters needed to maintain references to outer class instances. This visitor is run after InnerClassVisitor to finalize inner class construction.

- - ### Constructor Summary

    Constructors
    Constructor and description
    `InnerClassCompletionVisitor(CompilationUnit cu, SourceUnit su)` Creates a new inner class completion visitor.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected SourceUnit` | `getSourceUnit()` * Provides access to the SourceUnit for error reporting during visitation. * Implementations must override this method. * * Returns: the source unit for this visitor
    `` | `public void` | `visitClass(ClassNode node)` * Visits a ClassNode, processing its annotations, package, imports, contents, and object initializers. * * Parameters: `node` - the class node to visit
    `` | `public void` | `visitConstructor(ConstructorNode node)` * Visits a ConstructorNode, processing its annotations, parameter annotations, and code block. * * Parameters: `node` - the constructor node to visit

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class InnerClassVisitorHelper` | `addFieldInit, getClassNode, getObjectDistance, isStatic, setMethodDispatcherCode, setPropertyGetterDispatcher, setPropertySetterDispatcher, shouldHandleImplicitThisForInnerClass`
    `class ClassCodeVisitorSupport` | `addError, getSourceUnit, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitClosureExpression, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitStatementAnnotations, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`
    `class CodeVisitorSupport` | `afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop`

- - ### Constructor Detail

    - #### public InnerClassCompletionVisitor(CompilationUnit cu, SourceUnit su)

      Creates a new inner class completion visitor.

      Parameters:
        `cu` - the compilation unit (currently unused but kept for API compatibility)
        `su` - the source unit for error reporting

  - ### Method Detail

    - #### protected SourceUnit getSourceUnit()

      * Provides access to the SourceUnit for error reporting during visitation. * Implementations must override this method. * *

      Returns:
        the source unit for this visitor

    - #### public void visitClass(ClassNode node)

      * Visits a ClassNode, processing its annotations, package, imports, contents, and object initializers. * *

      Parameters:
        `node` - the class node to visit

    - #### public void visitConstructor(ConstructorNode node)

      * Visits a ConstructorNode, processing its annotations, parameter annotations, and code block. * *

      Parameters:
        `node` - the constructor node to visit