haskell-dap-0.0.8.0: app/Haskell/DAP/GHCi/Type.hs
module Haskell.DAP.GHCi.Type where
import qualified GHC
import RtClosureInspect
import qualified Data.Map as M
import Control.Concurrent
import HscTypes
import qualified GHCi.DAP.IFData as D
-- |
--
type EvalString = String
-- |
--
type ModuleName = String
-- |
--
type MVarDAPContext = MVar DAPContext
-- |
--
data SourceBreakpointInfo = SourceBreakpointInfo {
modNameSourceBreakpointInfo :: ModuleName
, srcBPSourceBreakpointInfo :: D.SourceBreakpoint
, hitCntSourceBreakpointInfo :: Int
} deriving (Show, Read, Eq)
-- |
--
data DAPContext = DAPContext {
variableReferenceMapDAPContext :: M.Map Int (Term, EvalString)
, bindingDAPContext :: [GHC.TyThing]
, bindingGlobalDAPContext :: [GHC.TyThing]
, frameIdDAPContext :: Int
, srcBPsDAPContext :: M.Map Int SourceBreakpointInfo
, funcBPsDAPContext :: M.Map Int (D.FunctionBreakpoint, Int)
, traceCmdExecResultDAPContext :: [Maybe GHC.ExecResult]
, doContinueExecResultDAPContext :: [GHC.ExecResult]
, runStmtDeclExceptionDAPContext :: [SourceError]
}
-- |
--
defaultDAPContext :: DAPContext
defaultDAPContext = DAPContext {
variableReferenceMapDAPContext = M.fromList []
, bindingDAPContext = []
, bindingGlobalDAPContext = []
, frameIdDAPContext = 0
, srcBPsDAPContext = M.fromList []
, funcBPsDAPContext = M.fromList []
, traceCmdExecResultDAPContext = []
, doContinueExecResultDAPContext = []
, runStmtDeclExceptionDAPContext = []
}