ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2024

Language.Haskell.Syntax.Binds.InlinePragma

Synopsis

Inline Pragma Encoding

InlinePragma

Data-type

data InlinePragma pass Source #

Instances

Instances details
(NFData (XInlinePragma p), NFData (XXInlinePragma p), NFData (XXActivation p)) => NFData (InlinePragma p) Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

rnf :: InlinePragma p -> () Source #

IsPass p => Binary (InlinePragma (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.InlinePragma

IsPass p => Outputable (InlinePragma (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.InlinePragma

Methods

ppr :: InlinePragma (GhcPass p) -> SDoc Source #

(Eq (XXActivation pass), Eq (XInlinePragma pass), Eq (XXInlinePragma pass)) => Eq (InlinePragma pass) Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

(==) :: InlinePragma pass -> InlinePragma pass -> Bool Source #

(/=) :: InlinePragma pass -> InlinePragma pass -> Bool Source #

Data (InlinePragma GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlinePragma GhcPs -> c (InlinePragma GhcPs) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InlinePragma GhcPs) Source #

toConstr :: InlinePragma GhcPs -> Constr Source #

dataTypeOf :: InlinePragma GhcPs -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InlinePragma GhcPs)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InlinePragma GhcPs)) Source #

gmapT :: (forall b. Data b => b -> b) -> InlinePragma GhcPs -> InlinePragma GhcPs Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcPs -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcPs -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InlinePragma GhcPs -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InlinePragma GhcPs -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InlinePragma GhcPs -> m (InlinePragma GhcPs) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcPs -> m (InlinePragma GhcPs) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcPs -> m (InlinePragma GhcPs) Source #

Data (InlinePragma GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlinePragma GhcRn -> c (InlinePragma GhcRn) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InlinePragma GhcRn) Source #

toConstr :: InlinePragma GhcRn -> Constr Source #

dataTypeOf :: InlinePragma GhcRn -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InlinePragma GhcRn)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InlinePragma GhcRn)) Source #

gmapT :: (forall b. Data b => b -> b) -> InlinePragma GhcRn -> InlinePragma GhcRn Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcRn -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcRn -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InlinePragma GhcRn -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InlinePragma GhcRn -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InlinePragma GhcRn -> m (InlinePragma GhcRn) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcRn -> m (InlinePragma GhcRn) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcRn -> m (InlinePragma GhcRn) Source #

Data (InlinePragma GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlinePragma GhcTc -> c (InlinePragma GhcTc) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InlinePragma GhcTc) Source #

toConstr :: InlinePragma GhcTc -> Constr Source #

dataTypeOf :: InlinePragma GhcTc -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InlinePragma GhcTc)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InlinePragma GhcTc)) Source #

gmapT :: (forall b. Data b => b -> b) -> InlinePragma GhcTc -> InlinePragma GhcTc Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcTc -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlinePragma GhcTc -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InlinePragma GhcTc -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InlinePragma GhcTc -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InlinePragma GhcTc -> m (InlinePragma GhcTc) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcTc -> m (InlinePragma GhcTc) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InlinePragma GhcTc -> m (InlinePragma GhcTc) Source #

Queries

InlineSpec

Data-type

data InlineSpec Source #

Inline Specification

Instances

Instances details
NFData InlineSpec Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

rnf :: InlineSpec -> () Source #

Binary InlineSpec Source # 
Instance details

Defined in GHC.Utils.Binary

Outputable InlineSpec Source # 
Instance details

Defined in GHC.Utils.Outputable

Methods

ppr :: InlineSpec -> SDoc Source #

Eq InlineSpec Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Data InlineSpec Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineSpec -> c InlineSpec Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineSpec Source #

toConstr :: InlineSpec -> Constr Source #

dataTypeOf :: InlineSpec -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InlineSpec) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InlineSpec) Source #

gmapT :: (forall b. Data b => b -> b) -> InlineSpec -> InlineSpec Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlineSpec -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlineSpec -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InlineSpec -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InlineSpec -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InlineSpec -> m InlineSpec Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InlineSpec -> m InlineSpec Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InlineSpec -> m InlineSpec Source #

Show InlineSpec Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Queries

RuleMatchInfo

Data-type

data RuleMatchInfo Source #

Rule Match Information

Constructors

ConLike 
FunLike 

Instances

Instances details
NFData RuleMatchInfo Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

rnf :: RuleMatchInfo -> () Source #

Binary RuleMatchInfo Source # 
Instance details

Defined in GHC.Utils.Binary

Outputable RuleMatchInfo Source # 
Instance details

Defined in GHC.Utils.Outputable

Eq RuleMatchInfo Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Data RuleMatchInfo Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleMatchInfo -> c RuleMatchInfo Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleMatchInfo Source #

toConstr :: RuleMatchInfo -> Constr Source #

dataTypeOf :: RuleMatchInfo -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RuleMatchInfo) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleMatchInfo) Source #

gmapT :: (forall b. Data b => b -> b) -> RuleMatchInfo -> RuleMatchInfo Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleMatchInfo -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleMatchInfo -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> RuleMatchInfo -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleMatchInfo -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleMatchInfo -> m RuleMatchInfo Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleMatchInfo -> m RuleMatchInfo Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleMatchInfo -> m RuleMatchInfo Source #

Show RuleMatchInfo Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Queries

Phase Activation

Activation

Data-type

data ActivationX e Source #

An activation is a range of phases throughout which something is active (like an INLINE pragma, SPECIALISE pragma, or RULE).

Constructors

AlwaysActive 
ActiveBefore PhaseNum

Active only *strictly before* this phase

ActiveAfter PhaseNum

Active in this phase and later phases

NeverActive

Active in the final phase only

XActivation !e 

Instances

Instances details
Binary ActivationGhc Source # 
Instance details

Defined in GHC.Types.InlinePragma

Data ActivationGhc Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ActivationGhc -> c ActivationGhc Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ActivationGhc Source #

toConstr :: ActivationGhc -> Constr Source #

dataTypeOf :: ActivationGhc -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ActivationGhc) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ActivationGhc) Source #

gmapT :: (forall b. Data b => b -> b) -> ActivationGhc -> ActivationGhc Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ActivationGhc -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ActivationGhc -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ActivationGhc -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ActivationGhc -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ActivationGhc -> m ActivationGhc Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ActivationGhc -> m ActivationGhc Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ActivationGhc -> m ActivationGhc Source #

NFData e => NFData (ActivationX e) Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

Methods

rnf :: ActivationX e -> () Source #

Outputable (ActivationX p) Source # 
Instance details

Defined in GHC.Utils.Outputable

Methods

ppr :: ActivationX p -> SDoc Source #

Eq e => Eq (ActivationX e) Source # 
Instance details

Defined in Language.Haskell.Syntax.Binds.InlinePragma

type PhaseNum = Int Source #

Compilation phase number, as can be written by users in INLINE pragmas, SPECIALISE pragmas, and RULES.

  • phases decrease towards zero
  • zero is the last phase

Does not include GHC internal "initial" and "final" phases; see CompilerPhase.