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 Summary
FieldsModifier and TypeFieldDescriptionprotected static final ClassNodeprotected static final Map<Integer,MethodNode> -
Constructor Summary
ConstructorsConstructorDescriptionStaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor) -
Method Summary
Modifier and TypeMethodDescriptionprotected SourceUnittransform(Expression expr) Transforms the given expression into another expressionvoidvisitClass(ClassNode node) Visit a ClassNode.voidprotected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor) Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformer
setSourcePosition, visitAnnotation, visitAssertStatement, visitCaseStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitAnnotations, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinallyMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, 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.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visit, visit, visitEmptyExpression, visitListOfExpressions
-
Field Details
-
BYTECODE_ADAPTER_CLASS
-
BYTECODE_BINARY_ADAPTERS
-
-
Constructor Details
-
StaticCompilationTransformer
-
-
Method Details
-
getSourceUnit
- Specified by:
getSourceUnitin classClassCodeVisitorSupport
-
getTypeChooser
-
getClassNode
-
visitClassCodeContainer
- Overrides:
visitClassCodeContainerin classClassCodeVisitorSupport
-
transform
Description copied from interface:ExpressionTransformerTransforms the given expression into another expression- Specified by:
transformin interfaceExpressionTransformer- Overrides:
transformin classClassCodeExpressionTransformer
-
visitClass
Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport
-
visitConstructorOrMethod
- Overrides:
visitConstructorOrMethodin classClassCodeExpressionTransformer
-