Class StaticCompilationTransformer
- java.lang.Object
- 
- org.codehaus.groovy.ast.CodeVisitorSupport
- 
- org.codehaus.groovy.ast.ClassCodeVisitorSupport
- 
- org.codehaus.groovy.ast.ClassCodeExpressionTransformer
- 
- org.codehaus.groovy.transform.sc.transformers.StaticCompilationTransformer
 
 
 
 
- 
- All Implemented Interfaces:
- ExpressionTransformer,- GroovyClassVisitor,- GroovyCodeVisitor,- ErrorCollecting
 
 public class StaticCompilationTransformer extends ClassCodeExpressionTransformer 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 SummaryFields Modifier and Type Field Description protected static ClassNodeBYTECODE_ADAPTER_CLASSprotected static java.util.Map<java.lang.Integer,MethodNode>BYTECODE_BINARY_ADAPTERS
 - 
Constructor SummaryConstructors Constructor Description StaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassNodegetClassNode()protected SourceUnitgetSourceUnit()StaticTypesTypeChoosergetTypeChooser()Expressiontransform(Expression expr)Transforms the given expression into another expressionvoidvisitClass(ClassNode node)Visit a ClassNode.voidvisitClassCodeContainer(Statement code)protected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor)- 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformervisitAnnotations, visitAssertStatement, visitCaseStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoop
 - 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupportaddError, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinally
 - 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupportvisitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression
 
- 
 
- 
- 
- 
Field Detail- 
BYTECODE_ADAPTER_CLASSprotected static final ClassNode BYTECODE_ADAPTER_CLASS 
 - 
BYTECODE_BINARY_ADAPTERSprotected static final java.util.Map<java.lang.Integer,MethodNode> BYTECODE_BINARY_ADAPTERS 
 
- 
 - 
Constructor Detail- 
StaticCompilationTransformerpublic StaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor) 
 
- 
 - 
Method Detail- 
getSourceUnitprotected SourceUnit getSourceUnit() - Specified by:
- getSourceUnitin class- ClassCodeVisitorSupport
 
 - 
getTypeChooserpublic StaticTypesTypeChooser getTypeChooser() 
 - 
getClassNodepublic ClassNode getClassNode() 
 - 
visitClassCodeContainerpublic void visitClassCodeContainer(Statement code) - Overrides:
- visitClassCodeContainerin class- ClassCodeVisitorSupport
 
 - 
transformpublic Expression transform(Expression expr) Description copied from interface:ExpressionTransformerTransforms the given expression into another expression- Specified by:
- transformin interface- ExpressionTransformer
- Overrides:
- transformin class- ClassCodeExpressionTransformer
 
 - 
visitClasspublic void visitClass(ClassNode node) Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
- visitClassin interface- GroovyClassVisitor
- Overrides:
- visitClassin class- ClassCodeVisitorSupport
 
 - 
visitConstructorOrMethodprotected void visitConstructorOrMethod(MethodNode node, boolean isConstructor) - Overrides:
- visitConstructorOrMethodin class- ClassCodeExpressionTransformer
 
 
- 
 
-