Modifier and Type | Method and Description |
---|---|
boolean |
checkAccessible(Class<?> callerClass,
Class<?> declaringClass,
int memberModifiers,
boolean allowIllegalAccess)
check whether the member can be accessed or not
|
boolean |
checkCanSetAccessible(AccessibleObject accessibleObject,
Class<?> callerClass)
Check whether invoking
AccessibleObject.setAccessible(boolean) on the accessible object will be completed successfully |
void |
configureAnnotation(AnnotationNode an) |
void |
configureAnnotationNodeFromDefinition(AnnotationNode definition,
AnnotationNode root) |
void |
configureClassNode(CompileUnit compileUnit,
ClassNode classNode) |
Object |
getInvokeSpecialHandle(Method m,
Object receiver)
Returns a handle with bound receiver to invokeSpecial the given method.
|
Class[] |
getPluginDefaultGroovyMethods() |
Class[] |
getPluginStaticGroovyMethods() |
int |
getVersion()
Gives the version the plugin is made for
|
void |
invalidateCallSites() |
Object |
invokeHandle(Object handle,
Object[] args)
Invokes a handle produced by #getInvokeSpecialdHandle
|
void |
setAdditionalClassInformation(ClassNode c) |
MetaMethod |
transformMetaMethod(MetaClass metaClass,
MetaMethod metaMethod)
transform meta method.
|
MetaMethod |
transformMetaMethod(MetaClass metaClass,
MetaMethod metaMethod,
Class<?> caller)
transform meta method
|
boolean |
trySetAccessible(AccessibleObject ao)
Set the
accessible flag for this reflected object to true
if possible. |
void setAdditionalClassInformation(ClassNode c)
Class[] getPluginDefaultGroovyMethods()
Class[] getPluginStaticGroovyMethods()
void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)
void configureAnnotation(AnnotationNode an)
void configureClassNode(CompileUnit compileUnit, ClassNode classNode)
void invalidateCallSites()
Object getInvokeSpecialHandle(Method m, Object receiver)
Object invokeHandle(Object handle, Object[] args) throws Throwable
handle
- the handleargs
- arguments for the method call, can be empty but not nullThrowable
int getVersion()
boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)
AccessibleObject.setAccessible(boolean)
on the accessible object will be completed successfullyaccessibleObject
- the accessible object to checkcallerClass
- the callerClass to invoke setAccessible
boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)
callerClass
- callerClass the callerClass to invoke setAccessible
declaringClass
- the type of member ownermemberModifiers
- modifiers of memberallowIllegalAccess
- whether to allow illegal accessboolean trySetAccessible(AccessibleObject ao)
accessible
flag for this reflected object to true
if possible.ao
- the accessible objecttrue
if the accessible
flag is set to true
;
false
if access cannot be enabled.SecurityException
- if the request is denied by the security managerMetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)
metaClass
- meta classmetaMethod
- the original meta methodcaller
- caller class, whose method sets accessible for methodsMetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)
metaClass
- meta classmetaMethod
- the original meta method