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 void
configureAnnotation(AnnotationNode node)
void
configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root)
Deprecated.void
configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)
void
configureClassNode(CompileUnit compileUnit, ClassNode classNode)
static GenericsType
configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)
static ClassNode
configureTypeVariableReference(java.lang.String name)
protected int
getElementCode(java.lang.annotation.ElementType value)
java.lang.Object
getInvokeSpecialHandle(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()
int
getVersion()
Gives the version the plugin is made forvoid
invalidateCallSites()
java.lang.Object
invokeHandle(java.lang.Object handle, java.lang.Object[] args)
Invokes a handle produced by #getInvokeSpecialdHandleprotected Parameter
makeParameter(CompileUnit cu, java.lang.reflect.Type type, java.lang.Class cl, java.lang.annotation.Annotation[] annotations, java.lang.String name)
protected Parameter[]
processParameters(CompileUnit compileUnit, java.lang.reflect.Method m)
void
setAdditionalClassInformation(ClassNode cn)
-
-
-
Method Detail
-
setAdditionalClassInformation
public void setAdditionalClassInformation(ClassNode cn)
- Specified by:
setAdditionalClassInformation
in interfaceVMPlugin
-
configureTypeVariableDefinition
public static GenericsType configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)
-
configureTypeVariableReference
public static ClassNode configureTypeVariableReference(java.lang.String name)
-
getPluginDefaultGroovyMethods
public java.lang.Class[] getPluginDefaultGroovyMethods()
- Specified by:
getPluginDefaultGroovyMethods
in interfaceVMPlugin
-
getPluginStaticGroovyMethods
public java.lang.Class[] getPluginStaticGroovyMethods()
- Specified by:
getPluginStaticGroovyMethods
in interfaceVMPlugin
-
configureAnnotationFromDefinition
@Deprecated public void configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root)
Deprecated.
-
configureAnnotationNodeFromDefinition
public void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)
- Specified by:
configureAnnotationNodeFromDefinition
in interfaceVMPlugin
-
configureAnnotation
public void configureAnnotation(AnnotationNode node)
- Specified by:
configureAnnotation
in interfaceVMPlugin
-
getElementCode
protected int getElementCode(java.lang.annotation.ElementType value)
-
configureClassNode
public void configureClassNode(CompileUnit compileUnit, ClassNode classNode)
- Specified by:
configureClassNode
in interfaceVMPlugin
-
processParameters
protected Parameter[] processParameters(CompileUnit compileUnit, java.lang.reflect.Method m)
-
makeParameter
protected Parameter makeParameter(CompileUnit cu, java.lang.reflect.Type type, java.lang.Class cl, java.lang.annotation.Annotation[] annotations, java.lang.String name)
-
invalidateCallSites
public void invalidateCallSites()
- Specified by:
invalidateCallSites
in interfaceVMPlugin
-
getInvokeSpecialHandle
public java.lang.Object getInvokeSpecialHandle(java.lang.reflect.Method m, java.lang.Object receiver)
Description copied from interface:VMPlugin
Returns 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:
getInvokeSpecialHandle
in interfaceVMPlugin
- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
-
getVersion
public int getVersion()
Description copied from interface:VMPlugin
Gives the version the plugin is made for- Specified by:
getVersion
in interfaceVMPlugin
- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
-
invokeHandle
public java.lang.Object invokeHandle(java.lang.Object handle, java.lang.Object[] args) throws java.lang.Throwable
Description copied from interface:VMPlugin
Invokes a handle produced by #getInvokeSpecialdHandle- Specified by:
invokeHandle
in 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
-
-