Package org.codehaus.groovy.vmplugin.v8
Class Java8
- java.lang.Object
-
- org.codehaus.groovy.vmplugin.v5.Java5
-
- org.codehaus.groovy.vmplugin.v6.Java6
-
- org.codehaus.groovy.vmplugin.v7.Java7
-
- org.codehaus.groovy.vmplugin.v8.Java8
-
-
Constructor Summary
Constructors Constructor Description Java8()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
getElementCode(ElementType value)
Object
getInvokeSpecialHandle(Method method, Object receiver)
Returns a handle with bound receiver to invokeSpecial the given method.Class<?>[]
getPluginDefaultGroovyMethods()
int
getVersion()
Gives the version the plugin is made forstatic MethodHandles.Lookup
of(Class<?> declaringClass)
protected Parameter[]
processParameters(CompileUnit compileUnit, Method m)
-
Methods inherited from class org.codehaus.groovy.vmplugin.v7.Java7
invalidateCallSites, invokeHandle
-
Methods inherited from class org.codehaus.groovy.vmplugin.v5.Java5
configureAnnotation, configureAnnotationFromDefinition, configureAnnotationNodeFromDefinition, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, getPluginStaticGroovyMethods, makeParameter, setAdditionalClassInformation
-
-
-
-
Method Detail
-
getPluginDefaultGroovyMethods
public Class<?>[] getPluginDefaultGroovyMethods()
- Specified by:
getPluginDefaultGroovyMethods
in interfaceVMPlugin
- Overrides:
getPluginDefaultGroovyMethods
in classJava5
-
getVersion
public int getVersion()
Description copied from interface:VMPlugin
Gives the version the plugin is made for- Specified by:
getVersion
in interfaceVMPlugin
- Overrides:
getVersion
in classJava7
- Returns:
- 7 for jdk7, 8 for jdk8, 9 for jdk9 or higher
-
getElementCode
protected int getElementCode(ElementType value)
- Overrides:
getElementCode
in classJava5
-
processParameters
protected Parameter[] processParameters(CompileUnit compileUnit, Method m)
- Overrides:
processParameters
in classJava5
-
of
public static MethodHandles.Lookup of(Class<?> declaringClass)
-
getInvokeSpecialHandle
public Object getInvokeSpecialHandle(Method method, 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
- Overrides:
getInvokeSpecialHandle
in classJava7
- Returns:
- null in case of jdk<7, otherwise a handle that takes the method call arguments for the invokespecial call
-
-