MixinTransformation (Grails 4.0.2)
Date: 2020-02-21

Package: org.grails.compiler.injection

## [Java] Class MixinTransformation

- org.grails.compiler.injection.MixinTransformation

- All Implemented Interfaces and Traits:
    org.codehaus.groovy.transform.ASTTransformation

      @org.codehaus.groovy.transform.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

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static org.codehaus.groovy.ast.ClassNode` | `GROOVY_OBJECT_CLASS_NODE` |
    `static java.lang.String` | `OBJECT_CLASS` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `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)`

  - ### Inherited Methods Summary

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

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

    - #### public static final java.lang.String OBJECT_CLASS

  - ### Method Detail

    - #### 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)

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

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

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

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