UnifiedAnalysisUtils

Trait UnifiedAnalysisUtils 

Source
pub trait UnifiedAnalysisUtils {
    // Required methods
    fn timings(&self) -> Option<&AnalysisPhaseTimings>;
    fn add_file_item(&mut self, item: FileDebtItem);
    fn add_item(&mut self, item: UnifiedDebtItem);
    fn sort_by_priority(&mut self);
    fn data_flow_graph(&self) -> &DataFlowGraph;
    fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph;
    fn populate_purity_analysis(&mut self, metrics: &[FunctionMetrics]);
    fn add_io_operation(&mut self, func_id: FunctionId, operation: IoOperation);
    fn add_variable_dependencies(
        &mut self,
        func_id: FunctionId,
        variables: HashSet<String>,
    );
    fn apply_file_context_adjustments(
        &mut self,
        file_contexts: &HashMap<PathBuf, FileContext>,
    );
}
Expand description

Extension trait providing utility operations for UnifiedAnalysis

Required Methods§

Source

fn timings(&self) -> Option<&AnalysisPhaseTimings>

Get timing information for the analysis phases

Source

fn add_file_item(&mut self, item: FileDebtItem)

Add a file-level debt item

Source

fn add_item(&mut self, item: UnifiedDebtItem)

Add a function-level debt item

Source

fn sort_by_priority(&mut self)

Sort all items by priority score

Source

fn data_flow_graph(&self) -> &DataFlowGraph

Get a reference to the data flow graph

Source

fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph

Get a mutable reference to the data flow graph

Source

fn populate_purity_analysis(&mut self, metrics: &[FunctionMetrics])

Populate the data flow graph with purity analysis data

Source

fn add_io_operation(&mut self, func_id: FunctionId, operation: IoOperation)

Add an I/O operation to the data flow graph

Source

fn add_variable_dependencies( &mut self, func_id: FunctionId, variables: HashSet<String>, )

Add variable dependencies to the data flow graph

Source

fn apply_file_context_adjustments( &mut self, file_contexts: &HashMap<PathBuf, FileContext>, )

Apply file context adjustments to all debt item scores (spec 166)

Adjusts scores based on file context (test vs production). Test files receive reduced scores to avoid false positives.

Implementors§