Package org.codehaus.groovy.vmplugin.v5
Class Java5
- java.lang.Object
-
- org.codehaus.groovy.vmplugin.v5.Java5
-
-
Constructor Summary
Constructors Constructor Description Java5()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidconfigureAnnotation(AnnotationNode node)voidconfigureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root)Deprecated.voidconfigureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)voidconfigureClassNode(CompileUnit compileUnit, ClassNode classNode)static GenericsTypeconfigureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)static ClassNodeconfigureTypeVariableReference(java.lang.String name)protected voidfillParameterNames(java.lang.String[] names, java.lang.reflect.Member member)protected intgetElementCode(java.lang.annotation.ElementType value)java.lang.ObjectgetInvokeSpecialHandle(java.lang.reflect.Method m, java.lang.Object receiver)Returns a handle with bound receiver to invokeSpecial the given method.java.lang.Class[]getPluginDefaultGroovyMethods()java.lang.Class[]getPluginStaticGroovyMethods()intgetVersion()Gives the version the plugin is made forvoidinvalidateCallSites()java.lang.ObjectinvokeHandle(java.lang.Object handle, java.lang.Object[] args)Invokes a handle produced by #getInvokeSpecialdHandlevoidsetAdditionalClassInformation(ClassNode cn)
-
-
-
Method Detail
-
getVersion
public int getVersion()
Description copied from interface:VMPluginGives the version the plugin is made for- Specified by:
getVersionin interfaceVMPlugin- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
-
getPluginDefaultGroovyMethods
public java.lang.Class[] getPluginDefaultGroovyMethods()
- Specified by:
getPluginDefaultGroovyMethodsin interfaceVMPlugin
-
getPluginStaticGroovyMethods
public java.lang.Class[] getPluginStaticGroovyMethods()
- Specified by:
getPluginStaticGroovyMethodsin interfaceVMPlugin
-
setAdditionalClassInformation
public void setAdditionalClassInformation(ClassNode cn)
- Specified by:
setAdditionalClassInformationin interfaceVMPlugin
-
configureTypeVariableDefinition
public static GenericsType configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)
-
configureTypeVariableReference
public static ClassNode configureTypeVariableReference(java.lang.String name)
-
configureAnnotationFromDefinition
@Deprecated public void configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root)
Deprecated.
-
configureAnnotationNodeFromDefinition
public void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)
- Specified by:
configureAnnotationNodeFromDefinitionin interfaceVMPlugin
-
configureAnnotation
public void configureAnnotation(AnnotationNode node)
- Specified by:
configureAnnotationin interfaceVMPlugin
-
getElementCode
protected int getElementCode(java.lang.annotation.ElementType value)
-
configureClassNode
public void configureClassNode(CompileUnit compileUnit, ClassNode classNode)
- Specified by:
configureClassNodein interfaceVMPlugin
-
fillParameterNames
protected void fillParameterNames(java.lang.String[] names, java.lang.reflect.Member member)
-
invalidateCallSites
public void invalidateCallSites()
- Specified by:
invalidateCallSitesin interfaceVMPlugin
-
getInvokeSpecialHandle
public java.lang.Object getInvokeSpecialHandle(java.lang.reflect.Method m, java.lang.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 interfaceVMPlugin- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
-
invokeHandle
public java.lang.Object invokeHandle(java.lang.Object handle, java.lang.Object[] args) throws java.lang.ThrowableDescription copied from interface:VMPluginInvokes a handle produced by #getInvokeSpecialdHandle- Specified by:
invokeHandlein interfaceVMPlugin- Parameters:
handle- the handleargs- arguments for the method call, can be empty but not null- Returns:
- the result of the method call
- Throws:
java.lang.Throwable
-
-