Class 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 Detail

      • 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 Detail

      • IndyInterface

        public IndyInterface()
        Deprecated.
    • Method Detail

      • 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