{-# LANGUAGE CPP #-}
module Compat(module Compat) where
import qualified GHC
import HsSyn
import SrcLoc
noL :: e -> GenLocated SrcSpan e
noL = noLoc
noE :: GHC.NoExt
noE = GHC.NoExt
mkAppType :: LHsExpr GhcPs -> LHsType GhcPs -> LHsExpr GhcPs
mkTypeAnn :: LHsExpr GhcPs -> LHsType GhcPs -> LHsExpr GhcPs
#if __GLASGOW_HASKELL__ < 807
mkAppType expr typ = noL $ HsAppType (HsWC noE typ) expr
mkTypeAnn expr typ = noL $ ExprWithTySig (HsWC noE (HsIB noE typ)) expr
compat_m_pats :: [Pat GhcPs] -> [LPat GhcPs]
compat_m_pats = map noL
#else
mkAppType expr typ = noL $ HsAppType noE expr (HsWC noE typ)
mkTypeAnn expr typ = noL $ ExprWithTySig noE expr (HsWC noE (HsIB noE typ))
compat_m_pats :: [Pat GhcPs] -> [Pat GhcPs]
compat_m_pats = id
#endif