Class MopWriter

    • Method Detail

      • createMopMethods

        public void createMopMethods()
      • getMopMethodName

        public static 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​(String methodName)
        method to determine 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​(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

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