Package org.codehaus.groovy.vmplugin.v16

# Class Java16

java.lang.Object
org.codehaus.groovy.vmplugin.v8.Java8
org.codehaus.groovy.vmplugin.v9.Java9
org.codehaus.groovy.vmplugin.v10.Java10
org.codehaus.groovy.vmplugin.v16.Java16

All Implemented Interfaces:
  `VMPlugin`

Direct Known Subclasses:
  `Java17`

@Deprecated(since="6.0.0", forRemoval=true) public class Java16 extends Java10
Deprecated, for removal: This API element is subject to removal in a future version.
Use `Java17` instead. Groovy 6.0 requires JDK 17+.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Java16()`
  Deprecated, for removal: This API element is subject to removal in a future version.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getInvokeSpecialHandle(Method method, Object receiver)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a handle for invoking the supplied method, including proxy default methods.
  `List<String>`
  `getRecordComponentNames(Class<?> maybeRecord)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the component names declared by a record class.
  `int`
  `getVersion()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the Java feature version handled by this plugin.
  `Object`
  `invokeHandle(Object handle, Object[] args)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Invokes a handle produced by `getInvokeSpecialHandle(Method, Object)`.
  `protected void`
  `makeRecordComponents(CompileUnit cu, ClassNode cn, Class<?> c)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Adds record component metadata when the runtime class is a record.

  ### Methods inherited from class org.codehaus.groovy.vmplugin.v10.Java10

  `getPluginDefaultGroovyMethods`

  ### Methods inherited from class org.codehaus.groovy.vmplugin.v9.Java9

  `checkAccessible, checkCanSetAccessible, getDefaultImportClasses, newLookup, transformMetaMethod, trySetAccessible`

  ### Methods inherited from class org.codehaus.groovy.vmplugin.v8.Java8

  `applyTypeAnnotations, configureAnnotation, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, fillParameterNames, getPluginStaticGroovyMethods, getValue, invalidateCallSites, makeClassNode, of, setAdditionalClassInformation, toAnnotationNode, transformMetaMethod`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.vmplugin.VMPlugin

  `configureAnnotationNodeFromDefinition`

- ## Constructor Details

  - ### Java16

    public Java16()
    Deprecated, for removal: This API element is subject to removal in a future version.

- ## Method Details

  - ### getVersion

    public int getVersion()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the Java feature version handled by this plugin.
    Specified by:
      `getVersion` in interface `VMPlugin`
    Overrides:
      `getVersion` in class `Java10`
    Returns:
      `16`

  - ### getInvokeSpecialHandle

    public Object getInvokeSpecialHandle(Method method, Object receiver)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a handle for invoking the supplied method, including proxy default methods.
    Specified by:
      `getInvokeSpecialHandle` in interface `VMPlugin`
    Overrides:
      `getInvokeSpecialHandle` in class `Java8`
    Parameters:
      `method` - the method to invoke
      `receiver` - the bound receiver
    Returns:
      a bound invocation handle or a wrapped failure

  - ### invokeHandle

    public Object invokeHandle(Object handle, Object[] args) throws Throwable
    Deprecated, for removal: This API element is subject to removal in a future version.
    Invokes a handle produced by `getInvokeSpecialHandle(Method, Object)`.
    Specified by:
      `invokeHandle` in interface `VMPlugin`
    Overrides:
      `invokeHandle` in class `Java8`
    Parameters:
      `handle` - the handle or deferred failure to invoke
      `args` - the invocation arguments
    Returns:
      the invocation result
    Throws:
      `Throwable` - if invocation fails

  - ### makeRecordComponents

    protected void makeRecordComponents(CompileUnit cu, ClassNode cn, Class<?> c)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Adds record component metadata when the runtime class is a record.
    Overrides:
      `makeRecordComponents` in class `Java8`
    Parameters:
      `cu` - the owning compile unit
      `cn` - the class node to update
      `c` - the runtime class

  - ### getRecordComponentNames

    @Incubating public List<String> getRecordComponentNames(Class<?> maybeRecord)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the component names declared by a record class.
    Parameters:
      `maybeRecord` - the class to inspect
    Returns:
      the record component names, or the inherited fallback result