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
|