Package org.codehaus.groovy.vmplugin.v9
Class Java9
java.lang.Object
org.codehaus.groovy.vmplugin.v8.Java8
org.codehaus.groovy.vmplugin.v9.Java9
- All Implemented Interfaces:
- VMPlugin
- Direct Known Subclasses:
- Java10
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleancheckAccessible(Class<?> accessingClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) check whether the member can be accessed or notbooleancheckCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass) This method may be used by a caller in class C to check whether to enable access to a member of declaring class D successfully ifJava8.checkCanSetAccessible(java.lang.reflect.AccessibleObject, java.lang.Class)returns true and any of the following hold:getDefaultImportClasses(String[] packageNames) Returns the default import classes: class name -> the relevant package namesprotected static Constructor<MethodHandles.Lookup>Class<?>[]protected static MethodintGives the version the plugin is made forprotected MethodHandles.LookuptransformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller) transform meta methodbooleanSet theaccessibleflag for this reflected object totrueif possible.Methods inherited from class org.codehaus.groovy.vmplugin.v8.Java8configureAnnotation, configureAnnotation, configureAnnotationNodeFromDefinition, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, doPrivileged, doPrivileged, fillParameterNames, getElementCode, getInvokeSpecialHandle, getLookup, getPluginStaticGroovyMethods, invalidateCallSites, invokeHandle, makeClassNode, makeRecordComponents, of, setAdditionalClassInformation, transformMetaMethodMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.vmplugin.VMPlugingetRecordComponentNames
- 
Constructor Details- 
Java9public Java9()
 
- 
- 
Method Details- 
getVersionpublic int getVersion()Description copied from interface:VMPluginGives the version the plugin is made for- Specified by:
- getVersionin interface- VMPlugin
- Overrides:
- getVersionin class- Java8
- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
 
- 
getPluginDefaultGroovyMethods- Specified by:
- getPluginDefaultGroovyMethodsin interface- VMPlugin
- Overrides:
- getPluginDefaultGroovyMethodsin class- Java8
 
- 
getDefaultImportClassesDescription copied from interface:VMPluginReturns the default import classes: class name -> the relevant package names- Parameters:
- packageNames- the default import package names, e.g. java.lang.
- Returns:
- the default import classes
 
- 
newLookup
- 
getLookupConstructor
- 
getPrivateLookup
- 
checkCanSetAccessibleThis method may be used by a caller in class C to check whether to enable access to a member of declaring class D successfully ifJava8.checkCanSetAccessible(java.lang.reflect.AccessibleObject, java.lang.Class)returns true and any of the following hold:1) C and D are in the same module. 2) The member is public and D is public in a package that the module containing D exports to at least the module containing C. 3) The member is protected static, D is public in a package that the module containing D exports to at least the module containing C, and C is a subclass of D. 4) D is in a package that the module containing D opens to at least the module containing C. All packages in unnamed and open modules are open to all modules and so this method always succeeds when D is in an unnamed or open module. - Specified by:
- checkCanSetAccessiblein interface- VMPlugin
- Overrides:
- checkCanSetAccessiblein class- Java8
- Parameters:
- accessibleObject- the accessible object to check
- callerClass- the class wishing to invoke- setAccessible
- Returns:
- the check result
 
- 
trySetAccessibleDescription copied from interface:VMPluginSet theaccessibleflag for this reflected object totrueif possible.- Specified by:
- trySetAccessiblein interface- VMPlugin
- Overrides:
- trySetAccessiblein class- Java8
- 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
- Overrides:
- transformMetaMethodin class- Java8
- Parameters:
- metaClass- metaclass
- metaMethod- the original meta method
- caller- caller class, whose method sets accessible for methods
- Returns:
- the transformed meta method
 
- 
checkAccessiblepublic boolean checkAccessible(Class<?> accessingClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) Description copied from interface:VMPlugincheck whether the member can be accessed or not- Specified by:
- checkAccessiblein interface- VMPlugin
- Overrides:
- checkAccessiblein class- Java8
- Parameters:
- accessingClass- 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
 
 
-