Package org.codehaus.groovy.vmplugin.v8
Class Java8
- java.lang.Object
- 
- org.codehaus.groovy.vmplugin.v8.Java8
 
- 
- 
Constructor SummaryConstructors Constructor Description Java8()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckAccessible(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.voidconfigureAnnotation(AnnotationNode node)voidconfigureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)voidconfigureClassNode(CompileUnit compileUnit, ClassNode classNode)static GenericsTypeconfigureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)static ClassNodeconfigureTypeVariableReference(String name)protected intgetElementCode(ElementType value)ObjectgetInvokeSpecialHandle(Method method, Object receiver)Returns a handle with bound receiver to invokeSpecial the given method.Class<?>[]getPluginDefaultGroovyMethods()Class<?>[]getPluginStaticGroovyMethods()intgetVersion()Gives the version the plugin is made forvoidinvalidateCallSites()ObjectinvokeHandle(Object handle, Object[] args)Invokes a handle produced by #getInvokeSpecialdHandleprotected ParametermakeParameter(CompileUnit cu, Type type, Class<?> cl, Annotation[] annotations, String name)static MethodHandles.Lookupof(Class<?> declaringClass)protected Parameter[]processParameters(CompileUnit compileUnit, Method m)voidsetAdditionalClassInformation(ClassNode cn)MetaMethodtransformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)transform meta method.MetaMethodtransformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)transform meta methodbooleantrySetAccessible(AccessibleObject ao)Set theaccessibleflag for this reflected object totrueif possible.- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.codehaus.groovy.vmplugin.VMPlugingetDefaultImportClasses
 
- 
 
- 
- 
- 
Method Detail- 
configureTypeVariableDefinitionpublic static GenericsType configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds) 
 - 
getPluginDefaultGroovyMethodspublic Class<?>[] getPluginDefaultGroovyMethods() - Specified by:
- getPluginDefaultGroovyMethodsin 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
 
 - 
getElementCodeprotected int getElementCode(ElementType value) 
 - 
processParametersprotected Parameter[] processParameters(CompileUnit compileUnit, Method m) 
 - 
setAdditionalClassInformationpublic void setAdditionalClassInformation(ClassNode cn) - Specified by:
- setAdditionalClassInformationin interface- VMPlugin
 
 - 
getPluginStaticGroovyMethodspublic Class<?>[] getPluginStaticGroovyMethods() - Specified by:
- getPluginStaticGroovyMethodsin interface- VMPlugin
 
 - 
configureAnnotationNodeFromDefinitionpublic void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root) - Specified by:
- configureAnnotationNodeFromDefinitionin interface- VMPlugin
 
 - 
configureAnnotationpublic void configureAnnotation(AnnotationNode node) - Specified by:
- configureAnnotationin interface- VMPlugin
 
 - 
configureClassNodepublic void configureClassNode(CompileUnit compileUnit, ClassNode classNode) - Specified by:
- configureClassNodein interface- VMPlugin
 
 - 
makeParameterprotected Parameter makeParameter(CompileUnit cu, Type type, Class<?> cl, Annotation[] annotations, String name) 
 - 
checkCanSetAccessiblepublic boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass) 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 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
 
 - 
trySetAccessiblepublic boolean trySetAccessible(AccessibleObject ao) Description 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.
 
 - 
transformMetaMethodpublic MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller) Description copied from interface:VMPlugintransform meta method- Specified by:
- transformMetaMethodin interface- VMPlugin
- Parameters:
- metaClass- meta class
- metaMethod- the original meta method
- caller- caller class, whose method sets accessible for methods
- Returns:
- the transformed meta method
 
 - 
transformMetaMethodpublic MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod) Description copied from interface:VMPlugintransform meta method.- Specified by:
- transformMetaMethodin interface- VMPlugin
- Parameters:
- metaClass- meta class
- metaMethod- the original meta method
- Returns:
- the transformed meta method
 
 - 
invalidateCallSitespublic void invalidateCallSites() - Specified by:
- invalidateCallSitesin interface- VMPlugin
 
 - 
getInvokeSpecialHandlepublic Object getInvokeSpecialHandle(Method method, Object receiver) Description 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
 
 - 
invokeHandlepublic Object invokeHandle(Object handle, Object[] args) throws Throwable Description copied from interface:VMPluginInvokes a handle produced by #getInvokeSpecialdHandle- Specified by:
- invokeHandlein interface- VMPlugin
- Parameters:
- handle- the handle
- args- arguments for the method call, can be empty but not null
- Returns:
- the result of the method call
- Throws:
- Throwable
 
 - 
ofpublic static MethodHandles.Lookup of(Class<?> declaringClass) 
 
- 
 
-