Skip to content

Commit d246de1

Browse files
committed
remove unnecessary resource handling abstraction: DapSourceRefDescriptor
1 parent 2a9a2a7 commit d246de1

File tree

5 files changed

+25
-29
lines changed

5 files changed

+25
-29
lines changed

dap-estgi-server/src/Breakpoints.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ commandSetBreakpoints = do
5252
ESTG {..} <- getDebugSession
5353
case (setBreakpointsArgumentsBreakpoints, maybeSourceRef, maybeSourceRef >>= flip Bimap.lookupR dapSourceRefMap) of
5454
-- HINT: breakpoint on Haskell
55-
(Just sourceBreakpoints, Just sourceRef, Just (SourceRef_SourceFileInFullpak hsCodeDesc@(Haskell pkg mod)))
56-
| Just extStgSourceRef <- Bimap.lookup (SourceRef_SourceFileInFullpak $ ExtStg pkg mod) dapSourceRefMap
55+
(Just sourceBreakpoints, Just sourceRef, Just hsCodeDesc@(Haskell pkg mod))
56+
| Just extStgSourceRef <- Bimap.lookup (ExtStg pkg mod) dapSourceRefMap
5757
, Just hsSourceFilePath <- Bimap.lookupR hsCodeDesc haskellSrcPathMap
5858
-> do
5959
(_sourceCodeText, _locations, hsSrcLocs) <- getSourceFromFullPak extStgSourceRef
@@ -110,7 +110,7 @@ commandSetBreakpoints = do
110110
sendSetBreakpointsResponse breakpoints
111111

112112
-- HINT: breakpoint on ExtStg
113-
(Just sourceBreakpoints, Just sourceRef, Just (SourceRef_SourceFileInFullpak ExtStg{})) -> do
113+
(Just sourceBreakpoints, Just sourceRef, Just ExtStg{}) -> do
114114
(_sourceCodeText, locations, _hsSrcLocs) <- getSourceFromFullPak sourceRef
115115
breakpoints <- forM sourceBreakpoints $ \SourceBreakpoint{..} -> do
116116
-- filter all relevant ranges

dap-estgi-server/src/DapBase.hs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,6 @@ data SourceCodeDescriptor
103103
| ForeignC PackageName FilePath
104104
deriving (Show, Read, Eq, Ord)
105105

106-
data DapSourceRefDescriptor
107-
= SourceRef_SourceFileInFullpak SourceCodeDescriptor
108-
deriving (Show, Read, Eq, Ord)
109-
110106
----------------------------------------------------------------------------
111107
-- | External STG Interpreter application internal state
112108
data ESTG
@@ -117,11 +113,11 @@ data ESTG
117113
, sourceCodeSet :: Set SourceCodeDescriptor
118114
, unitIdMap :: Bimap UnitId PackageName
119115
, haskellSrcPathMap :: Bimap Name SourceCodeDescriptor
120-
, dapSourceNameMap :: Bimap Text DapSourceRefDescriptor
116+
, dapSourceNameMap :: Bimap Text SourceCodeDescriptor
121117

122118
-- application specific resource handling
123119

124-
, dapSourceRefMap :: !(Bimap DapSourceRefDescriptor Int)
120+
, dapSourceRefMap :: !(Bimap SourceCodeDescriptor Int)
125121
-- ^ Used to track source reference IDs
126122
--
127123
, dapFrameIdMap :: !(Bimap DapFrameIdDescriptor Int)

dap-estgi-server/src/Main.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,8 @@ initESTG AttachArgs {..} = do
197197
, sourceCodeSet = Set.fromList sourceCodeList
198198
, unitIdMap = unitIdMap
199199
, haskellSrcPathMap = haskellSrcPathMap
200-
, dapSourceNameMap = Bimap.fromList [(cs $ getSourceName d, SourceRef_SourceFileInFullpak d) | d <- sourceCodeList]
201-
, dapSourceRefMap = Bimap.fromList $ zip (map SourceRef_SourceFileInFullpak sourceCodeList) [1..]
200+
, dapSourceNameMap = Bimap.fromList [(cs $ getSourceName d, d) | d <- sourceCodeList]
201+
, dapSourceRefMap = Bimap.fromList $ zip sourceCodeList [1..]
202202
, dapFrameIdMap = Bimap.empty
203203
, dapVariablesRefMap = Bimap.empty
204204
, dapStackFrameCache = mempty
@@ -363,7 +363,7 @@ talk CommandLoadedSources = do
363363
ForeignC{} -> True
364364
_ -> False
365365
srcSet <- getsApp sourceCodeSet
366-
mapM (getSourceFromSourceRefDescriptor . SourceRef_SourceFileInFullpak) $ filter shouldInclude $ Set.toList srcSet
366+
mapM getSourceFromSourceCodeDescriptor $ filter shouldInclude $ Set.toList srcSet
367367

368368
----------------------------------------------------------------------------
369369
talk (CustomCommand "getSourceLinks") = customCommandGetSourceLinks

dap-estgi-server/src/SourceCode.hs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ getValidSourceRefFromSource Source{..} = do
135135
getSourceFromFullPak :: SourceId -> Adaptor ESTG (Text, [(StgPoint, SrcRange)], [(StgPoint, Tickish)])
136136
getSourceFromFullPak sourceId = do
137137
ESTG {..} <- getDebugSession
138-
SourceRef_SourceFileInFullpak srcDesc <- case Bimap.lookupR sourceId dapSourceRefMap of
138+
srcDesc <- case Bimap.lookupR sourceId dapSourceRefMap of
139139
Nothing -> do
140140
sendError (ErrorMessage (T.pack $ "Unknown sourceId: " ++ show sourceId)) Nothing
141141
Just value -> pure value
@@ -151,32 +151,32 @@ getSourceFromFullPak sourceId = do
151151
ir <- readModpakS fullPakPath sourcePath T.decodeUtf8
152152
pure (ir, [], [])
153153

