Class Java9

  • All Implemented Interfaces:
    VMPlugin

    public class Java9
    extends Java8
    Additional Java 9 based functions will be added here as needed.
    • Constructor Detail

      • Java9

        public Java9()
    • Method Detail

      • of

        public static java.lang.invoke.MethodHandles.Lookup of​(java.lang.Class<?> declaringClass)
      • getVersion

        public int getVersion()
        Description copied from interface: VMPlugin
        Gives the version the plugin is made for
        Specified by:
        getVersion in interface VMPlugin
        Overrides:
        getVersion in class Java8
        Returns:
        7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
      • getInvokeSpecialHandle

        public java.lang.Object getInvokeSpecialHandle​(java.lang.reflect.Method method,
                                                       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
        Overrides:
        getInvokeSpecialHandle in class Java7
        Returns:
        null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call