Class Java5

  • All Implemented Interfaces:
    VMPlugin
    Direct Known Subclasses:
    Java6

    public class Java5
    extends java.lang.Object
    implements VMPlugin
    java 5 based functions
    Author:
    Jochen Theodorou
    • Constructor Detail

      • Java5

        public Java5()
    • Method Detail

      • getInvokeSpecialHandle

        public java.lang.Object getInvokeSpecialHandle​(java.lang.reflect.Method m,
                                                       java.lang.Object receiver)
        Description copied from interface: VMPlugin
        Returns a handle with bound receiver to invokeSpecial the given method. This method will require at least Java 7, but since the source has to compile on older Java versions as well it is not marked to return a MethodHandle and uses Object instead
        Specified by:
        getInvokeSpecialHandle in interface VMPlugin
        Returns:
        null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
      • getVersion

        public int getVersion()
        Description copied from interface: VMPlugin
        Gives the version the plguin is made for
        Specified by:
        getVersion in interface VMPlugin
        Returns:
        5 for jdk5, 6 for jdk6, 7 for jdk7 or higher
      • invokeHandle

        public java.lang.Object invokeHandle​(java.lang.Object handle,
                                             java.lang.Object[] args)
                                      throws java.lang.Throwable
        Description copied from interface: VMPlugin
        Invokes a handle produced by #getInvokeSpecialdHandle
        Specified by:
        invokeHandle in interface VMPlugin
        Parameters:
        handle - the handle
        args - arguments for the method call, can be empty but not null
        Returns:
        the result of the method call
        Throws:
        java.lang.Throwable