154-
getSourceFromSourceRefDescriptor :: DapSourceRefDescriptor -> Adaptor ESTG Source
155-
getSourceFromSourceRefDescriptor sourceRefDesc@(SourceRef_SourceFileInFullpak srcDesc) = do
154+
getSourceFromSourceCodeDescriptor :: SourceCodeDescriptor -> Adaptor ESTG Source
155+
getSourceFromSourceCodeDescriptor srcDesc = do
156156
srcDescSet <- getsApp sourceCodeSet
157157
extraSources <- case srcDesc of
158158
Haskell packageName qualModName
159159
| cStub <- FFICStub packageName qualModName
160160
, hStub <- FFIHStub packageName qualModName
161161
-> Just <$> sequence (
162-
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ ExtStg packageName qualModName)
163-
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ GhcCore packageName qualModName)
164-
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ GhcStg packageName qualModName)
165-
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ Cmm packageName qualModName)
166-
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ Asm packageName qualModName)
167-
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak $ ModInfo packageName qualModName)
162+
[ getSourceFromSourceCodeDescriptor (ExtStg packageName qualModName)
163+
, getSourceFromSourceCodeDescriptor (GhcCore packageName qualModName)
164+
, getSourceFromSourceCodeDescriptor (GhcStg packageName qualModName)
165+
, getSourceFromSourceCodeDescriptor (Cmm packageName qualModName)
166+
, getSourceFromSourceCodeDescriptor (Asm packageName qualModName)
167+
, getSourceFromSourceCodeDescriptor (ModInfo packageName qualModName)
168168
] ++
169-
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak cStub)
169+
[ getSourceFromSourceCodeDescriptor cStub
170170
| Set.member cStub srcDescSet
171171
] ++
172-
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak hStub)
172+
[ getSourceFromSourceCodeDescriptor hStub
173173
| Set.member hStub srcDescSet
174174
])
175175

176176
_ -> pure Nothing
177177

178178
let sourceName = cs $ getSourceName srcDesc
179-
sourceRef <- getSourceRef sourceRefDesc
179+
sourceRef <- getSourceRef srcDesc
180180
ESTG {..} <- getDebugSession
181181
pure defaultSource
182182
{ sourceName = Just $ sourceName -- used in source tree children
@@ -185,7 +185,7 @@ getSourceFromSourceRefDescriptor sourceRefDesc@(SourceRef_SourceFileInFullpak sr
185185
, sourceSources = extraSources
186186
}
187187

188-
getSourceRef :: DapSourceRefDescriptor -> Adaptor ESTG Int
188+
getSourceRef :: SourceCodeDescriptor -> Adaptor ESTG Int
189189
getSourceRef key = do
190190
-- NOTE: Source code related db is populated at initialization
191191
getsApp (Bimap.lookup key . dapSourceRefMap) >>= \case

dap-estgi-server/src/SourceLocation.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ getSourceAndPositionForStgPoint stgPoint = do
4646
Nothing -> sendError (ErrorMessage (T.pack $ "Unknown unit id: " ++ show unitId)) Nothing
4747
Just v -> pure v
4848
let moduleName = cs $ getModuleName moduleNameBS
49-
source <- getSourceFromSourceRefDescriptor $ SourceRef_SourceFileInFullpak $ ExtStg packageName moduleName
49+
source <- getSourceFromSourceCodeDescriptor $ ExtStg packageName moduleName
5050
let Just sourceRef = sourceSourceReference source
5151
(_sourceCodeText, locations, hsSrcLocs) <- getSourceFromFullPak sourceRef
5252
let inModule pkg mod (_, SourceNote{..})
@@ -68,7 +68,7 @@ getSourceAndPositionForStgPoint stgPoint = do
6868
| RealSrcSpan'{..} <- sourceSpan
6969
, Just hsSrcDesc <- Bimap.lookup srcSpanFile haskellSrcPathMap
7070
-> do
71-
sourceHs <- getSourceFromSourceRefDescriptor $ SourceRef_SourceFileInFullpak hsSrcDesc
71+
sourceHs <- getSourceFromSourceCodeDescriptor hsSrcDesc
7272
pure (Just sourceHs, srcSpanSLine, srcSpanSCol, srcSpanELine, srcSpanECol)
7373
_ -> do
7474
case filter ((== stgPoint) . fst) locations of
@@ -102,8 +102,8 @@ customCommandGetSourceLinks = do
102102
GetSourceLinksArguments {..} <- getArguments
103103
ESTG {..} <- getDebugSession
104104
sourceLinks <- case Bimap.lookup getSourceLinksArgumentsPath dapSourceNameMap of
105-
Just srcDesc@(SourceRef_SourceFileInFullpak ExtStg{}) -> do
106-
source <- getSourceFromSourceRefDescriptor srcDesc
105+
Just srcDesc@ExtStg{} -> do
106+
source <- getSourceFromSourceCodeDescriptor srcDesc
107107
let Just sourceRef = sourceSourceReference source
108108
(_sourceCodeText, locations, hsSrcLocs) <- getSourceFromFullPak sourceRef
109109
let hsTickishLocMap = Map.unionsWith mappend [Map.singleton stgPoint [tickish] | (stgPoint, tickish) <- hsSrcLocs]

0 commit comments

Comments
 (0)