7fd45d6e711ba0cd2de56208521b7806d65560df
[ghc-hetmet.git] / ghc / compiler / typecheck / TcClassDcl.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface TcClassDcl where
3 import Bag(Bag)
4 import Class(Class, ClassOp)
5 import CmdLineOpts(GlobalSwitch)
6 import E(E)
7 import HsBinds(Binds, MonoBinds)
8 import HsDecls(ClassDecl)
9 import HsPat(InPat, TypecheckedPat)
10 import Id(Id)
11 import IdInfo(SpecEnv)
12 import InstEnv(InstTemplate)
13 import LIE(LIE)
14 import Name(Name)
15 import Pretty(PprStyle, PrettyRep)
16 import SplitUniq(SplitUniqSupply)
17 import SrcLoc(SrcLoc)
18 import Subst(Subst)
19 import TcMonad(TcResult)
20 import UniType(UniType)
21 import UniqFM(UniqFM)
22 data ClassInfo 
23 tcClassDecls1 :: E -> (Class -> ([(UniType, InstTemplate)], ClassOp -> SpecEnv)) -> [ClassDecl Name (InPat Name)] -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> TcResult ([ClassInfo], UniqFM Class, [(Name, Id)])
24 tcClassDecls2 :: E -> [ClassInfo] -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> ((LIE, Binds Id TypecheckedPat), Subst, Bag (PprStyle -> Int -> Bool -> PrettyRep))
25