@@ -27,7 +27,9 @@ import Idris.Core.CaseTree
28import Control.Monad.State
28import Control.Monad.State
29import Data.List
29import Data.List
30+import qualified Data.IntMap as IM
30import qualified Data.Map as M
31import qualified Data.Map as M
32+import qualified Data.Set as S
31import System.Process
33import System.Process
32import System.IO
34import System.IO
33import System.Directory
35import System.Directory
@@ -48,7 +50,10 @@ compile codegen f tm
48 -- TODO: DEBUG-ONLY, remove
50 -- TODO: DEBUG-ONLY, remove
49 ist <- getIState
51 ist <- getIState
50 let usedF = findUsed (tt_ctxt ist) (idris_callgraph ist) used
52 let usedF = findUsed (tt_ctxt ist) (idris_callgraph ist) used
53+ let printCond (ctors, cond) = "if " ++ show (S.toList cond) ++ " -ctors- " ++ show (S.toList ctors)
54+ let printDep (i, conds) = unlines . map (" "++) $ (show i : map printCond (S.toList conds))
55+ let printItem (fn, deps) = unlines (show fn : map printDep (IM.toList deps))
51− iLOG $ "USAGE ANALYSIS:\n" ++ unlines (map show . M.toList $ usedF)
56+ iLOG $ "USAGE ANALYSIS:\n" ++ unlines (map printItem . M.toList $ usedF)
52 -- END TODO
57 -- END TODO
54 maindef <- irMain tm
59 maindef <- irMain tm