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
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 SummaryFieldsModifier and TypeFieldDescriptionprotected static final ClassNodeprotected static final Map<Integer,MethodNode> 
- 
Constructor SummaryConstructorsConstructorDescriptionStaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected SourceUnittransform(Expression expr) NOTE: This method does not visit Expressions within Closures, for performance and historical reasons.voidvisitClass(ClassNode node) Visit a ClassNode.voidprotected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor) voidvisitField(FieldNode node) Visit a FieldNode.Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformersetSourcePosition, visitAnnotation, visitAssertStatement, visitCaseStatement, visitClosureExpression, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupportaddError, visitAnnotations, visitAnnotations, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinallyMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupportafterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitorvisit, visit, visitEmptyExpression, visitListOfExpressions
- 
Field Details- 
BYTECODE_ADAPTER_CLASS
- 
BYTECODE_BINARY_ADAPTERS
 
- 
- 
Constructor Details- 
StaticCompilationTransformer
 
- 
- 
Method Details- 
getSourceUnit- Specified by:
- getSourceUnitin class- ClassCodeVisitorSupport
 
- 
getTypeChooser
- 
getClassNode
- 
visitClassCodeContainer- Overrides:
- visitClassCodeContainerin class- ClassCodeVisitorSupport
 
- 
transformDescription copied from class:ClassCodeExpressionTransformerNOTE: This method does not visit Expressions within Closures, for performance and historical reasons. If you want those Expressions to be visited, you can do this:public class YourTransformer extends ClassCodeExpressionTransformer { ... @Override public Expression transform(final Expression expr) { if (expr instanceof ClosureExpression) { expr.visit(this); return expr; } // ... } }- Specified by:
- transformin interface- ExpressionTransformer
- Overrides:
- transformin class- ClassCodeExpressionTransformer
 
- 
visitClassDescription copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
- visitClassin interface- GroovyClassVisitor
- Overrides:
- visitClassin class- ClassCodeVisitorSupport
 
- 
visitFieldDescription copied from interface:GroovyClassVisitorVisit a FieldNode.- Specified by:
- visitFieldin interface- GroovyClassVisitor
- Overrides:
- visitFieldin class- ClassCodeExpressionTransformer
 
- 
visitConstructorOrMethod- Overrides:
- visitConstructorOrMethodin class- ClassCodeExpressionTransformer
 
 
-