[project @ 1996-01-08 20:28:12 by partain]
[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  {-# GHC_PRAGMA ClassInfo Class (MonoBinds Name (InPat Name)) #-}
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         {-# GHC_PRAGMA _A_ 9 _U_ 221222122 _N_ _S_ "LLSLLLLLL" _N_ _N_ #-}
25 tcClassDecls2 :: E -> [ClassInfo] -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> ((LIE, Binds Id TypecheckedPat), Subst, Bag (PprStyle -> Int -> Bool -> PrettyRep))
26         {-# GHC_PRAGMA _A_ 2 _U_ 21222222 _N_ _S_ "LS" _N_ _N_ #-}
27