Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tobias Decking
GHC
Commits
857847a6
Commit
857847a6
authored
May 27, 2009
by
simonpj@microsoft.com
Browse files
Rename conDeclsNames to hsConDeclsNames, and export it
parent
e598b8f9
Changes
1
Hide whitespace changes
Inline
Side-by-side
compiler/hsSyn/HsDecls.lhs
View file @
857847a6
...
...
@@ -42,7 +42,7 @@ module HsDecls (
CImportSpec(..), FoType(..),
-- ** Data-constructor declarations
ConDecl(..), LConDecl, ResType(..), ConDeclField(..),
HsConDeclDetails, hsConDeclArgTys,
HsConDeclDetails, hsConDeclArgTys,
hsConDeclsNames,
-- ** Document comments
DocDecl(..), LDocDecl, docDeclDoc,
-- ** Deprecations
...
...
@@ -548,7 +548,7 @@ tyClDeclNames (ClassDecl {tcdLName = cls_name, tcdSigs = sigs, tcdATs = ats})
concatMap (tyClDeclNames . unLoc) ats ++ [n | L _ (TypeSig n _) <- sigs]
tyClDeclNames (TyData {tcdLName = tc_name, tcdCons = cons})
= tc_name :
c
onDeclsNames
(map unLoc
cons
)
= tc_name :
hsC
onDeclsNames cons
tyClDeclTyVars :: TyClDecl name -> [LHsTyVarBndr name]
tyClDeclTyVars (TyFamily {tcdTyVars = tvs}) = tvs
...
...
@@ -741,21 +741,21 @@ data ResType name
\end{code}
\begin{code}
c
onDeclsNames :: (Eq name) => [ConDecl name] -> [Located name]
hsC
onDeclsNames :: (Eq name) => [
L
ConDecl name] -> [Located name]
-- See tyClDeclNames for what this does
-- The function is boringly complicated because of the records
-- And since we only have equality, we have to be a little careful
c
onDeclsNames cons
hsC
onDeclsNames cons
= snd (foldl do_one ([], []) cons)
where
do_one (flds_seen, acc) (ConDecl { con_name = lname, con_details = RecCon flds })
do_one (flds_seen, acc)
(L _
(ConDecl { con_name = lname, con_details = RecCon flds })
)
= (map unLoc new_flds ++ flds_seen, lname : new_flds ++ acc)
where
new_flds = filterOut (\f -> unLoc f `elem` flds_seen)
(map cd_fld_name flds)
do_one (flds_seen, acc)
c
= (flds_seen,
(con_
name
c)
:acc)
do_one (flds_seen, acc)
(L _ (ConDecl { con_name = lname }))
= (flds_seen,
l
name:acc)
\end{code}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment