{-# LANGUAGE GADTs #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Haskell.Debug.Adapter.State.Init where
import Control.Monad.IO.Class
import Control.Monad.Except
import qualified System.Log.Logger as L
import qualified Haskell.DAP as DAP
import Haskell.Debug.Adapter.Type
import Haskell.Debug.Adapter.Constant
import Haskell.Debug.Adapter.State.Init.Initialize()
import Haskell.Debug.Adapter.State.Init.Launch()
instance AppStateIF InitStateData where
entryAction :: AppState InitStateData -> AppContext ()
entryAction AppState InitStateData
InitState = do
let msg :: [Char]
msg = [Char]
"InitState entryAction must not be called."
[Char] -> AppContext ()
forall e (m :: * -> *) a. MonadError e m => e -> m a
throwError [Char]
msg
exitAction :: AppState InitStateData -> AppContext ()
exitAction AppState InitStateData
InitState = do
IO () -> AppContext ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> AppContext ()) -> IO () -> AppContext ()
forall a b. (a -> b) -> a -> b
$ [Char] -> [Char] -> IO ()
L.debugM [Char]
_LOG_APP [Char]
"InitState exitAction called."
() -> AppContext ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
doActivity :: AppState InitStateData
-> WrapRequest -> AppContext (Maybe StateTransit)
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@InitializeRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@LaunchRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@DisconnectRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@PauseRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@TerminateRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@SetBreakpointsRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@SetFunctionBreakpointsRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@SetExceptionBreakpointsRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@ConfigurationDoneRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@ThreadsRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@StackTraceRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@ScopesRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@VariablesRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@ContinueRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@NextRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@StepInRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@EvaluateRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@CompletionsRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@InternalTransitRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@InternalTerminateRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
doActivity AppState InitStateData
s (WrapRequest r :: Request a
r@InternalLoadRequest{}) = AppState InitStateData
-> Request a -> AppContext (Maybe StateTransit)
forall s r.
StateActivityIF s r =>
AppState s -> Request r -> AppContext (Maybe StateTransit)
action AppState InitStateData
s Request a
r
instance StateActivityIF InitStateData DAP.DisconnectRequest
instance StateActivityIF InitStateData DAP.PauseRequest
instance StateActivityIF InitStateData DAP.TerminateRequest
instance StateActivityIF InitStateData DAP.SetBreakpointsRequest
instance StateActivityIF InitStateData DAP.SetFunctionBreakpointsRequest
instance StateActivityIF InitStateData DAP.SetExceptionBreakpointsRequest
instance StateActivityIF InitStateData DAP.ConfigurationDoneRequest
instance StateActivityIF InitStateData DAP.ThreadsRequest
instance StateActivityIF InitStateData DAP.StackTraceRequest
instance StateActivityIF InitStateData DAP.ScopesRequest
instance StateActivityIF InitStateData DAP.VariablesRequest
instance StateActivityIF InitStateData DAP.ContinueRequest
instance StateActivityIF InitStateData DAP.NextRequest
instance StateActivityIF InitStateData DAP.StepInRequest
instance StateActivityIF InitStateData DAP.EvaluateRequest
instance StateActivityIF InitStateData DAP.CompletionsRequest
instance StateActivityIF InitStateData HdaInternalTransitRequest
instance StateActivityIF InitStateData HdaInternalTerminateRequest
instance StateActivityIF InitStateData HdaInternalLoadRequest