Class IndyInterface

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

@Deprecated
public class IndyInterface
extends 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.
  • 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 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 MethodHandles.Lookup LOOKUP
      Deprecated.
      LOOKUP constant used for for example unreflect calls
    • switchPoint

      protected static 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 CallSite bootstrap​(MethodHandles.Lookup caller, String callType, MethodType type, 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 MethodHandle makeFallBack​(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
      Deprecated.
      Makes a fallback method for an invalidated method selection
    • fromCache

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

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

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