session :: GHC.Session,
options :: [GHCiOption],
prelude :: GHC.Module,
- resume :: [(SrcSpan, ThreadId, GHC.ResumeHandle)],
breaks :: !ActiveBreakPoints,
tickarrays :: ModuleEnv TickArray
-- tickarrays caches the TickArray for loaded modules,
io :: IO a -> GHCi a
io m = GHCi { unGHCi = \s -> m >>= return }
-popResume :: GHCi (Maybe (SrcSpan, ThreadId, GHC.ResumeHandle))
-popResume = do
- st <- getGHCiState
- case (resume st) of
- [] -> return Nothing
- (x:xs) -> do setGHCiState $ st { resume = xs } ; return (Just x)
-
-pushResume :: SrcSpan -> ThreadId -> GHC.ResumeHandle -> GHCi ()
-pushResume span threadId resumeAction = do
- st <- getGHCiState
- let oldResume = resume st
- setGHCiState $ st { resume = (span, threadId, resumeAction) : oldResume }
-
-discardResumeContext :: GHCi ()
-discardResumeContext = do
- st <- getGHCiState
- setGHCiState st { resume = [] }
-
printForUser :: SDoc -> GHCi ()
printForUser doc = do
session <- getSession