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
Java 8 based functions.
- Since:
- 2.5.0
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleancheckAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) check whether the member can be accessed or notbooleancheckCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass) The following scenarios can not set accessible, i.e.voidvoidconfigureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root) voidconfigureClassNode(CompileUnit compileUnit, ClassNode classNode) static GenericsTypeconfigureTypeVariableDefinition(ClassNode base, ClassNode[] bounds) static ClassNode<T> TdoPrivileged(PrivilegedAction<T> action) Deprecated.<T> TdoPrivileged(PrivilegedExceptionAction<T> action) Deprecated.protected voidfillParameterNames(String[] names, Member member) getInvokeSpecialHandle(Method method, Object receiver) Returns a handle with bound receiver to invokeSpecial the given method.Class<?>[]Class<?>[]protected ExpressionReturns the initial expression for given field.intGives the version the plugin is made forvoidinvokeHandle(Object handle, Object[] arguments) Invokes a handle produced by #getInvokeSpecialdHandleprotected ClassNodemakeClassNode(CompileUnit cu, Type t, Class<?> c) protected voidmakeRecordComponents(CompileUnit cu, ClassNode classNode, Class<?> clazz) protected MethodHandles.Lookupstatic MethodHandles.LookupDeprecated.voidprotected AnnotationNodetoAnnotationNode(Annotation annotation) transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod) transform meta method.transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller) transform meta methodbooleanSet theaccessibleflag for this reflected object totrueif possible.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.vmplugin.VMPlugingetDefaultImportClasses, getRecordComponentNames
- 
Field Details- 
elementTypeToTarget
 
- 
- 
Constructor Details- 
Java8public Java8()
 
- 
- 
Method Details- 
configureTypeVariableDefinition
- 
configureTypeVariableReference
- 
getPluginDefaultGroovyMethods- Specified by:
- getPluginDefaultGroovyMethodsin interface- VMPlugin
 
- 
getPluginStaticGroovyMethods- Specified by:
- getPluginStaticGroovyMethodsin interface- VMPlugin
 
- 
getVersionpublic int getVersion()Description copied from interface:VMPluginGives the version the plugin is made for- Specified by:
- getVersionin interface- VMPlugin
- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
 
- 
setAdditionalClassInformation- Specified by:
- setAdditionalClassInformationin interface- VMPlugin
 
- 
configureAnnotation- Specified by:
- configureAnnotationin interface- VMPlugin
 
- 
toAnnotationNode
- 
configureAnnotationNodeFromDefinition- Specified by:
- configureAnnotationNodeFromDefinitionin interface- VMPlugin
 
- 
configureClassNode- Specified by:
- configureClassNodein interface- VMPlugin
 
- 
getValueReturns the initial expression for given field.- Returns:
- value expression or null
- Since:
- 5.0.0
 
- 
makeRecordComponents
- 
makeClassNode
- 
fillParameterNames
- 
checkCanSetAccessibleThe 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 interface- VMPlugin
- Parameters:
- accessibleObject- the accessible object to check
- callerClass- the callerClass to invoke- setAccessible
- Returns:
- the check result
 
- 
checkAccessiblepublic boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) Description copied from interface:VMPlugincheck whether the member can be accessed or not- Specified by:
- checkAccessiblein interface- VMPlugin
- Parameters:
- callerClass- callerClass the callerClass to invoke- setAccessible
- declaringClass- the type of member owner
- memberModifiers- modifiers of member
- allowIllegalAccess- whether to allow illegal access
- Returns:
- the result of checking
 
- 
trySetAccessibleDescription copied from interface:VMPluginSet theaccessibleflag for this reflected object totrueif possible.- Specified by:
- trySetAccessiblein interface- VMPlugin
- Parameters:
- ao- the accessible object
- Returns:
- trueif the- accessibleflag is set to- true;- falseif access cannot be enabled.
 
- 
transformMetaMethodDescription copied from interface:VMPlugintransform meta method.- Specified by:
- transformMetaMethodin interface- VMPlugin
- Parameters:
- metaClass- metaclass
- metaMethod- the original meta method
- Returns:
- the transformed meta method
 
- 
transformMetaMethodDescription copied from interface:VMPlugintransform meta method- Specified by:
- transformMetaMethodin interface- VMPlugin
- Parameters:
- metaClass- metaclass
- metaMethod- the original meta method
- caller- caller class, whose method sets accessible for methods
- Returns:
- the transformed meta method
 
- 
invalidateCallSitespublic void invalidateCallSites()- Specified by:
- invalidateCallSitesin interface- VMPlugin
 
- 
getInvokeSpecialHandleDescription copied from interface:VMPluginReturns 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 interface- VMPlugin
- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
 
- 
invokeHandleDescription copied from interface:VMPluginInvokes a handle produced by #getInvokeSpecialdHandle- Specified by:
- invokeHandlein interface- VMPlugin
- Parameters:
- handle- the handle
- arguments- arguments for the method call, can be empty but not null
- Returns:
- the result of the method call
- Throws:
- Throwable
 
- 
ofDeprecated.
- 
newLookup
- 
doPrivilegedDeprecated.Description copied from interface:VMPluginPerforms the specified PrivilegedAction with privileges enabled on platforms which support that capability, otherwise the action is performed ignoring privileges.- Specified by:
- doPrivilegedin interface- VMPlugin
- Type Parameters:
- T- the type of the value returned by the PrivilegedAction's run method
- Parameters:
- action- the action to be performed
- Returns:
- the value returned by the action's run method
 
- 
doPrivilegedDeprecated.Description copied from interface:VMPluginPerforms the specified PrivilegedExceptionAction with privileges enabled on platforms which support that capability, otherwise the action is performed ignoring privileges.- Specified by:
- doPrivilegedin interface- VMPlugin
- Type Parameters:
- T- the type of the value returned by the PrivilegedAction's run method
- Parameters:
- action- the action to be performed
- Returns:
- the value returned by the action's run method
 
 
-