be2c67d887f0fa276b1ccd61c5d9f5519c3cc683
[ghc.git] / compiler / typecheck / TcSplice.hs-boot
1 {-# LANGUAGE CPP #-}
2 {-# LANGUAGE TypeFamilies #-}
3
4 module TcSplice where
5
6 import GhcPrelude
7 import Name
8 import HsExpr   ( PendingRnSplice )
9 import TcRnTypes( TcM , SpliceType )
10 import TcType   ( ExpRhoType )
11 import Annotations ( Annotation, CoreAnnTarget )
12 import HsExtension ( GhcTcId, GhcRn, GhcPs )
13
14 import HsSyn      ( HsSplice, HsBracket, HsExpr, LHsExpr, LHsType, LPat,
15                     LHsDecl, ThModFinalizers )
16 import qualified Language.Haskell.TH as TH
17
18 tcSpliceExpr :: HsSplice GhcRn
19              -> ExpRhoType
20              -> TcM (HsExpr GhcTcId)
21
22 tcUntypedBracket :: HsExpr GhcRn
23                  -> HsBracket GhcRn
24                  -> [PendingRnSplice]
25                  -> ExpRhoType
26                  -> TcM (HsExpr GhcTcId)
27 tcTypedBracket :: HsExpr GhcRn
28                -> HsBracket GhcRn
29                -> ExpRhoType
30                -> TcM (HsExpr GhcTcId)
31
32 runAnnotation     :: CoreAnnTarget -> LHsExpr GhcRn -> TcM Annotation
33
34 tcTopSpliceExpr :: SpliceType -> TcM (LHsExpr GhcTcId) -> TcM (LHsExpr GhcTcId)
35
36 runMetaE :: LHsExpr GhcTcId -> TcM (LHsExpr GhcPs)
37 runMetaP :: LHsExpr GhcTcId -> TcM (LPat GhcPs)
38 runMetaT :: LHsExpr GhcTcId -> TcM (LHsType GhcPs)
39 runMetaD :: LHsExpr GhcTcId -> TcM [LHsDecl GhcPs]
40
41 lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
42 runQuasi :: TH.Q a -> TcM a
43 runRemoteModFinalizers :: ThModFinalizers -> TcM ()
44 finishTH :: TcM ()