All the information about the source-relevant breakpoints for a module
This information is constructed once during desugaring (with mkModBreaks)
from breakpoint ticks and fixed/unchanged from there on forward. It could be
exported as an abstract datatype because it should never be updated after
construction, only queried.
The arrays can be indexed using the int in the corresponding BreakpointId (i.e. the BreakpointId whose Module matches the Module corresponding to these ModBreaks) with the accessors modBreaks_locs, modBreaks_vars, and modBreaks_decls.
Constructors
ModBreaksmodBreaks_locs_ :: !Array BreakTickIndex BinSrcSpanAn array giving the source span of each breakpoint.
modBreaks_vars :: !Array BreakTickIndex [OccName]An array giving the names of the free variables at each breakpoint.
modBreaks_decls :: !Array BreakTickIndex [String]An array giving the names of the declarations enclosing each breakpoint. See Note [Field modBreaks_decls]
modBreaks_ccs :: !Array BreakTickIndex (ShortByteString, ShortByteString)Array pointing to cost centre info for each breakpoint; actual
CostCentreallocation is done at link-time.modBreaks_module :: !ModuleThe module to which this ModBreaks is associated. We also cache this here for internal sanity checks.