Skip to content

Commit

Permalink
Merge pull request #54 from siddharthist/ditvp
Browse files Browse the repository at this point in the history
Fix DITemplateTypeParameter and DITemplateValueParameter
  • Loading branch information
langston-barrett committed Dec 7, 2018
2 parents de881be + 6219d6a commit 2020acd
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
2 changes: 1 addition & 1 deletion llvm-pretty.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: llvm-pretty
Version: 0.7.6
Version: 0.7.7
License: BSD3
License-file: LICENSE
Author: Trevor Elliott
Expand Down
9 changes: 5 additions & 4 deletions src/Text/LLVM/AST.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1092,14 +1092,15 @@ data DIImportedEntity' lab = DIImportedEntity

type DITemplateTypeParameter = DITemplateTypeParameter' BlockLabel
data DITemplateTypeParameter' lab = DITemplateTypeParameter
{ dittpName :: String
, dittpType :: ValMd' lab
{ dittpName :: Maybe String
, dittpType :: Maybe (ValMd' lab)
} deriving (Data, Eq, Functor, Generic, Generic1, Ord, Show, Typeable)

type DITemplateValueParameter = DITemplateValueParameter' BlockLabel
data DITemplateValueParameter' lab = DITemplateValueParameter
{ ditvpName :: String
, ditvpType :: ValMd' lab
{ ditvpTag :: DwarfTag
, ditvpName :: Maybe String
, ditvpType :: Maybe (ValMd' lab)
, ditvpValue :: ValMd' lab
} deriving (Data, Eq, Functor, Generic, Generic1, Ord, Show, Typeable)

Expand Down
15 changes: 8 additions & 7 deletions src/Text/LLVM/PP.hs
Original file line number Diff line number Diff line change
Expand Up @@ -867,19 +867,20 @@ ppDINameSpace = ppDINameSpace' ppLabel

ppDITemplateTypeParameter' :: LLVM => (i -> Doc) -> DITemplateTypeParameter' i -> Doc
ppDITemplateTypeParameter' pp tp = "!DITemplateTypeParameter"
<> parens (commas [ "name:" <+> text (dittpName tp)
, "type:" <+> ppValMd' pp (dittpType tp)
])
<> parens (mcommas [ ("name:" <+>) . text <$> dittpName tp
, ("type:" <+>) . ppValMd' pp <$> dittpType tp
])

ppDITemplateTypeParameter :: LLVM => DITemplateTypeParameter -> Doc
ppDITemplateTypeParameter = ppDITemplateTypeParameter' ppLabel

ppDITemplateValueParameter' :: LLVM => (i -> Doc) -> DITemplateValueParameter' i -> Doc
ppDITemplateValueParameter' pp vp = "!DITemplateValueParameter"
<> parens (commas [ "name:" <+> text (ditvpName vp)
, "type:" <+> ppValMd' pp (ditvpType vp)
, "value:" <+> ppValMd' pp (ditvpValue vp)
])
<> parens (mcommas [ pure ("tag:" <+> integral (ditvpTag vp))
, ("name:" <+>) . text <$> ditvpName vp
, ("type:" <+>) . ppValMd' pp <$> ditvpType vp
, pure ("value:" <+> ppValMd' pp (ditvpValue vp))
])

ppDITemplateValueParameter :: LLVM => DITemplateValueParameter -> Doc
ppDITemplateValueParameter = ppDITemplateValueParameter' ppLabel
Expand Down

0 comments on commit 2020acd

Please sign in to comment.