{-# 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 :: String
msg = String
"InitState entryAction must not be called."
String -> AppContext ()
forall a. String -> StateT AppStores (ExceptT String IO) a
forall e (m :: * -> *) a. MonadError e m => e -> m a
throwError String
msg
exitAction :: AppState InitStateData -> AppContext ()
exitAction AppState InitStateData
InitState = do
IO () -> AppContext ()
forall a. IO a -> StateT AppStores (ExceptT String IO) a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> AppContext ()) -> IO () -> AppContext ()
forall a b. (a -> b) -> a -> b
$ String -> String -> IO ()
L.debugM String
_LOG_APP String
"InitState exitAction called."
() -> AppContext ()
forall a. a -> StateT AppStores (ExceptT String IO) a
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@SourceRequest{}) = 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.SourceRequest
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