| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
GHC.Runtime.Eval.Types
Synopsis
- data Resume = Resume {
- resumeStmt :: String
- resumeContext :: ForeignRef (ResumeContext [HValueRef])
- resumeBindings :: ResumeBindings
- resumeFinalIds :: [Id]
- resumeApStack :: ForeignHValue
- resumeBreakpointId :: Maybe InternalBreakpointId
- resumeSpan :: SrcSpan
- resumeDecl :: String
- resumeCCS :: RemotePtr CostCentreStack
- resumeHistory :: [History]
- resumeHistoryIx :: Int
- type ResumeBindings = ([TyThing], IcGlobalRdrEnv)
- data IcGlobalRdrEnv = IcGlobalRdrEnv {}
- data History = History {}
- data ExecResult
- = ExecComplete { }
- | ExecBreak { }
- data SingleStep
- = RunToCompletion
- | RunAndLogSteps
- | SingleStep
- | StepOut { }
- | LocalStep { }
- | ModuleStep { }
- enableGhcStepMode :: SingleStep -> EvalStep
- breakHere :: Bool -> SingleStep -> SrcSpan -> Bool
- data ExecOptions = ExecOptions {}
Documentation
Constructors
| Resume | |
Fields
| |
type ResumeBindings = ([TyThing], IcGlobalRdrEnv) Source #
data IcGlobalRdrEnv Source #
Essentially a GlobalRdrEnv, but with additional cached values to allow efficient re-calculation when the imports change. Fields are strict to avoid space leaks (see T4029) All operations are in GHC.Runtime.Context. See Note [icReaderEnv recalculation]
Constructors
| IcGlobalRdrEnv | |
Fields
| |
Constructors
| History | |
Fields
| |
data ExecResult Source #
Constructors
| ExecComplete | Execution is complete with either an exception or the list of user-visible names that were brought into scope. |
Fields | |
| ExecBreak | Execution stopped at a breakpoint. Note: |
Fields | |
data SingleStep Source #
What kind of stepping are we doing?
Constructors
| RunToCompletion | |
| RunAndLogSteps | :trace [expr] |
| SingleStep | :step [expr] |
| StepOut | :stepout |
Fields
| |
| LocalStep | :steplocal [expr] |
| ModuleStep | :stepmodule [expr] |
enableGhcStepMode :: SingleStep -> EvalStep Source #
Whether this SingleStep mode requires instructing the interpreter to
step at every breakpoint or after every return (see ).EvalStep
Arguments
| :: Bool | Was this breakpoint explicitly active (in the |
| -> SingleStep | What kind of stepping were we doing |
| -> SrcSpan | The span of the breakpoint we hit |
| -> Bool | Should we stop here then? |
Given a SingleStep mode, whether the breakpoint was explicitly active,
and the SrcSpan of a breakpoint we hit, return True if we should stop at
this breakpoint.
In particular, this will always be False for and
RunToCompletion. We'd need further information e.g. about the user
breakpoints to determine whether to break in those modes.RunAndLogSteps
data ExecOptions Source #
Constructors
| ExecOptions | |
Fields
| |