Groovy Documentation

org.codehaus.groovy.grails.compiler.injection
[Java] Class MixinTransformation

java.lang.Object
  org.codehaus.groovy.grails.compiler.injection.MixinTransformation
All Implemented Interfaces:
org.codehaus.groovy.transform.ASTTransformation

@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
public class MixinTransformation
extends java.lang.Object

The logic for the Mixin location transform.

Authors:
Graeme Rocher
Since:
2.1.2


Field Summary
static org.codehaus.groovy.ast.ClassNode GROOVY_OBJECT_CLASS_NODE

static java.lang.String OBJECT_CLASS

 
Method Summary
protected org.codehaus.groovy.ast.expr.ListExpression getListOfClasses(org.codehaus.groovy.ast.AnnotationNode node)

protected boolean hasDeclaredMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode mixinMethod)

static boolean isAddableMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)

protected boolean isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)

void visit(org.codehaus.groovy.ast.ASTNode[] astNodes, org.codehaus.groovy.control.SourceUnit source)

void weaveMixinsIntoClass(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.expr.ListExpression values)

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#wait(long), 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

GROOVY_OBJECT_CLASS_NODE

public static final org.codehaus.groovy.ast.ClassNode GROOVY_OBJECT_CLASS_NODE


OBJECT_CLASS

public static final java.lang.String OBJECT_CLASS


 
Method Detail

getListOfClasses

protected org.codehaus.groovy.ast.expr.ListExpression getListOfClasses(org.codehaus.groovy.ast.AnnotationNode node)


hasDeclaredMethod

protected boolean hasDeclaredMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode mixinMethod)


isAddableMethod

public static boolean isAddableMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)


isCandidateMethod

protected boolean isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)


visit

public void visit(org.codehaus.groovy.ast.ASTNode[] astNodes, org.codehaus.groovy.control.SourceUnit source)


weaveMixinsIntoClass

public void weaveMixinsIntoClass(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.expr.ListExpression values)


 

Groovy Documentation