refactoring only: use the parameterised InstalledPackageInfo
[ghc-hetmet.git] / compiler / basicTypes / Unique.lhs
index 058b0be..1926f5c 100644 (file)
@@ -16,6 +16,13 @@ Some of the other hair in this code is to be able to use a
 Haskell).
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 module Unique (
        Unique, Uniquable(..), hasKey,
 
@@ -51,10 +58,8 @@ module Unique (
 #include "HsVersions.h"
 
 import BasicTypes
-import PackageConfig
 import FastString
 import Outputable
-import FastTypes
 
 import GHC.Exts
 import Data.Char       ( chr, ord )
@@ -120,25 +125,15 @@ i2w_s x = (x::Int#)
 mkUnique (C# c) (I# i)
   = MkUnique (w2i (tag `or#` bits))
   where
-#if __GLASGOW_HASKELL__ >= 503
     tag  = i2w (ord# c) `uncheckedShiftL#` i2w_s 24#
-#else
-    tag  = i2w (ord# c) `shiftL#` i2w_s 24#
-#endif
     bits = i2w i `and#` (i2w 16777215#){-``0x00ffffff''-}
 
 unpkUnique (MkUnique u)
   = let
-       tag = C# (chr# (w2i ((i2w u) `shiftr` (i2w_s 24#))))
+       tag = C# (chr# (w2i ((i2w u) `uncheckedShiftRL#` (i2w_s 24#))))
        i   = I# (w2i ((i2w u) `and#` (i2w 16777215#){-``0x00ffffff''-}))
     in
     (tag, i)
-  where
-#if __GLASGOW_HASKELL__ >= 503
-    shiftr x y = uncheckedShiftRL# x y
-#else
-    shiftr x y = shiftRL# x y
-#endif
 \end{code}
 
 
@@ -159,9 +154,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}