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