Add selectors for common fields (DataCon/PatSyn) to ConLike
[ghc.git] / compiler / basicTypes / DataCon.hs-boot
1 module DataCon where
2 import Var( TyVar )
3 import Name( Name, NamedThing )
4 import {-# SOURCE #-} TyCon( TyCon, FieldLabel )
5 import Unique ( Uniquable )
6 import Outputable ( Outputable, OutputableBndr )
7 import BasicTypes (Arity)
8 import {-# SOURCE #-} TypeRep (Type, ThetaType)
9
10 data DataCon
11 data DataConRep
12 dataConName      :: DataCon -> Name
13 dataConTyCon     :: DataCon -> TyCon
14 dataConExTyVars  :: DataCon -> [TyVar]
15 dataConSourceArity  :: DataCon -> Arity
16 dataConFieldLabels :: DataCon -> [FieldLabel]
17 dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
18 dataConStupidTheta :: DataCon -> ThetaType
19
20 instance Eq DataCon
21 instance Ord DataCon
22 instance Uniquable DataCon
23 instance NamedThing DataCon
24 instance Outputable DataCon
25 instance OutputableBndr DataCon