Package org.codehaus.groovy.vmplugin.v8
Class Java8
java.lang.Object
org.codehaus.groovy.vmplugin.v8.Java8
- All Implemented Interfaces:
VMPlugin
- Direct Known Subclasses:
Java9
Deprecated, for removal: This API element is subject to removal in a future version.
Java 8 based functions.
- Since:
- 2.5.0
-
Constructor Summary
ConstructorsConstructorDescriptionJava8()Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) Deprecated, for removal: This API element is subject to removal in a future version.check whether the member can be accessed or notbooleancheckCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass) Deprecated, for removal: This API element is subject to removal in a future version.The following scenarios can not set accessible, i.e.voidDeprecated, for removal: This API element is subject to removal in a future version.Copies runtime annotation metadata into the supplied annotation node.voidconfigureClassNode(CompileUnit compileUnit, ClassNode classNode) Deprecated, for removal: This API element is subject to removal in a future version.Configures the supplied class node from its runtime type information.static GenericsTypeconfigureTypeVariableDefinition(ClassNode base, ClassNode[] bounds) Deprecated, for removal: This API element is subject to removal in a future version.Configures a type-variable definition node from its bounds.static ClassNodeDeprecated, for removal: This API element is subject to removal in a future version.Creates a placeholder class node that references a type variable by name.protected voidfillParameterNames(String[] names, Member member) Deprecated, for removal: This API element is subject to removal in a future version.Populates parameter names from the supplied reflective executable member.getInvokeSpecialHandle(Method method, Object receiver) Deprecated, for removal: This API element is subject to removal in a future version.Returns a handle with bound receiver to invokeSpecial the given method.Class<?>[]Deprecated, for removal: This API element is subject to removal in a future version.Returns plugin-specific default Groovy methods.Class<?>[]Deprecated, for removal: This API element is subject to removal in a future version.Returns plugin-specific static Groovy methods.protected ExpressionDeprecated, for removal: This API element is subject to removal in a future version.Returns the initial expression for given field.intDeprecated, for removal: This API element is subject to removal in a future version.Gives the version the plugin is made forvoidDeprecated, for removal: This API element is subject to removal in a future version.Invalidates cached call sites maintained by the plugin.invokeHandle(Object handle, Object[] arguments) Deprecated, for removal: This API element is subject to removal in a future version.Invokes a handle produced by #getInvokeSpecialdHandleprotected ClassNodemakeClassNode(CompileUnit cu, Type t, Class<?> c) Deprecated, for removal: This API element is subject to removal in a future version.Creates or reuses a class node for the supplied runtime and generic type information.protected voidmakeRecordComponents(CompileUnit cu, ClassNode classNode, Class<?> clazz) Deprecated, for removal: This API element is subject to removal in a future version.Adds record components to the class node when supported by the runtime.protected MethodHandles.LookupDeprecated, for removal: This API element is subject to removal in a future version.Creates a lookup capable of accessing members declared by the target class.static MethodHandles.LookupDeprecated.voidDeprecated, for removal: This API element is subject to removal in a future version.Adds VM-specific metadata to the given class node.protected AnnotationNodetoAnnotationNode(Annotation annotation) Deprecated, for removal: This API element is subject to removal in a future version.Converts a runtime annotation instance into a Groovy AST annotation node.transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod) Deprecated, for removal: This API element is subject to removal in a future version.transform meta method.transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller) Deprecated, for removal: This API element is subject to removal in a future version.transform meta methodbooleanDeprecated, for removal: This API element is subject to removal in a future version.Set theaccessibleflag for this reflected object totrueif possible.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.vmplugin.VMPlugin
configureAnnotationNodeFromDefinition, getDefaultImportClasses, getRecordComponentNames
-
Constructor Details
-
Java8
public Java8()Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
configureTypeVariableDefinition
Deprecated, for removal: This API element is subject to removal in a future version.Configures a type-variable definition node from its bounds.- Parameters:
base- the placeholder class nodebounds- the upper bounds of the type variable- Returns:
- the configured generics type
-
configureTypeVariableReference
Deprecated, for removal: This API element is subject to removal in a future version.Creates a placeholder class node that references a type variable by name.- Parameters:
name- the type-variable name- Returns:
- the placeholder class node
-
getPluginDefaultGroovyMethods
Deprecated, for removal: This API element is subject to removal in a future version.Returns plugin-specific default Groovy methods.- Specified by:
getPluginDefaultGroovyMethodsin interfaceVMPlugin- Returns:
- the default Groovy method classes contributed by this plugin
-
getPluginStaticGroovyMethods
Deprecated, for removal: This API element is subject to removal in a future version.Returns plugin-specific static Groovy methods.- Specified by:
getPluginStaticGroovyMethodsin interfaceVMPlugin- Returns:
- the static Groovy method classes contributed by this plugin
-
getVersion
public int getVersion()Deprecated, for removal: This API element is subject to removal in a future version.Gives the version the plugin is made for- Specified by:
getVersionin interfaceVMPlugin- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
-
setAdditionalClassInformation
Deprecated, for removal: This API element is subject to removal in a future version.Adds VM-specific metadata to the given class node.- Specified by:
setAdditionalClassInformationin interfaceVMPlugin- Parameters:
cn- the class node to enrich
-
configureAnnotation
Deprecated, for removal: This API element is subject to removal in a future version.Copies runtime annotation metadata into the supplied annotation node.- Specified by:
configureAnnotationin interfaceVMPlugin- Parameters:
node- the annotation node to configure
-
toAnnotationNode
Deprecated, for removal: This API element is subject to removal in a future version.Converts a runtime annotation instance into a Groovy AST annotation node.- Parameters:
annotation- the runtime annotation- Returns:
- the corresponding annotation node
-
configureClassNode
Deprecated, for removal: This API element is subject to removal in a future version.Configures the supplied class node from its runtime type information.- Specified by:
configureClassNodein interfaceVMPlugin- Parameters:
compileUnit- the compile unit that owns the class nodeclassNode- the class node to configure
-
getValue
Deprecated, for removal: This API element is subject to removal in a future version.Returns the initial expression for given field.- Returns:
- value expression or null
- Since:
- 5.0.0
-
makeRecordComponents
Deprecated, for removal: This API element is subject to removal in a future version.Adds record components to the class node when supported by the runtime.- Parameters:
cu- the owning compile unitclassNode- the class node to updateclazz- the runtime class
-
makeClassNode
Deprecated, for removal: This API element is subject to removal in a future version.Creates or reuses a class node for the supplied runtime and generic type information.- Parameters:
cu- the owning compile unitt- the reflective typec- the erased runtime class- Returns:
- the resolved class node
-
fillParameterNames
Deprecated, for removal: This API element is subject to removal in a future version.Populates parameter names from the supplied reflective executable member.- Parameters:
names- the destination array for parameter namesmember- the reflective member providing parameter metadata
-
checkCanSetAccessible
Deprecated, for removal: This API element is subject to removal in a future version.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- Specified by:
checkCanSetAccessiblein interfaceVMPlugin- Parameters:
accessibleObject- the accessible object to checkcallerClass- the callerClass to invokesetAccessible- Returns:
- the check result
-
checkAccessible
public boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) Deprecated, for removal: This API element is subject to removal in a future version.check whether the member can be accessed or not- Specified by:
checkAccessiblein interfaceVMPlugin- Parameters:
callerClass- callerClass the callerClass to invokesetAccessibledeclaringClass- the type of member ownermemberModifiers- modifiers of memberallowIllegalAccess- whether to allow illegal access- Returns:
- the result of checking
-
trySetAccessible
Deprecated, for removal: This API element is subject to removal in a future version.Set theaccessibleflag for this reflected object totrueif possible.- Specified by:
trySetAccessiblein interfaceVMPlugin- Parameters:
ao- the accessible object- Returns:
trueif theaccessibleflag is set totrue;falseif access cannot be enabled.
-
transformMetaMethod
Deprecated, for removal: This API element is subject to removal in a future version.transform meta method.- Specified by:
transformMetaMethodin interfaceVMPlugin- Parameters:
metaClass- metaclassmetaMethod- the original meta method- Returns:
- the transformed meta method
-
transformMetaMethod
Deprecated, for removal: This API element is subject to removal in a future version.transform meta method- Specified by:
transformMetaMethodin interfaceVMPlugin- Parameters:
metaClass- metaclassmetaMethod- the original meta methodcaller- caller class, whose method sets accessible for methods- Returns:
- the transformed meta method
-
invalidateCallSites
public void invalidateCallSites()Deprecated, for removal: This API element is subject to removal in a future version.Invalidates cached call sites maintained by the plugin.- Specified by:
invalidateCallSitesin interfaceVMPlugin
-
getInvokeSpecialHandle
Deprecated, for removal: This API element is subject to removal in a future version.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:
getInvokeSpecialHandlein interfaceVMPlugin- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
-
invokeHandle
Deprecated, for removal: This API element is subject to removal in a future version.Invokes a handle produced by #getInvokeSpecialdHandle- Specified by:
invokeHandlein interfaceVMPlugin- Parameters:
handle- the handlearguments- arguments for the method call, can be empty but not null- Returns:
- the result of the method call
- Throws:
Throwable
-
of
Deprecated.Returns a private lookup for the supplied target class using the active VM plugin.- Parameters:
targetClass- the class to create a lookup for- Returns:
- a lookup with private access to
targetClass
-
newLookup
Deprecated, for removal: This API element is subject to removal in a future version.Creates a lookup capable of accessing members declared by the target class.- Parameters:
targetClass- the lookup target- Returns:
- a lookup for the target class
-
Java17instead. Groovy 6.0 requires JDK 17+.