Package: org.codehaus.groovy.transform.sc.transformers

## [Java] Class StaticCompilationTransformer

- org.codehaus.groovy.transform.sc.transformers.StaticCompilationTransformer

- Some expressions use symbols as aliases to method calls (<<, +=, ...). In static compilation, if such a method call is found, we transform the original binary expression into a method call expression so that the call gets statically compiled.

  Authors:
    Cedric Champeau

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected static ClassNode` | `BYTECODE_ADAPTER_CLASS` |
    `protected static Map<Integer, MethodNode>` | `BYTECODE_BINARY_ADAPTERS` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticCompilationTransformer (SourceUnit unit)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `ClassNode` | `getClassNode()`
    `protected SourceUnit` | `getSourceUnit()`
    `StaticTypesTypeChooser` | `getTypeChooser()`
    `Expression` | `transform(Expression expr)`
    `void` | `visitClass(ClassNode node)`
    `void` | `visitClassCodeContainer(Statement code)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ClassCodeExpressionTransformer` | `visitField, visitProperty, visitReturnStatement, visitExpressionStatement, visitAssertStatement, visitCaseStatement, visitIfElse, visitSynchronizedStatement, visitThrowStatement, visitAnnotations, visitForLoop, visitSwitch, visitWhileLoop, visitDoWhileLoop, transform, visitMethod, visitConstructor, visitBlockStatement, visitDeclarationExpression, visitBreakStatement, visitCatchStatement, visitContinueStatement, visitTryCatchFinally, visitImports, visitClass, visitPackage, visitConstantExpression, visitClassExpression, visitPropertyExpression, visitListExpression, visitVariableExpression, visitTupleExpression, visitArgumentlistExpression, visitMethodCallExpression, visitClosureExpression, visitBitwiseNegationExpression, visitCastExpression, visitAttributeExpression, visitFieldExpression, visitGStringExpression, visitClosureListExpression, visitBytecodeExpression, visitStaticMethodCallExpression, visitConstructorCallExpression, visitBinaryExpression, visitTernaryExpression, visitShortTernaryExpression, visitPostfixExpression, visitPrefixExpression, visitBooleanExpression, visitNotExpression, visitArrayExpression, visitMapExpression, visitMapEntryExpression, visitRangeExpression, visitSpreadExpression, visitSpreadMapExpression, visitMethodPointerExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`
    `class ClassCodeVisitorSupport` | `visitMethod, visitField, visitProperty, visitReturnStatement, visitConstructor, visitExpressionStatement, visitBlockStatement, visitDeclarationExpression, visitAssertStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitContinueStatement, visitIfElse, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitImports, visitAnnotations, visitClass, visitPackage, visitForLoop, visitSwitch, visitWhileLoop, visitDoWhileLoop, visitConstantExpression, visitClassExpression, visitPropertyExpression, visitListExpression, visitVariableExpression, visitTupleExpression, visitArgumentlistExpression, visitMethodCallExpression, visitClosureExpression, visitBitwiseNegationExpression, visitCastExpression, visitAttributeExpression, visitFieldExpression, visitGStringExpression, visitClosureListExpression, visitBytecodeExpression, visitStaticMethodCallExpression, visitConstructorCallExpression, visitBinaryExpression, visitTernaryExpression, visitShortTernaryExpression, visitPostfixExpression, visitPrefixExpression, visitBooleanExpression, visitNotExpression, visitArrayExpression, visitMapExpression, visitMapEntryExpression, visitRangeExpression, visitSpreadExpression, visitSpreadMapExpression, visitMethodPointerExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### protected static final ClassNode BYTECODE_ADAPTER_CLASS

    - #### protected static final Map<Integer, MethodNode> BYTECODE_BINARY_ADAPTERS

  - ### Constructor Detail

    - #### public StaticCompilationTransformer(SourceUnit unit)

  - ### Method Detail

    - #### public ClassNode getClassNode()

    - #### @Override protected SourceUnit getSourceUnit()

    - #### public StaticTypesTypeChooser getTypeChooser()

    - #### @Override public Expression transform(Expression expr)

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

    - #### @Override public void visitClassCodeContainer(Statement code)