| ... |
... |
@@ -6,7 +6,6 @@ |
|
6
|
6
|
module GHC.ByteCode.Show (showByteCode) where
|
|
7
|
7
|
|
|
8
|
8
|
import Prelude ((+), (-), Integral, div)
|
|
9
|
|
-import Control.Applicative ((<$>), (<*>))
|
|
10
|
9
|
import Control.Arrow ((>>>))
|
|
11
|
10
|
import Control.Exception (assert)
|
|
12
|
11
|
import Data.Eq ((==))
|
| ... |
... |
@@ -18,7 +17,7 @@ import Data.Int (Int) |
|
18
|
17
|
import Data.Word (Word)
|
|
19
|
18
|
import Data.Maybe (Maybe, maybe)
|
|
20
|
19
|
import Data.Either (Either, either)
|
|
21
|
|
-import Data.List (length, (++), map, zipWith, take, drop, replicate)
|
|
|
20
|
+import Data.List (length, (++), map, zipWith, zipWith5, take, drop, replicate)
|
|
22
|
21
|
import Data.String (String)
|
|
23
|
22
|
import Data.ByteString (ByteString, unpack)
|
|
24
|
23
|
import Data.ByteString.Short (ShortByteString)
|
| ... |
... |
@@ -296,15 +295,15 @@ pprBreakpointsData currentModule InternalModBreaks {..} |
|
296
|
295
|
-- | […]
|
|
297
|
296
|
pprBreakpointsInSource :: Module -> ModBreaks -> SDoc
|
|
298
|
297
|
pprBreakpointsInSource currentModule ModBreaks {..}
|
|
299
|
|
- = entry (text "breakpoints in source:") $
|
|
300
|
|
- assert (modBreaks_module == currentModule) $
|
|
301
|
|
- assert boundsAreIdentical $
|
|
302
|
|
- vcatOrNone $
|
|
303
|
|
- pprBreakpointInSource <$> indices modBreaks_locs_ <*>
|
|
304
|
|
- elems modBreaks_locs_ <*>
|
|
305
|
|
- elems modBreaks_decls <*>
|
|
306
|
|
- elems modBreaks_vars <*>
|
|
307
|
|
- elems modBreaks_ccs
|
|
|
298
|
+ = entry (text "breakpoints in source:") $
|
|
|
299
|
+ assert (modBreaks_module == currentModule) $
|
|
|
300
|
+ assert boundsAreIdentical $
|
|
|
301
|
+ vcatOrNone $
|
|
|
302
|
+ zipWith5 pprBreakpointInSource (indices modBreaks_locs_)
|
|
|
303
|
+ (elems modBreaks_locs_)
|
|
|
304
|
+ (elems modBreaks_decls)
|
|
|
305
|
+ (elems modBreaks_vars)
|
|
|
306
|
+ (elems modBreaks_ccs)
|
|
308
|
307
|
where
|
|
309
|
308
|
|
|
310
|
309
|
boundsAreIdentical :: Bool
|