Class IndyInterface


  • public class IndyInterface
    extends Object
    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
        flags for method and property calls
        See Also:
        Constant Field Values
      • THIS_CALL

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

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

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

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

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

        protected static final Logger LOG
        Logger
      • LOG_ENABLED

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

        public static final MethodHandles.Lookup LOOKUP
        LOOKUP constant used for for example unreflect calls
      • switchPoint

        protected static SwitchPoint switchPoint
    • Constructor Detail

      • IndyInterface

        public IndyInterface()