Skip to content

Commit cbbe2ac

Browse files
committed
Temporarily use safe conversion function qualPrelimDeclIdSafe
1 parent 26dadde commit cbbe2ac

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

hs-bindgen/src-internal/HsBindgen/Frontend/Naming.hs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ module HsBindgen.Frontend.Naming (
5757
-- ** QualPrelimDeclId
5858
, QualPrelimDeclId(..)
5959
, qualPrelimDeclId
60+
, qualPrelimDeclIdSafe
6061

6162
-- * NameOrigin
6263
, NameOrigin(..)
@@ -324,6 +325,20 @@ qualPrelimDeclId prelimDeclId kind = case prelimDeclId of
324325
"qualPrelimDeclId: ordinary anonymous: " ++ show anonId
325326
PrelimDeclIdBuiltin name -> QualPrelimDeclIdBuiltin name
326327

328+
-- TODO #1220.
329+
qualPrelimDeclIdSafe :: PrelimDeclId -> NameKind -> QualPrelimDeclId
330+
qualPrelimDeclIdSafe prelimDeclId kind = case prelimDeclId of
331+
PrelimDeclIdNamed name -> QualPrelimDeclIdNamed name kind
332+
PrelimDeclIdAnon anonId -> case kind of
333+
NameKindTagged tagKind -> QualPrelimDeclIdAnon anonId tagKind
334+
NameKindOrdinary ->
335+
QualPrelimDeclIdNamed
336+
(Name $ Text.pack $
337+
"qualPrelimDeclIdSafe: impossible ordinary anonymous: "
338+
++ show anonId)
339+
NameKindOrdinary
340+
PrelimDeclIdBuiltin name -> QualPrelimDeclIdBuiltin name
341+
327342
{-------------------------------------------------------------------------------
328343
NameOrigin
329344
-------------------------------------------------------------------------------}

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/Parse/IsPass.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,13 @@ parseSucceedWith msgs decl =
160160
map (AttachedParseMsg decl.declInfo) msgs
161161

162162
parseDoNotAttempt ::
163-
HasCallStack
164-
=> C.DeclInfo Parse
163+
C.DeclInfo Parse
165164
-> C.NameKind
166165
-> ParseNotAttemptedReason
167166
-> ParseResult
168167
parseDoNotAttempt C.DeclInfo{..} kind reason =
169168
ParseResultNotAttempted $ ParseNotAttempted
170-
(C.qualPrelimDeclId declId kind)
169+
(C.qualPrelimDeclIdSafe declId kind)
171170
declLoc
172171
declAvailability
173172
reason

0 commit comments

Comments
 (0)