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
Additional Java 16 based functions will be added here as needed.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetInvokeSpecialHandle
(Method method, Object receiver) Returns a handle with bound receiver to invokeSpecial the given method.int
Gives the version the plugin is made forinvokeHandle
(Object handle, Object[] args) Invokes a handle produced by #getInvokeSpecialdHandleprotected void
makeRecordComponents
(CompileUnit cu, ClassNode classNode, Class<?> clazz) protected MethodHandles.Lookup
Methods inherited from class org.codehaus.groovy.vmplugin.v10.Java10
getPluginDefaultGroovyMethods
Methods inherited from class org.codehaus.groovy.vmplugin.v9.Java9
checkAccessible, checkCanSetAccessible, getDefaultImportClasses, getLookupConstructor, getPrivateLookup, transformMetaMethod, trySetAccessible
Methods inherited from class org.codehaus.groovy.vmplugin.v8.Java8
configureAnnotation, configureAnnotation, configureAnnotationNodeFromDefinition, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, doPrivileged, doPrivileged, fillParameterNames, getElementCode, getLookup, getPluginStaticGroovyMethods, invalidateCallSites, makeClassNode, of, setAdditionalClassInformation, transformMetaMethod
-
Constructor Details
-
Java16
public Java16()
-
-
Method Details
-
getVersion
public int getVersion()Description copied from interface:VMPlugin
Gives the version the plugin is made for- Specified by:
getVersion
in interfaceVMPlugin
- Overrides:
getVersion
in classJava10
- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
-
getInvokeSpecialHandle
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 interfaceVMPlugin
- Overrides:
getInvokeSpecialHandle
in classJava8
- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
-
invokeHandle
Description copied from interface:VMPlugin
Invokes a handle produced by #getInvokeSpecialdHandle- Specified by:
invokeHandle
in interfaceVMPlugin
- Overrides:
invokeHandle
in classJava8
- Parameters:
handle
- the handleargs
- arguments for the method call, can be empty but not null- Returns:
- the result of the method call
- Throws:
Throwable
-
makeRecordComponents
- Overrides:
makeRecordComponents
in classJava8
-
newLookup
-