Package: org.codehaus.groovy.vmplugin.v8

## [Java] Class Java8

- org.codehaus.groovy.vmplugin.v8.Java8

- All Implemented Interfaces and Traits:
    VMPlugin

      public class Java8
      extends Object
      implements VMPlugin

  Java 8 based functions.

  Since:
    2.5.0

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public boolean` | `checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)`
    `` | `public boolean` | `checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)` The following scenarios can not set accessible, i.e. the return value is false 1) SecurityException occurred 2) the accessible object is a Constructor object for the Class class
    `` | `public void` | `configureAnnotation(AnnotationNode node)`
    `` | `protected void` | `configureAnnotation(AnnotationNode node, Annotation annotation)`
    `` | `public void` | `configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)`
    `` | `public void` | `configureClassNode(CompileUnit compileUnit, ClassNode classNode)`
    `` | `public static GenericsType` | `configureTypeVariableDefinition(ClassNode base, ClassNode[] bounds)`
    `` | `public static ClassNode` | `configureTypeVariableReference(String name)`
    `<T>` | `public T` | `doPrivileged(PrivilegedAction<T> action)`
    `<T>` | `public T` | `doPrivileged(PrivilegedExceptionAction<T> action)`
    `` | `protected void` | `fillParameterNames(String[] names, Member member)`
    `` | `protected int` | `getElementCode(ElementType value)` deprecated: use elementTypeToTarget EnumMap in Groovy 5
    `` | `public Object` | `getInvokeSpecialHandle(Method method, Object receiver)`
    `` | `protected MethodHandles.Lookup` | `getLookup(Object receiver)`
    `` | `public Class<?>[]` | `getPluginDefaultGroovyMethods()`
    `` | `public Class<?>[]` | `getPluginStaticGroovyMethods()`
    `` | `public int` | `getVersion()`
    `` | `public void` | `invalidateCallSites()`
    `` | `public Object` | `invokeHandle(Object handle, Object[] arguments)`
    `` | `protected ClassNode` | `makeClassNode(CompileUnit cu, Type t, Class<?> c)`
    `` | `protected void` | `makeRecordComponents(CompileUnit cu, ClassNode classNode, Class<?> clazz)`
    `` | `protected MethodHandles.Lookup` | `newLookup(Class<?> declaringClass)`
    `` | `public static MethodHandles.Lookup` | `of(Class<?> declaringClass)`
    `` | `public void` | `setAdditionalClassInformation(ClassNode cn)`
    `` | `public MetaMethod` | `transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)`
    `` | `public MetaMethod` | `transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)`
    `` | `public boolean` | `trySetAccessible(AccessibleObject ao)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### @Override
      public boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)

    - #### @Override
      @SuppressWarnings("removal")
      public boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)

      The following scenarios can not set accessible, i.e. the return value is false 1) SecurityException occurred 2) the accessible object is a Constructor object for the Class class

      Parameters:
        `accessibleObject` - the accessible object to check
        `callerClass` - the callerClass to invoke `setAccessible`
      Returns:
        the check result

    - #### @Override
      public void configureAnnotation(AnnotationNode node)

    - #### protected void configureAnnotation(AnnotationNode node, Annotation annotation)

    - #### @Override
      public void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)

    - #### @Override
      public void configureClassNode(CompileUnit compileUnit, ClassNode classNode)

    - #### public static GenericsType configureTypeVariableDefinition(ClassNode base, ClassNode[] bounds)

    - #### public static ClassNode configureTypeVariableReference(String name)

    - #### <T> @Override
      @Deprecated
      public T doPrivileged(PrivilegedAction<T> action)

    - #### <T> @Override
      @Deprecated
      public T doPrivileged(PrivilegedExceptionAction<T> action)

    - #### protected void fillParameterNames(String[] names, Member member)

    - #### @Deprecated
      protected int getElementCode(ElementType value)

      deprecated:
        use elementTypeToTarget EnumMap in Groovy 5

    - #### @Override
      public Object getInvokeSpecialHandle(Method method, Object receiver)

    - #### @Deprecated
      protected MethodHandles.Lookup getLookup(Object receiver)

    - #### @Override
      public Class<?>[] getPluginDefaultGroovyMethods()

    - #### @Override
      public Class<?>[] getPluginStaticGroovyMethods()

    - #### @Override
      public int getVersion()

    - #### @Override
      public void invalidateCallSites()

    - #### @Override
      public Object invokeHandle(Object handle, Object[] arguments)

    - #### protected ClassNode makeClassNode(CompileUnit cu, Type t, Class<?> c)

    - #### protected void makeRecordComponents(CompileUnit cu, ClassNode classNode, Class<?> clazz)

    - #### protected MethodHandles.Lookup newLookup(Class<?> declaringClass)

    - #### public static MethodHandles.Lookup of(Class<?> declaringClass)

    - #### @Override
      public void setAdditionalClassInformation(ClassNode cn)

    - #### @Override
      public MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)

    - #### @Override
      public MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)

    - #### @Override
      public boolean trySetAccessible(AccessibleObject ao)