Class TraitComposer

java.lang.Object
org.codehaus.groovy.transform.trait.TraitComposer

public abstract class TraitComposer
extends java.lang.Object
This class contains a static utility method doExtendTraits(org.codehaus.groovy.ast.ClassNode, org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.control.CompilationUnit) aimed at generating code for a classnode implementing a trait.
Since:
2.3.0
  • Field Summary

    Fields
    Modifier and Type Field Description
    static ClassNode COMPILESTATIC_CLASSNODE  
  • Constructor Summary

    Constructors
    Constructor Description
    TraitComposer()  
  • Method Summary

    Modifier and Type Method Description
    static void doExtendTraits​(ClassNode cNode, SourceUnit unit, CompilationUnit cu)
    Given a class node, if this class node implements a trait, then generate all the appropriate code which delegates calls to the trait.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • COMPILESTATIC_CLASSNODE

      public static final ClassNode COMPILESTATIC_CLASSNODE
  • Constructor Details

    • TraitComposer

      public TraitComposer()
  • Method Details

    • doExtendTraits

      public static void doExtendTraits​(ClassNode cNode, SourceUnit unit, CompilationUnit cu)
      Given a class node, if this class node implements a trait, then generate all the appropriate code which delegates calls to the trait. It is safe to call this method on a class node which does not implement a trait.
      Parameters:
      cNode - a class node
      unit - the source unit