pub struct ComplexityBuilder { /* private fields */ }Expand description
Builder for incrementally tracking complexity during AST traversal
Implementations§
Source§impl ComplexityBuilder
impl ComplexityBuilder
pub fn new() -> Self
Sourcepub fn add_branch(&mut self)
pub fn add_branch(&mut self)
Record a branch (if, else if, case, etc.)
Sourcepub fn add_logical_operator(&mut self)
pub fn add_logical_operator(&mut self)
Record a logical operator (&& or ||)
Sourcepub fn add_exception_handler(&mut self)
pub fn add_exception_handler(&mut self)
Record an exception handler (catch, except, etc.)
Sourcepub fn add_early_return(&mut self)
pub fn add_early_return(&mut self)
Record an early return
Sourcepub fn enter_scope(&mut self)
pub fn enter_scope(&mut self)
Enter a nested scope (increases nesting depth)
Sourcepub fn exit_scope(&mut self)
pub fn exit_scope(&mut self)
Exit a nested scope (decreases nesting depth)
Sourcepub fn current_depth(&self) -> u32
pub fn current_depth(&self) -> u32
Get the current nesting depth
Sourcepub fn build(self) -> ComplexityMetrics
pub fn build(self) -> ComplexityMetrics
Build the final ComplexityMetrics
Sourcepub fn current(&self) -> &ComplexityMetrics
pub fn current(&self) -> &ComplexityMetrics
Get a reference to the current metrics (without finalizing)
Trait Implementations§
Source§impl Debug for ComplexityBuilder
impl Debug for ComplexityBuilder
Source§impl Default for ComplexityBuilder
impl Default for ComplexityBuilder
Source§fn default() -> ComplexityBuilder
fn default() -> ComplexityBuilder
Returns the “default value” for a type. Read more