Package org.codehaus.groovy.control
Class OptimizerVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeExpressionTransformer
org.codehaus.groovy.control.OptimizerVisitor
- All Implemented Interfaces:
- ExpressionTransformer,- GroovyClassVisitor,- GroovyCodeVisitor,- ErrorCollecting
Visitor to produce several optimizations:
 
- to replace numbered constants with references to static fields
- remove superfluous references to GroovyObject interface
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected SourceUnittransform(Expression exp) NOTE: This method does not visit Expressions within Closures, for performance and historical reasons.voidvisitClass(ClassNode node, SourceUnit source) voidvisitClosureExpression(ClosureExpression expression) Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformersetSourcePosition, visitAnnotation, visitAssertStatement, visitCaseStatement, visitConstructorOrMethod, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupportaddError, visitAnnotations, visitAnnotations, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinallyMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupportafterSwitchConditionExpressionVisited, 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
- 
Constructor Details- 
OptimizerVisitor
 
- 
- 
Method Details- 
visitClass
- 
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
 
- 
getSourceUnit- Specified by:
- getSourceUnitin class- ClassCodeVisitorSupport
 
- 
visitClosureExpression- Specified by:
- visitClosureExpressionin interface- GroovyCodeVisitor
- Overrides:
- visitClosureExpressionin class- CodeVisitorSupport
 
 
-