Do dependency analysis when kind-checking type declarations
[ghc-hetmet.git] / utils / ghctags / Main.hs
index 9017bd0..a25537e 100644 (file)
@@ -195,7 +195,7 @@ safeLoad :: LoadHowMuch -> Ghc SuccessFlag
 safeLoad mode = do
   _dflags <- getSessionDynFlags
   ghandle (\(e :: SomeException) -> liftIO (print e) >> return Failed ) $
-    handleSourceError (\e -> printExceptionAndWarnings e >> return Failed) $
+    handleSourceError (\e -> printException e >> return Failed) $
       load mode
 
 
@@ -221,7 +221,7 @@ graphData graph handles = do
               let filename = msHsFilePath ms
                   modname = moduleName $ ms_mod ms
               in handleSourceError (\e -> do
-                                       printExceptionAndWarnings e
+                                       printException e
                                        liftIO $ exitWith (ExitFailure 1)) $
                   do liftIO $ putStrLn ("loading " ++ filename)
                      mod <- loadModule =<< typecheckModule =<< parseModule ms
@@ -251,7 +251,7 @@ boundValues mod group =
                        , bind <- bagToList binds
                        , x <- boundThings mod bind ]
                _other -> error "boundValues"
-      tys = [ n | ns <- map (tyClDeclNames . unLoc) (hs_tyclds group)
+      tys = [ n | ns <- map hsTyClDeclBinders (concat (hs_tyclds group))
                 , n <- map found ns ]
       fors = concat $ map forBound (hs_fords group)
              where forBound lford = case unLoc lford of
@@ -280,7 +280,6 @@ boundThings modname lbinding =
           in case unLoc lpat of
                WildPat _ -> tl
                VarPat name -> lid name : tl
-               VarPatOut name _ -> lid name : tl -- XXX need help here
                LazyPat p -> patThings p tl
                AsPat id p -> patThings p (thing id : tl)
                ParPat p -> patThings p tl