pub trait ExpressionHook: Provider {
// Provided methods
fn before_expression(
&self,
_expr: &Expression<'_>,
_context: &mut HookContext<'_, '_>,
) -> HookResult<ExpressionHookResult> { ... }
fn after_expression(
&self,
_expr: &Expression<'_>,
_context: &mut HookContext<'_, '_>,
) -> HookResult<()> { ... }
}Expand description
Hook trait for intercepting expression analysis.
This hook receives the real AST expression and full mutable context, allowing hooks to inspect expressions, report issues, modify analysis state, and optionally skip analysis with a custom type.
Provided Methods§
Sourcefn before_expression(
&self,
_expr: &Expression<'_>,
_context: &mut HookContext<'_, '_>,
) -> HookResult<ExpressionHookResult>
fn before_expression( &self, _expr: &Expression<'_>, _context: &mut HookContext<'_, '_>, ) -> HookResult<ExpressionHookResult>
Called before an expression is analyzed.
Return ExpressionHookResult::Continue to proceed with normal analysis,
ExpressionHookResult::Skip to skip analysis (type will be mixed), or
ExpressionHookResult::SkipWithType(ty) to skip with a custom type.
Sourcefn after_expression(
&self,
_expr: &Expression<'_>,
_context: &mut HookContext<'_, '_>,
) -> HookResult<()>
fn after_expression( &self, _expr: &Expression<'_>, _context: &mut HookContext<'_, '_>, ) -> HookResult<()>
Called after an expression has been analyzed.