On this page
[Java] Class StaticCompilationTransformer
- org.codehaus.groovy.transform.sc.transformers.StaticCompilationTransformer
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 Summary
Modifiers | Name | Description |
---|---|---|
protected static ClassNode |
BYTECODE_ADAPTER_CLASS |
|
protected static Map<Integer, MethodNode> |
BYTECODE_BINARY_ADAPTERS |
Constructor Summary
Constructor and description |
---|
StaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public ClassNode |
getClassNode() |
|
protected SourceUnit |
getSourceUnit() |
|
public StaticTypesTypeChooser |
getTypeChooser() |
|
public Expression |
transform(Expression expr) |
|
public void |
visitClass(ClassNode node) |
|
public void |
visitClassCodeContainer(Statement code) |
|
protected void |
visitConstructorOrMethod(MethodNode node, boolean isConstructor) |
Inherited Methods Summary
Field Detail
protected static final ClassNode BYTECODE_ADAPTER_CLASS
protected static final Map<Integer, MethodNode> BYTECODE_BINARY_ADAPTERS
Constructor Detail
public StaticCompilationTransformer(SourceUnit unit, StaticTypeCheckingVisitor visitor)
Method Detail
public ClassNode getClassNode()
@Override protected SourceUnit getSourceUnit()
public StaticTypesTypeChooser getTypeChooser()
@Override public Expression transform(Expression expr)
@Override public void visitClass(ClassNode node)
@Override public void visitClassCodeContainer(Statement code)
@Override protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
© 2003-2022 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/4.0.0/html/gapi/org/codehaus/groovy/transform/sc/transformers/StaticCompilationTransformer.html