Class Java5

java.lang.Object
org.codehaus.groovy.vmplugin.v5.Java5
All Implemented Interfaces:
VMPlugin
Direct Known Subclasses:
Java6

public class Java5 extends Object implements VMPlugin
java 5 based functions
Author:
Jochen Theodorou
  • Constructor Details

    • Java5

      public Java5()
  • Method Details

    • setAdditionalClassInformation

      public void setAdditionalClassInformation(ClassNode cn)
      Specified by:
      setAdditionalClassInformation in interface VMPlugin
    • getPluginDefaultGroovyMethods

      public Class[] getPluginDefaultGroovyMethods()
      Specified by:
      getPluginDefaultGroovyMethods in interface VMPlugin
    • getPluginStaticGroovyMethods

      public Class[] getPluginStaticGroovyMethods()
      Specified by:
      getPluginStaticGroovyMethods in interface VMPlugin
    • configureAnnotation

      public void configureAnnotation(AnnotationNode node)
      Specified by:
      configureAnnotation in interface VMPlugin
    • configureClassNode

      public void configureClassNode(CompileUnit compileUnit, ClassNode classNode)
      Specified by:
      configureClassNode in interface VMPlugin
    • invalidateCallSites

      public void invalidateCallSites()
      Specified by:
      invalidateCallSites in interface VMPlugin
    • getInvokeSpecialHandle

      public Object getInvokeSpecialHandle(Method m, 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 interface VMPlugin
      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 plguin is made for
      Specified by:
      getVersion in interface VMPlugin
      Returns:
      5 for jdk5, 6 for jdk6, 7 for jdk7 or higher
    • invokeHandle

      public Object invokeHandle(Object handle, Object[] args) throws Throwable
      Description copied from interface: VMPlugin
      Invokes a handle produced by #getInvokeSpecialdHandle
      Specified by:
      invokeHandle in interface VMPlugin
      Parameters:
      handle - the handle
      args - arguments for the method call, can be empty but not null
      Returns:
      the result of the method call
      Throws:
      Throwable