X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FhsSyn%2FHsDecls.lhs;h=607b319dd216aaf15b3ebb2773b8a9678cddd7d2;hp=c770386411f75c2c4acdc3fed4f3b1a6d1e78d71;hb=6e9c0431a7cf2bf1a48f01db48c6a1d41fe15a09;hpb=432b9c9322181a3644083e3c19b7e240d90659e7 diff --git a/compiler/hsSyn/HsDecls.lhs b/compiler/hsSyn/HsDecls.lhs index c770386..607b319 100644 --- a/compiler/hsSyn/HsDecls.lhs +++ b/compiler/hsSyn/HsDecls.lhs @@ -39,7 +39,7 @@ module HsDecls ( SpliceDecl(..), -- ** Foreign function interface declarations ForeignDecl(..), LForeignDecl, ForeignImport(..), ForeignExport(..), - CImportSpec(..), FoType(..), + CImportSpec(..), -- ** Data-constructor declarations ConDecl(..), LConDecl, ResType(..), HsConDeclDetails, hsConDeclArgTys, hsConDeclsNames, @@ -101,7 +101,7 @@ data HsDecl id | AnnD (AnnDecl id) | RuleD (RuleDecl id) | SpliceD (SpliceDecl id) - | DocD (DocDecl id) + | DocD (DocDecl) -- NB: all top-level fixity decls are contained EITHER @@ -136,7 +136,7 @@ data HsGroup id hs_annds :: [LAnnDecl id], hs_ruleds :: [LRuleDecl id], - hs_docs :: [LDocDecl id] + hs_docs :: [LDocDecl] } emptyGroup, emptyRdrGroup, emptyRnGroup :: HsGroup a @@ -225,7 +225,7 @@ instance OutputableBndr name => Outputable (HsGroup name) where ppr_ds foreign_decls] where ppr_ds [] = empty - ppr_ds ds = text "" $$ vcat (map ppr ds) + ppr_ds ds = blankLine $$ vcat (map ppr ds) data SpliceDecl id = SpliceDecl (Located (HsExpr id)) -- Top level splice @@ -401,8 +401,7 @@ type LTyClDecl name = Located (TyClDecl name) data TyClDecl name = ForeignType { tcdLName :: Located name, - tcdExtName :: Maybe FastString, - tcdFoType :: FoType + tcdExtName :: Maybe FastString } @@ -477,7 +476,7 @@ data TyClDecl name -- only 'TyFamily' and -- 'TySynonym'; the -- latter for defaults - tcdDocs :: [LDocDecl name] -- ^ Haddock docs + tcdDocs :: [LDocDecl] -- ^ Haddock docs } data NewOrData @@ -717,7 +716,7 @@ data ConDecl name , con_res :: ResType name -- ^ Result type of the constructor - , con_doc :: Maybe (LHsDoc name) + , con_doc :: Maybe LHsDocString -- ^ A possible Haddock comment. , con_old_rec :: Bool @@ -841,7 +840,7 @@ data DerivDecl name = DerivDecl (LHsType name) instance (OutputableBndr name) => Outputable (DerivDecl name) where ppr (DerivDecl ty) - = hsep [ptext (sLit "derived instance"), ppr ty] + = hsep [ptext (sLit "deriving instance"), ppr ty] \end{code} %************************************************************************ @@ -909,10 +908,6 @@ data ForeignImport = -- import of a C entity FastString -- name of C header CImportSpec -- details of the C entity - -- import of a .NET function - -- - | DNImport DNCallSpec - -- details of an external C entity -- data CImportSpec = CLabel CLabelString -- import address of a C label @@ -924,13 +919,6 @@ data CImportSpec = CLabel CLabelString -- import address of a C label -- convention -- data ForeignExport = CExport CExportSpec -- contains the calling convention - | DNExport -- presently unused - --- abstract type imported from .NET --- -data FoType = DNType -- In due course we'll add subtype stuff - deriving (Eq) -- Used for equality instance for TyClDecl - -- pretty printing of foreign declarations -- @@ -944,8 +932,6 @@ instance OutputableBndr name => Outputable (ForeignDecl name) where 2 (dcolon <+> ppr ty) instance Outputable ForeignImport where - ppr (DNImport spec) = - ptext (sLit "dotnet") <+> ppr spec ppr (CImport cconv safety header spec) = ppr cconv <+> ppr safety <+> char '"' <> pprCEntity spec <> char '"' @@ -954,7 +940,7 @@ instance Outputable ForeignImport where pprCEntity (CLabel lbl) = ptext (sLit "static") <+> pp_hdr <+> char '&' <> ppr lbl - pprCEntity (CFunction (StaticTarget lbl)) = + pprCEntity (CFunction (StaticTarget lbl _)) = ptext (sLit "static") <+> pp_hdr <+> ppr lbl pprCEntity (CFunction (DynamicTarget)) = ptext (sLit "dynamic") @@ -963,11 +949,6 @@ instance Outputable ForeignImport where instance Outputable ForeignExport where ppr (CExport (CExportStatic lbl cconv)) = ppr cconv <+> char '"' <> ppr lbl <> char '"' - ppr (DNExport ) = - ptext (sLit "dotnet") <+> ptext (sLit "\"\"") - -instance Outputable FoType where - ppr DNType = ptext (sLit "type dotnet") \end{code} @@ -1019,19 +1000,19 @@ instance OutputableBndr name => Outputable (RuleBndr name) where \begin{code} -type LDocDecl name = Located (DocDecl name) +type LDocDecl = Located (DocDecl) -data DocDecl name - = DocCommentNext (HsDoc name) - | DocCommentPrev (HsDoc name) - | DocCommentNamed String (HsDoc name) - | DocGroup Int (HsDoc name) +data DocDecl + = DocCommentNext HsDocString + | DocCommentPrev HsDocString + | DocCommentNamed String HsDocString + | DocGroup Int HsDocString -- Okay, I need to reconstruct the document comments, but for now: -instance Outputable (DocDecl name) where +instance Outputable DocDecl where ppr _ = text "" -docDeclDoc :: DocDecl name -> HsDoc name +docDeclDoc :: DocDecl -> HsDocString docDeclDoc (DocCommentNext d) = d docDeclDoc (DocCommentPrev d) = d docDeclDoc (DocCommentNamed _ d) = d