[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-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/transform/sc/transformers/StaticCompilationTransformer.html