More import tidying and fixing the stage 2 build
[ghc-hetmet.git] / compiler / hsSyn / HsUtils.lhs
index 5d7132e..be4431d 100644 (file)
@@ -1,5 +1,5 @@
 %
-% (c) The University of Glasgow, 1992-2003
+% (c) The University of Glasgow, 1992-2006
 %
 
 Here we collect a variety of helper functions that construct or
@@ -24,17 +24,17 @@ import HsTypes
 import HsLit
 import HsDecls
 
-import RdrName         ( RdrName, getRdrName, mkRdrUnqual )
-import Var             ( Id )
-import Type            ( Type )
-import DataCon         ( DataCon, dataConWrapId, dataConSourceArity )
-import OccName         ( mkVarOccFS )
-import Name            ( Name )
-import BasicTypes      ( RecFlag(..) )
+import RdrName
+import Var
+import Type
+import DataCon
+import OccName
+import Name
+import BasicTypes
 import SrcLoc
-import FastString      ( mkFastString )
+import FastString
 import Outputable
-import Util            ( nOfThem )
+import Util
 import Bag
 \end{code}
 
@@ -428,7 +428,10 @@ collect_pat other          acc = acc       -- Literals, vars, wildcard
 
 getMainDeclBinder :: HsDecl name -> Maybe name
 getMainDeclBinder (TyClD d) = Just (tcdName d)
-getMainDeclBinder (ValD d) = Just ((unLoc . head) (collectAcc d []))
+getMainDeclBinder (ValD d)
+   = case collectAcc d [] of
+        []       -> Nothing   -- see rn003
+        (name:_) -> Just (unLoc name)
 getMainDeclBinder (SigD d) = sigNameNoLoc d
 getMainDeclBinder (ForD (ForeignImport name _ _)) = Just (unLoc name)
 getMainDeclBinder (ForD (ForeignExport name _ _)) = Just (unLoc name)