packages feed

haskell-tools-debug 0.4.1.1 → 0.4.1.2

raw patch · 5 files changed

+28/−21 lines, 5 filesdep +haskell-tools-debugdep ~basenew-component:exe:ht-debug

Dependencies added: haskell-tools-debug

Dependency ranges changed: base

Files

Language/Haskell/Tools/Debug.hs view
@@ -9,17 +9,14 @@ 
 import GHC hiding (loadModule)
 import GHC.Paths ( libdir )
-import Module as GHC
-import SrcLoc
-import HscTypes
 
 import Language.Haskell.Tools.AST
 import Language.Haskell.Tools.AST.FromGHC
 import Language.Haskell.Tools.Transform
 import Language.Haskell.Tools.PrettyPrint
-import Language.Haskell.Tools.DebugGhcAST
+import Language.Haskell.Tools.DebugGhcAST ()
 import Language.Haskell.Tools.RangeDebug
-import Language.Haskell.Tools.RangeDebug.Instances
+import Language.Haskell.Tools.RangeDebug.Instances ()
 import Language.Haskell.Tools.Refactor.Prepare
 import Language.Haskell.Tools.Refactor.Perform
 import Language.Haskell.Tools.Refactor.RefactorBase
@@ -29,21 +26,20 @@ demoRefactor command workingDir args moduleName = 
   runGhc (Just libdir) $ do
     initGhcFlags
-    useFlags args
+    _ <- useFlags args
     useDirs [workingDir]
     modSum <- loadModule workingDir moduleName
     p <- parseModule modSum
     t <- typecheckModule p
         
-    let r = tm_renamed_source t
     let annots = pm_annotations $ tm_parsed_module t
 
     liftIO $ putStrLn $ show annots
-    liftIO $ putStrLn "==========="
+    liftIO $ putStrLn "=========== parsed source:"
     liftIO $ putStrLn $ show (pm_parsed_source p)
-    liftIO $ putStrLn "==========="
+    liftIO $ putStrLn "=========== renamed source:"
     liftIO $ putStrLn $ show (fromJust $ tm_renamed_source t)
-    liftIO $ putStrLn "==========="
+    liftIO $ putStrLn "=========== typechecked source:"
     liftIO $ putStrLn $ show (typecheckedSource t)
     liftIO $ putStrLn "=========== parsed:"
     --transformed <- runTrf (fst annots) (getPragmaComments $ snd annots) $ trfModule (pm_parsed_source p)
@@ -75,10 +71,12 @@         let prettyPrinted = prettyPrint correctlyTransformed
         liftIO $ putStrLn prettyPrinted
         liftIO $ putStrLn "==========="
+      -- TODO: implement
+      Right _ -> error "The output shoud be one module changed"
       Left transformProblem -> do
         liftIO $ putStrLn "==========="
         liftIO $ putStrLn transformProblem
         liftIO $ putStrLn "==========="
   
 deriving instance Generic SrcSpan
-deriving instance (Generic sema, Generic src) => Generic (NodeInfo sema src)
+deriving instance Generic (NodeInfo sema src)
Language/Haskell/Tools/DebugGhcAST.hs view
@@ -5,23 +5,15 @@ -- | A module for showing GHC's syntax tree representation.
 module Language.Haskell.Tools.DebugGhcAST where
 
-import Language.Haskell.Tools.RangeDebug
-import Language.Haskell.Tools.AST.FromGHC.GHCUtils
 import Language.Haskell.Tools.AST (shortShowSpan)
 
 import GHC
-import HsSyn
-import HsDecls
 import Module
 import Coercion
-import SrcLoc
 import RdrName
 import BasicTypes
 import Outputable
-import TyCon
-import PlaceHolder
 import ForeignCall
-import Var
 import ConLike
 import PatSyn
 import TcEvidence
Language/Haskell/Tools/RangeDebug/Instances.hs view
@@ -38,6 +38,7 @@ instance (SourceInfo st, Domain dom) => TreeDebug UFilePragma dom st
 instance (SourceInfo st, Domain dom) => TreeDebug UImportDecl dom st
 instance (SourceInfo st, Domain dom) => TreeDebug UImportSpec dom st
+instance (SourceInfo st, Domain dom) => TreeDebug UImportModifier dom st
 instance (SourceInfo st, Domain dom) => TreeDebug UImportQualified dom st
 instance (SourceInfo st, Domain dom) => TreeDebug UImportSource dom st
 instance (SourceInfo st, Domain dom) => TreeDebug UImportSafe dom st
+ exe/Main.hs view
@@ -0,0 +1,10 @@+module Main where
+
+import Language.Haskell.Tools.Debug
+import System.Environment
+
+main :: IO ()
+main = do args <- getArgs
+          if length args < 3 then do progName <- getProgName
+                                     putStrLn (progName ++ " <command/-> <workingdir> <modulename> [arguments]")
+                             else demoRefactor (dropWhile (=='-') (args !! 0)) (args !! 1) (drop 3 args) (args !! 2)
haskell-tools-debug.cabal view
@@ -1,5 +1,5 @@ name:                haskell-tools-debug
-version:             0.4.1.1
+version:             0.4.1.2
 synopsis:            Debugging Tools for Haskell-tools
 description:         Debugging Tools for Haskell-tools
 homepage:            https://github.com/haskell-tools/haskell-tools
@@ -26,4 +26,10 @@                      , haskell-tools-refactor    >= 0.4 && < 0.5
                      , haskell-tools-prettyprint >= 0.4 && < 0.5
   default-language:    Haskell2010
-  +  
+executable ht-debug
+  build-depends:       base                      >= 4.9 && < 5.0
+                     , haskell-tools-debug       >= 0.4 && < 0.5
+  hs-source-dirs:      exe
+  main-is:             Main.hs
+  default-language:    Haskell2010