Top Description Fields Constructors Methods
org.codehaus.groovy.transform.sc.transformers

public Class StaticCompilationTransformer

extends ClassCodeExpressionTransformer
Class Inheritance
Imports
org.apache.groovy.util.Maps, org.codehaus.groovy.ast.ClassCodeExpressionTransformer, .ClassHelper, .ClassNode, .InnerClassNode, .MethodNode, org.codehaus.groovy.ast.expr.BinaryExpression, .BooleanExpression, .CastExpression, .ClosureExpression, .ConstructorCallExpression, .Expression, .ListExpression, .MethodCallExpression, .RangeExpression, .StaticMethodCallExpression, .VariableExpression, org.codehaus.groovy.ast.stmt.Statement, org.codehaus.groovy.classgen.asm.sc.StaticTypesTypeChooser, org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.runtime.ScriptBytecodeAdapter, org.codehaus.groovy.syntax.Types, org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor, java.util.Iterator, .Map

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.

Field Summary

Modifier and TypeField and Description
private final BinaryExpressionTransformer
private final BooleanExpressionTransformer
protected static final ClassNode
protected static final Map<Integer, MethodNode>
private final CastExpressionOptimizer
private ClassNode
private final ClosureExpressionTransformer
private final ConstructorCallTransformer
private final ListExpressionTransformer
private final MethodCallExpressionTransformer
private final RangeExpressionTransformer
private final StaticTypeCheckingVisitor
private final StaticMethodCallExpressionTransformer
private final StaticTypesTypeChooser
private final SourceUnit
private final VariableExpressionTransformer

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ClassNode
protected SourceUnit
public StaticTypesTypeChooser
pack-priv final Expression
superTransform(final Expression expr)

Called by helpers when super.transform() is needed.

public Expression
public void
public void
protected void
Inherited from org.codehaus.groovy.ast.ClassCodeExpressionTransformer:
setSourcePositionvisitAnnotationvisitAssertStatementvisitCaseStatementvisitDoWhileLoopvisitExpressionStatementvisitFieldvisitForLoopvisitIfElsevisitPropertyvisitReturnStatementvisitSwitchvisitSynchronizedStatementvisitThrowStatementvisitWhileLoop

Field Detail

binaryExpressionTransformerback to summary
private final BinaryExpressionTransformer binaryExpressionTransformer
booleanExpressionTransformerback to summary
private final BooleanExpressionTransformer booleanExpressionTransformer
BYTECODE_ADAPTER_CLASSback to summary
protected static final ClassNode BYTECODE_ADAPTER_CLASS
BYTECODE_BINARY_ADAPTERSback to summary
protected static final Map<Integer, MethodNode> BYTECODE_BINARY_ADAPTERS
castExpressionTransformerback to summary
private final CastExpressionOptimizer castExpressionTransformer
classNodeback to summary
private ClassNode classNode
closureExpressionTransformerback to summary
private final ClosureExpressionTransformer closureExpressionTransformer
constructorCallTransformerback to summary
private final ConstructorCallTransformer constructorCallTransformer
listExpressionTransformerback to summary
private final ListExpressionTransformer listExpressionTransformer
methodCallExpressionTransformerback to summary
private final MethodCallExpressionTransformer methodCallExpressionTransformer
rangeExpressionTransformerback to summary
private final RangeExpressionTransformer rangeExpressionTransformer
staticCompilationVisitorback to summary
private final StaticTypeCheckingVisitor staticCompilationVisitor
staticMethodCallExpressionTransformerback to summary
private final StaticMethodCallExpressionTransformer staticMethodCallExpressionTransformer
typeChooserback to summary
private final StaticTypesTypeChooser typeChooser
unitback to summary
private final SourceUnit unit
variableExpressionTransformerback to summary
private final VariableExpressionTransformer variableExpressionTransformer

Constructor Detail

StaticCompilationTransformerback to summary
public StaticCompilationTransformer(final SourceUnit unit, final StaticTypeCheckingVisitor visitor)

Method Detail

getClassNodeback to summary
public ClassNode getClassNode()
getSourceUnitback to summary
protected SourceUnit getSourceUnit()

Implements abstract org.codehaus.groovy.ast.ClassCodeVisitorSupport.getSourceUnit.

Annotations
@Override
getTypeChooserback to summary
public StaticTypesTypeChooser getTypeChooser()
superTransformback to summary
pack-priv final Expression superTransform(final Expression expr)

Called by helpers when super.transform() is needed.

transformback to summary
public Expression transform(final Expression expr)

Overrides org.codehaus.groovy.ast.ClassCodeExpressionTransformer.transform.

Implements org.codehaus.groovy.ast.expr.ExpressionTransformer.transform.

Doc from org.codehaus.groovy.ast.expr.ExpressionTransformer.transform.

Transforms the given expression into another expression

Annotations
@Override
visitClassback to summary
public void visitClass(final ClassNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitClass.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitClass.

Visit a ClassNode.

Annotations
@Override
visitClassCodeContainerback to summary
public void visitClassCodeContainer(final Statement code)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer.

Annotations
@Override
visitConstructorOrMethodback to summary
protected void visitConstructorOrMethod(final MethodNode node, final boolean isConstructor)

Overrides org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod.

Annotations
@Override