Safe HaskellSafe-Infered

AOP.Internal.Pointcut

Synopsis

Documentation

data PC m t

A pointcut is a predicate on the current join point. It is used to identify join points of interest.

Constructors

Monad m => PC 

Fields

mpcond :: forall a b. m (Jp a b -> m Bool)
 

Instances

Monad m => PCAnd m t1 t2 PC

When combining two PC pointcuts, the matched types t1 and t2 must be the same This is expressed in the constraint t1 ~ t2

Typeable1 m => Typeable1 (PC m)

Support for PolyTypeable

data RequirePC m t

A RequirePC is not a valid standalone pointcut, it reflects a type requirement and must be combined with a standard PC.

Constructors

Monad m => RequirePC 

Fields

mpcond' :: forall a b. m (Jp a b -> m Bool)
 

Instances

Monad m => PCAnd m t1 t2 RequirePC

When combining a PC with a RequirePC we constraint t1 to be LessGen than t2

Typeable1 m => Typeable1 (RequirePC m)

Support for PolyTypeable

runPC :: Monad m => PC m t -> Jp a b -> m Bool

Extracts the computation resulting of applying a join point to the pointcut