|
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