Initial implementation of case splitting

- It doesn't handle vars correctly yet
This commit is contained in:
Alejandro Serrano
2014-06-08 12:33:13 +02:00
parent 1e70c32b39
commit 6854d417c0
7 changed files with 132 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ module Language.Haskell.GhcMod.Gap (
, HasType(..)
, errorMsgSpan
, typeForUser
, nameForUser
, deSugar
, showDocWith
, GapThing(..)
@@ -47,6 +48,7 @@ import HscTypes
import Language.Haskell.GhcMod.GHCChoice
import Language.Haskell.GhcMod.Types
import NameSet
import OccName
import Outputable
import PprTyThing
import StringBuffer
@@ -337,6 +339,13 @@ typeForUser = pprTypeForUser
typeForUser = pprTypeForUser False
#endif
nameForUser :: Name -> SDoc
#if __GLASGOW_HASKELL__ >= 708
nameForUser = pprOccName . getOccName
#else
nameForUser = pprOccName False . getOccName
#endif
deSugar :: TypecheckedModule -> LHsExpr Id -> HscEnv
-> IO (Maybe CoreExpr)
#if __GLASGOW_HASKELL__ >= 708