Skip to content

Commit 69a1f2e

Browse files
committed
improve source ref lookup ; code simplification (questionable?)
1 parent 9c255bb commit 69a1f2e

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

dap/exe/Main.hs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,11 @@ getValidSourceRefFromSource Source{..} = do
578578
pure srcDesc
579579
case maybeSrcDesc of
580580
Just srcDesc -> Just <$> getSourceRef srcDesc
581-
Nothing -> pure sourceSourceReference
581+
Nothing -> case sourceSourceReference of
582+
Just srcRef
583+
| Bimap.memberR srcRef dapSourceRefMap
584+
-> pure sourceSourceReference
585+
_ -> pure Nothing
582586

583587
----------------------------------------------------------------------------
584588
-- | Retrieves list of modules from .fullpak file
@@ -1130,26 +1134,19 @@ getSourceFromSourceRefDescriptor :: DapSourceRefDescriptor -> Adaptor ESTG Sourc
11301134
getSourceFromSourceRefDescriptor sourceRefDesc@(SourceRef_SourceFileInFullpak sourceLanguage qualModName) = do
11311135
sources <- if sourceLanguage /= ExtStg then pure Nothing else do
11321136
ModuleInfo{..} <- getsApp $ (M.! qualModName) . moduleInfoMap
1133-
hsSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Haskell qualModName)
1134-
coreSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak GhcCore qualModName)
1135-
stgSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak GhcStg qualModName)
1136-
cmmSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Cmm qualModName)
1137-
asmSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Asm qualModName)
1138-
cStubSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak FFICStub qualModName)
1139-
hStubSource <- getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak FFIHStub qualModName)
1140-
pure . Just $
1141-
[ hsSource
1142-
, coreSource
1143-
, cmmSource
1144-
, asmSource
1145-
, stgSource
1137+
Just <$> sequence (
1138+
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Haskell qualModName)
1139+
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak GhcCore qualModName)
1140+
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak GhcStg qualModName)
1141+
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Cmm qualModName)
1142+
, getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak Asm qualModName)
11461143
] ++
1147-
[ cStubSource
1144+
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak FFICStub qualModName)
11481145
| cStub
11491146
] ++
1150-
[ hStubSource
1147+
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpak FFIHStub qualModName)
11511148
| hStub
1152-
]
1149+
])
11531150
let --sourcePath = cs $ getSourcePath qualModName sourceLanguage
11541151
sourceName = cs $ getSourceName qualModName sourceLanguage
11551152
sourceRef <- getSourceRef sourceRefDesc

0 commit comments

Comments
 (0)