Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 69a1f2e

Browse files
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_SourceFileInFullpakFFICStub qualModName)
11481145
| cStub
11491146
] ++
1150-
[ hStubSource
1147+
[ getSourceFromSourceRefDescriptor (SourceRef_SourceFileInFullpakFFIHStub 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)

AltStyle によって変換されたページ (->オリジナル) /