Class

ghc-8.10.7: The GHC API

Safe Haskell | None
Language | Haskell2010

Class

# Documentation

data Class Source #

#### Instances

Instances details

Eq Class # |
Instance details Defined in Class Methods (==) :: Class -> Class -> Bool # (/=) :: Class -> Class -> Bool #
Data Class # |
Instance details Defined in Class Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Class -> c Class Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Class Source # toConstr :: Class -> Constr Source # dataTypeOf :: Class -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Class) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Class) Source # gmapT :: (forall b. Data b => b -> b) -> Class -> Class Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Class -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Class -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Class -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Class -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Class -> m Class Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Class -> m Class Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Class -> m Class Source #
Outputable Class # |
Instance details Defined in Class Methods ppr :: Class -> SDoc Source # pprPrec :: Rational -> Class -> SDoc Source #
Uniquable Class # |
Instance details Defined in Class Methods getUnique :: Class -> Unique Source #
NamedThing Class # |
Instance details Defined in Class Methods getOccName :: Class -> OccName Source # getName :: Class -> Name Source #

type ClassOpItem = (Id, DefMethInfo) Source #

data ClassATItem Source #

Constructors

ATI TyCon (Maybe (Type, SrcSpan)) |

type ClassMinimalDef = BooleanFormula Name Source #

type DefMethInfo = Maybe (Name, DefMethSpec Type) Source #

pprDefMethInfo :: DefMethInfo -> SDoc Source #

type FunDep a = ([a], [a]) Source #

pprFundeps :: Outputable a => [FunDep a] -> SDoc Source #

pprFunDep :: Outputable a => FunDep a -> SDoc Source #

mkClass :: Name -> [TyVar] -> [FunDep TyVar] -> [PredType] -> [Id] -> [ClassATItem] -> [ClassOpItem] -> ClassMinimalDef -> TyCon -> Class Source #

mkAbstractClass :: Name -> [TyVar] -> [FunDep TyVar] -> TyCon -> Class Source #

classTyVars :: Class -> [TyVar] Source #

classArity :: Class -> Arity Source #

classKey :: Class -> Unique Source #

className :: Class -> Name Source #

classATs :: Class -> [TyCon] Source #

classATItems :: Class -> [ClassATItem] Source #

classTyCon :: Class -> TyCon Source #

classMethods :: Class -> [Id] Source #

classOpItems :: Class -> [ClassOpItem] Source #

classBigSig :: Class -> ([TyVar], [PredType], [Id], [ClassOpItem]) Source #

classExtraBigSig :: Class -> ([TyVar], [FunDep TyVar], [PredType], [Id], [ClassATItem], [ClassOpItem]) Source #

classTvsFds :: Class -> ([TyVar], [FunDep TyVar]) Source #

classSCTheta :: Class -> [PredType] Source #

classAllSelIds :: Class -> [Id] Source #

classSCSelId :: Class -> Int -> Id Source #

classSCSelIds :: Class -> [Id] Source #

classMinimalDef :: Class -> ClassMinimalDef Source #

classHasFds :: Class -> Bool Source #

isAbstractClass :: Class -> Bool Source #