Class IndyInterface

java.lang.Object
org.codehaus.groovy.vmplugin.v7.IndyInterface

@Deprecated
public class IndyInterface
extends java.lang.Object
Deprecated.
Bytecode level interface for bootstrap methods used by invokedynamic. This class provides a logging ability by using the boolean system property groovy.indy.logging. Other than that this class contains the interfacing methods with bytecode for invokedynamic as well as some helper methods and classes.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  IndyInterface.CallType
    Deprecated.
    Enum for easy differentiation between call types
  • Field Summary

    Fields
    Modifier and Type Field Description
    static int GROOVY_OBJECT
    Deprecated.
    flags for method and property calls
    static int IMPLICIT_THIS
    Deprecated.
    flags for method and property calls
    protected static java.util.logging.Logger LOG
    Deprecated.
    Logger
    protected static boolean LOG_ENABLED
    Deprecated.
    boolean to indicate if logging for indy is enabled
    static java.lang.invoke.MethodHandles.Lookup LOOKUP
    Deprecated.
    LOOKUP constant used for for example unreflect calls
    static int SAFE_NAVIGATION
    Deprecated.
    flags for method and property calls
    static int SPREAD_CALL
    Deprecated.
    flags for method and property calls
    protected static java.lang.invoke.SwitchPoint switchPoint
    Deprecated.
     
    static int THIS_CALL
    Deprecated.
    flags for method and property calls
    static int UNCACHED_CALL
    Deprecated.
    flags for method and property calls
  • Constructor Summary

    Constructors
    Constructor Description
    IndyInterface()
    Deprecated.
     
  • Method Summary

    Modifier and Type Method Description
    static java.lang.invoke.CallSite bootstrap​(java.lang.invoke.MethodHandles.Lookup caller, java.lang.String callType, java.lang.invoke.MethodType type, java.lang.String name, int flags)
    Deprecated.
    bootstrap method for method calls from Groovy compiled code with indy enabled.
    static java.lang.Object fromCache​(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments)
    Deprecated.
    Get the cached methodhandle.
    protected static void invalidateSwitchPoints()
    Deprecated.
    Callback for constant meta class update change
    protected static java.lang.invoke.MethodHandle makeFallBack​(java.lang.invoke.MutableCallSite mc, java.lang.Class<?> sender, java.lang.String name, int callID, java.lang.invoke.MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
    Deprecated.
    Makes a fallback method for an invalidated method selection
    static java.lang.Object selectMethod​(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments)
    Deprecated.
    Core method for indy method selection using runtime types.
    static java.lang.invoke.CallSite staticArrayAccess​(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String name, java.lang.invoke.MethodType type)
    Deprecated.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • SAFE_NAVIGATION

      public static final int SAFE_NAVIGATION
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • THIS_CALL

      public static final int THIS_CALL
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • GROOVY_OBJECT

      public static final int GROOVY_OBJECT
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • IMPLICIT_THIS

      public static final int IMPLICIT_THIS
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • SPREAD_CALL

      public static final int SPREAD_CALL
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • UNCACHED_CALL

      public static final int UNCACHED_CALL
      Deprecated.
      flags for method and property calls
      See Also:
      Constant Field Values
    • LOG

      protected static final java.util.logging.Logger LOG
      Deprecated.
      Logger
    • LOG_ENABLED

      protected static final boolean LOG_ENABLED
      Deprecated.
      boolean to indicate if logging for indy is enabled
    • LOOKUP

      public static final java.lang.invoke.MethodHandles.Lookup LOOKUP
      Deprecated.
      LOOKUP constant used for for example unreflect calls
    • switchPoint

      protected static java.lang.invoke.SwitchPoint switchPoint
      Deprecated.
  • Constructor Details

    • IndyInterface

      public IndyInterface()
      Deprecated.
  • Method Details

    • invalidateSwitchPoints

      protected static void invalidateSwitchPoints()
      Deprecated.
      Callback for constant meta class update change
    • bootstrap

      public static java.lang.invoke.CallSite bootstrap​(java.lang.invoke.MethodHandles.Lookup caller, java.lang.String callType, java.lang.invoke.MethodType type, java.lang.String name, int flags)
      Deprecated.
      bootstrap method for method calls from Groovy compiled code with indy enabled. This method gets a flags parameter which uses the following encoding:
      Parameters:
      caller - - the caller
      callType - - the type of the call
      type - - the call site type
      name - - the real method name
      flags - - call flags
      Returns:
      the produced CallSite
      Since:
      Groovy 2.1.0
    • makeFallBack

      protected static java.lang.invoke.MethodHandle makeFallBack​(java.lang.invoke.MutableCallSite mc, java.lang.Class<?> sender, java.lang.String name, int callID, java.lang.invoke.MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
      Deprecated.
      Makes a fallback method for an invalidated method selection
    • fromCache

      public static java.lang.Object fromCache​(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments) throws java.lang.Throwable
      Deprecated.
      Get the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it.
      Throws:
      java.lang.Throwable
    • selectMethod

      public static java.lang.Object selectMethod​(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments) throws java.lang.Throwable
      Deprecated.
      Core method for indy method selection using runtime types.
      Throws:
      java.lang.Throwable
    • staticArrayAccess

      public static java.lang.invoke.CallSite staticArrayAccess​(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String name, java.lang.invoke.MethodType type)
      Deprecated.
      Since:
      2.5.0