Interface Debugger

    • Field Detail

      • THREAD_LOCAL

        static final ThreadLocal<Debugger> THREAD_LOCAL
        The thread local variable. This constructor by itself does not set anything within the thread locals of the lading thread. TODO make this private when we use Java 11
    • Method Detail

      • setDebugger

        static void setDebugger​(Debugger debugger)
        Set the debugger. Override the currently set debugger if necessary.
        Parameters:
        debugger - the new debugger
      • withDebugger

        static void withDebugger​(@Nonnull
                                 Consumer<Debugger> action)
        Invoke the Consumer on the currently set debugger. Do not do anything if there is no debugger set.
        Parameters:
        action - consumer to invoke
      • mapDebugger

        @Nonnull
        static <T> Optional<T> mapDebugger​(@Nonnull
                                           Function<Debugger,​T> function)
        Apply the Function on the currently set debugger. Do not do anything if there is no debugger set.
        Type Parameters:
        T - the type function produces
        Parameters:
        function - function to apply
        Returns:
        Optional.empty() if there is no debugger currently set for this thread or if the function returned null, Optional.of(result) where result is the result of applying function, otherwise.
      • install

        static void install()
      • setup

        static void setup()
      • registerQuantifier

        static void registerQuantifier​(Quantifier quantifier)
      • onDone

        void onDone()
      • onRegisterQuantifier

        void onRegisterQuantifier​(Quantifier quantifier)
      • onInstall

        void onInstall()
      • onSetup

        void onSetup()