Class 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 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