1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface TcClassDcl where
4 import Class(Class, ClassOp)
5 import CmdLineOpts(GlobalSwitch)
7 import HsBinds(Binds, MonoBinds)
8 import HsDecls(ClassDecl)
9 import HsPat(InPat, TypecheckedPat)
11 import IdInfo(SpecEnv)
12 import InstEnv(InstTemplate)
15 import Pretty(PprStyle, PrettyRep)
16 import SplitUniq(SplitUniqSupply)
19 import TcMonad(TcResult)
20 import UniType(UniType)
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_ #-}