Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
[ghc-hetmet.git] / compiler / basicTypes / Unique.lhs
index ee139ab..5f9f668 100644 (file)
@@ -57,8 +57,8 @@ module Unique (
 
 #include "HsVersions.h"
 
+import StaticFlags
 import BasicTypes
-import PackageConfig
 import FastString
 import Outputable
 
@@ -155,9 +155,6 @@ x `hasKey` k        = getUnique x == k
 instance Uniquable FastString where
  getUnique fs = mkUniqueGrimily (I# (uniqueOfFS fs))
 
-instance Uniquable PackageId where
- getUnique pid = getUnique (packageIdFS pid)
-
 instance Uniquable Int where
  getUnique i = mkUniqueGrimily i
 \end{code}
@@ -201,6 +198,11 @@ We do sometimes make strings with @Uniques@ in them:
 \begin{code}
 pprUnique :: Unique -> SDoc
 pprUnique uniq
+#ifdef DEBUG
+  | opt_SuppressUniques
+  = empty      -- Used exclusively to suppress uniques so you 
+  | otherwise  -- can compare output easily
+#endif
   = case unpkUnique uniq of
       (tag, u) -> finish_ppr tag u (text (iToBase62 u))