Better pretty-printing for IdDetails
authorsimonpj@microsoft.com <unknown>
Thu, 23 Apr 2009 09:39:45 +0000 (09:39 +0000)
committersimonpj@microsoft.com <unknown>
Thu, 23 Apr 2009 09:39:45 +0000 (09:39 +0000)
compiler/basicTypes/IdInfo.lhs

index 9889dbc..fb18c81 100644 (file)
@@ -277,7 +277,6 @@ instance Outputable IdDetails where
 
 pprIdDetails :: IdDetails -> SDoc
 pprIdDetails VanillaId         = empty
-pprIdDetails (RecSelId {})  = ptext (sLit "[RecSel]")
 pprIdDetails (DataConWorkId _) = ptext (sLit "[DataCon]")
 pprIdDetails (DataConWrapId _) = ptext (sLit "[DataConWrapper]")
 pprIdDetails (ClassOpId _)     = ptext (sLit "[ClassOp]")
@@ -285,11 +284,14 @@ pprIdDetails (PrimOpId _)      = ptext (sLit "[PrimOp]")
 pprIdDetails (FCallId _)       = ptext (sLit "[ForeignCall]")
 pprIdDetails (TickBoxOpId _)   = ptext (sLit "[TickBoxOp]")
 pprIdDetails DFunId            = ptext (sLit "[DFunId]")
+pprIdDetails (RecSelId { sel_naughty = is_naughty })
+  = brackets $ ptext (sLit "RecSel") <> pp_naughty
+  where
+    pp_naughty | is_naughty = ptext (sLit "(naughty)")
+              | otherwise  = empty
 \end{code}
 
 
-
-
 %************************************************************************
 %*                                                                     *
 \subsection{The main IdInfo type}