Skip to main content

Module pointcut

Module pointcut 

Source
Expand description

Pointcut expressions for pattern-based aspect weaving.

Pointcuts allow you to declaratively specify which functions should have aspects applied based on patterns like function name, visibility, module path, etc.

§Example

use aspect_core::pointcut::*;

// Match all public functions
let pc = Pointcut::parse("execution(pub fn *(..))").unwrap();

// Match functions in a specific module
let pc = Pointcut::parse("within(crate::api)").unwrap();

// Combine with boolean logic
let pc = Pointcut::parse("execution(pub fn *(..)) && within(crate::api)").unwrap();

Re-exports§

pub use ast::Pointcut;
pub use matcher::FunctionInfo;
pub use matcher::Matcher;
pub use parser::parse_pointcut;
pub use pattern::ExecutionPattern;
pub use pattern::ModulePattern;
pub use pattern::NamePattern;
pub use pattern::Visibility;

Modules§

ast
Abstract Syntax Tree for pointcut expressions.
matcher
Pointcut matching logic.
parser
Parser for pointcut expressions.
pattern
Pattern types for matching functions.