|
Groovy Documentation | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeExpressionTransformer
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 | |
|---|---|
protected static ClassNode |
BYTECODE_ADAPTER_CLASS
|
protected static java.util.Map |
BYTECODE_BINARY_ADAPTERS
|
| Constructor Summary | |
StaticCompilationTransformer(SourceUnit unit)
|
|
| Method Summary | |
|---|---|
ClassNode
|
getClassNode()
|
protected SourceUnit
|
getSourceUnit()
|
StaticTypesTypeChooser
|
getTypeChooser()
|
Expression
|
transform(Expression expr)
|
void
|
visitClass(ClassNode node)
|
void
|
visitClassCodeContainer(Statement code)
|
| Methods inherited from class java.lang.Object | |
|---|---|
| java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
| Field Detail |
|---|
protected static final ClassNode BYTECODE_ADAPTER_CLASS
protected static final java.util.Map BYTECODE_BINARY_ADAPTERS
| Constructor Detail |
|---|
public StaticCompilationTransformer(SourceUnit unit)
| Method Detail |
|---|
public ClassNode getClassNode()
protected SourceUnit getSourceUnit() {
protected SourceUnit getSourceUnit()
public StaticTypesTypeChooser getTypeChooser()
public Expression transform(Expression expr) {
public Expression transform(Expression expr)
public void visitClass(final ClassNode node) {
public void visitClass(ClassNode node)
public void visitClassCodeContainer(final Statement code) {
public void visitClassCodeContainer(Statement code)
Groovy Documentation