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

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected Map<ElementType, Integer>` | `elementTypeToTarget` |

  - ### 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)`
    `` | `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)`
    `` | `public Object` | `getInvokeSpecialHandle(Method method, 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, org.objectweb.asm.Type t, Class<?> c)`
    `` | `protected void` | `makeRecordComponents(CompileUnit cu, ClassNode classNode, Class<?> clazz)`
    `` | `protected MethodHandles.Lookup` | `newLookup(Class<?> targetClass)`
    `` | `public static MethodHandles.Lookup` | `of(Class<?> targetClass)`
    `` | `public void` | `setAdditionalClassInformation(ClassNode cn)`
    `` | `protected AnnotationNode` | `toAnnotationNode(Annotation annotation)`
    `` | `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` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### protected final Map<ElementType, Integer> elementTypeToTarget

  - ### 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)

    - #### @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(since = "4.0.2")
      public T doPrivileged(PrivilegedAction<T> action)

    - #### <T> @Override
      @Deprecated(since = "4.0.2")
      public T doPrivileged(PrivilegedExceptionAction<T> action)

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

    - #### @Override
      public Object getInvokeSpecialHandle(Method method, 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, org.objectweb.asm.Type t, Class<?> c)

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

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

    - #### @Deprecated(since = "5.0.0")
      public static MethodHandles.Lookup of(Class<?> targetClass)

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

    - #### protected AnnotationNode toAnnotationNode(Annotation annotation)

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

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

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