Class Java8

  • All Implemented Interfaces:
    VMPlugin
    Direct Known Subclasses:
    Java9

    public class Java8
    extends Java7
    Java 8 based functions.
    Since:
    2.5.0
    • Constructor Detail

      • Java8

        public Java8()
    • Method Detail

      • 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 Java7
        Returns:
        7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
      • getElementCode

        protected int getElementCode​(java.lang.annotation.ElementType value)
        Overrides:
        getElementCode in class Java5
      • fillParameterNames

        protected void fillParameterNames​(java.lang.String[] names,
                                          java.lang.reflect.Member member)
        Overrides:
        fillParameterNames in class Java5
      • of

        public static java.lang.invoke.MethodHandles.Lookup of​(java.lang.Class<?> declaringClass)
      • 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