Class MopWriter

java.lang.Object
org.codehaus.groovy.classgen.asm.MopWriter
Direct Known Subclasses:
StaticCompilationMopWriter

public class MopWriter
extends java.lang.Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static interface  MopWriter.Factory  
  • Field Summary

    Fields
    Modifier and Type Field Description
    static MopWriter.Factory FACTORY  
  • Constructor Summary

    Constructors
    Constructor Description
    MopWriter​(WriterController controller)  
  • Method Summary

    Modifier and Type Method Description
    void createMopMethods()  
    static boolean equalParameterTypes​(Parameter[] p1, Parameter[] p2)
    Deprecated.
    protected void generateMopCalls​(java.util.LinkedList<MethodNode> mopCalls, boolean useThis)
    Generates a Meta Object Protocol method, that is used to call a non public method, or to make a call to super.
    static java.lang.String getMopMethodName​(MethodNode method, boolean useThis)
    Creates a MOP method name from a method.
    static boolean isMopMethod​(java.lang.String methodName)
    Determines if a method is a MOP method.

    Methods inherited from class java.lang.Object

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

  • Constructor Details

  • Method Details

    • createMopMethods

      public void createMopMethods()
    • getMopMethodName

      public static java.lang.String getMopMethodName​(MethodNode method, boolean useThis)
      Creates a MOP method name from a method.
      Parameters:
      method - the method to be called by the mop method
      useThis - if true, then it is a call on "this", "super" else
      Returns:
      the mop method name
    • isMopMethod

      public static boolean isMopMethod​(java.lang.String methodName)
      Determines if a method is a MOP method. This is done by the method name. If the name starts with "this$" or "super$" but does not contain "$dist$", then it is an MOP method.
      Parameters:
      methodName - name of the method to test
      Returns:
      true if the method is a MOP method
    • generateMopCalls

      protected void generateMopCalls​(java.util.LinkedList<MethodNode> mopCalls, boolean useThis)
      Generates a Meta Object Protocol method, that is used to call a non public method, or to make a call to super.
      Parameters:
      mopCalls - list of methods a mop call method should be generated for
      useThis - true if "this" should be used for the naming
    • equalParameterTypes

      @Deprecated public static boolean equalParameterTypes​(Parameter[] p1, Parameter[] p2)
      Deprecated.