+ ppr (SpliceD dd) = ppr dd
+
+instance OutputableBndr name => Outputable (HsGroup name) where
+ ppr (HsGroup { hs_valds = val_decls,
+ hs_tyclds = tycl_decls,
+ hs_instds = inst_decls,
+ hs_fixds = fix_decls,
+ hs_depds = deprec_decls,
+ hs_fords = foreign_decls,
+ hs_defds = default_decls,
+ hs_ruleds = rule_decls,
+ hs_coreds = core_decls })
+ = vcat [ppr_ds fix_decls, ppr_ds default_decls,
+ ppr_ds deprec_decls, ppr_ds rule_decls,
+ ppr val_decls,
+ ppr_ds tycl_decls, ppr_ds inst_decls,
+ ppr_ds foreign_decls, ppr_ds core_decls]
+ where
+ ppr_ds [] = empty
+ ppr_ds ds = text "" $$ vcat (map ppr ds)
+
+data SpliceDecl id = SpliceDecl (HsExpr id) SrcLoc -- Top level splice
+
+instance OutputableBndr name => Outputable (SpliceDecl name) where
+ ppr (SpliceDecl e _) = ptext SLIT("$") <> parens (pprExpr e)