module Language.Haskell.TH.Compat.Reify.Current (
ParentName,
unClassOpI, unDataConI, unVarI,
reifyFixity,
)where
import Language.Haskell.TH (Info (..), Name, Type, ParentName, Dec, reifyFixity)
unClassOpI :: Info -> Maybe (Name, Type, ParentName)
unClassOpI :: Info -> Maybe (Name, Type, Name)
unClassOpI (ClassOpI Name
n Type
t Name
p) = (Name, Type, Name) -> Maybe (Name, Type, Name)
forall a. a -> Maybe a
Just (Name
n, Type
t, Name
p)
unClassOpI Info
_ = Maybe (Name, Type, Name)
forall a. Maybe a
Nothing
unDataConI :: Info -> Maybe (Name, Type, ParentName)
unDataConI :: Info -> Maybe (Name, Type, Name)
unDataConI (DataConI Name
n Type
t Name
p) = (Name, Type, Name) -> Maybe (Name, Type, Name)
forall a. a -> Maybe a
Just (Name
n, Type
t, Name
p)
unDataConI Info
_ = Maybe (Name, Type, Name)
forall a. Maybe a
Nothing
unVarI :: Info -> Maybe (Name, Type, Maybe Dec)
unVarI :: Info -> Maybe (Name, Type, Maybe Dec)
unVarI (VarI Name
n Type
t Maybe Dec
md) = (Name, Type, Maybe Dec) -> Maybe (Name, Type, Maybe Dec)
forall a. a -> Maybe a
Just (Name
n, Type
t, Maybe Dec
md)
unVarI Info
_ = Maybe (Name, Type, Maybe Dec)
forall a. Maybe a
Nothing