AnalysisResults { project_path: ".", timestamp: 2025-08-10T07:12:00.131933Z, complexity: ComplexityReport { metrics: [FunctionMetrics { name: "test_javascript_file_analysis", file: "./tests/javascript_typescript_test.rs", line: 1, cyclomatic: 1, cognitive: 7, nesting: 1, length: 28 }, FunctionMetrics { name: "<closure@1>", file: "./tests/javascript_typescript_test.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./tests/javascript_typescript_test.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_typescript_file_analysis", file: "./tests/javascript_typescript_test.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 43 }, FunctionMetrics { name: "test_javascript_complexity_metrics", file: "./tests/javascript_typescript_test.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 31 }, FunctionMetrics { name: "test_jsx_file_detection", file: "./tests/javascript_typescript_test.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 32 }, FunctionMetrics { name: "test_import_export_dependencies", file: "./tests/javascript_typescript_test.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 16 }, FunctionMetrics { name: "test_arrow_function_detection", file: "./tests/javascript_typescript_test.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 26 }, FunctionMetrics { name: "test_async_await_analysis", file: "./tests/javascript_typescript_test.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 31 }, FunctionMetrics { name: "test_typescript_generics_and_types", file: "./tests/javascript_typescript_test.rs", line: 10, cyclomatic: 1, cognitive: 4, nesting: 1, length: 34 }, FunctionMetrics { name: "<closure@10>", file: "./tests/javascript_typescript_test.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_suppression_comments_javascript", file: "./tests/javascript_typescript_test.rs", line: 12, cyclomatic: 1, cognitive: 4, nesting: 1, length: 13 }, FunctionMetrics { name: "<closure@12>", file: "./tests/javascript_typescript_test.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_lcov_empty_file", file: "./tests/lcov_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_lcov_single_file", file: "./tests/lcov_tests.rs", line: 2, cyclomatic: 1, cognitive: 3, nesting: 1, length: 7 }, FunctionMetrics { name: "<closure@2>", file: "./tests/lcov_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./tests/lcov_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_lcov_uncovered_functions", file: "./tests/lcov_tests.rs", line: 5, cyclomatic: 1, cognitive: 3, nesting: 1, length: 7 }, FunctionMetrics { name: "<closure@5>", file: "./tests/lcov_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./tests/lcov_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_lcov_multiple_files", file: "./tests/lcov_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 9 }, FunctionMetrics { name: "test_get_function_coverage", file: "./tests/lcov_tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 7 }, FunctionMetrics { name: "test_get_file_coverage", file: "./tests/lcov_tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 9 }, FunctionMetrics { name: "test_parse_lcov_malformed_lines", file: "./tests/lcov_tests.rs", line: 11, cyclomatic: 1, cognitive: 1, nesting: 1, length: 10 }, FunctionMetrics { name: "test_duplication_detection", file: "./tests/dependency_and_coupling_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 11 }, FunctionMetrics { name: "test_circular_dependency_detection", file: "./tests/dependency_and_coupling_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_self_dependency", file: "./tests/dependency_and_coupling_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_coupling_metrics", file: "./tests/dependency_and_coupling_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_dependency_graph_operations", file: "./tests/dependency_and_coupling_tests.rs", line: 5, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./tests/dependency_and_coupling_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./tests/dependency_and_coupling_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_suppression_block_comments", file: "./tests/suppression_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 7 }, FunctionMetrics { name: "test_suppression_line_comments", file: "./tests/suppression_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_suppression_next_line", file: "./tests/suppression_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_type_specific_suppression", file: "./tests/suppression_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 6 }, FunctionMetrics { name: "test_suppression_with_reason", file: "./tests/suppression_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 6 }, FunctionMetrics { name: "test_python_suppression", file: "./tests/suppression_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 7 }, FunctionMetrics { name: "test_wildcard_suppression", file: "./tests/suppression_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_output_json_format", file: "./tests/output_format_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 2, length: 1 }, FunctionMetrics { name: "test_output_markdown_format", file: "./tests/output_format_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_metrics", file: "./tests/complexity_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_function_is_complex", file: "./tests/complexity_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_simple_block", file: "./tests/cyclomatic_complexity_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_single_if", file: "./tests/cyclomatic_complexity_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_if_else", file: "./tests/cyclomatic_complexity_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_nested_if", file: "./tests/cyclomatic_complexity_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_match_expression", file: "./tests/cyclomatic_complexity_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_match_with_guards", file: "./tests/cyclomatic_complexity_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_while_loop", file: "./tests/cyclomatic_complexity_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_for_loop", file: "./tests/cyclomatic_complexity_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_loop", file: "./tests/cyclomatic_complexity_tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_logical_and", file: "./tests/cyclomatic_complexity_tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_logical_or", file: "./tests/cyclomatic_complexity_tests.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_multiple_logical_operators", file: "./tests/cyclomatic_complexity_tests.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_try_expression", file: "./tests/cyclomatic_complexity_tests.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_multiple_try", file: "./tests/cyclomatic_complexity_tests.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_nested_match", file: "./tests/cyclomatic_complexity_tests.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_complex_control_flow", file: "./tests/cyclomatic_complexity_tests.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_for_function_no_params", file: "./tests/cyclomatic_complexity_tests.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_for_function_single_param", file: "./tests/cyclomatic_complexity_tests.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_for_function_multiple_params", file: "./tests/cyclomatic_complexity_tests.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_for_function_many_params", file: "./tests/cyclomatic_complexity_tests.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cyclomatic_empty", file: "./tests/cyclomatic_complexity_tests.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cyclomatic_single_branch", file: "./tests/cyclomatic_complexity_tests.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cyclomatic_multiple_branches", file: "./tests/cyclomatic_complexity_tests.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cyclomatic_with_ones", file: "./tests/cyclomatic_complexity_tests.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_else_if_chain", file: "./tests/cyclomatic_complexity_tests.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_early_return", file: "./tests/cyclomatic_complexity_tests.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cyclomatic_break_continue", file: "./tests/cyclomatic_complexity_tests.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_long_parameter_list", file: "./tests/smell_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_long_method", file: "./tests/smell_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_deep_nesting", file: "./tests/smell_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_detection_multiple", file: "./tests/smell_tests.rs", line: 4, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./tests/smell_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./tests/smell_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./tests/smell_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_module_smell_detection", file: "./tests/smell_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_to_debt_item", file: "./tests/smell_tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_code_smell_suppression", file: "./tests/smell_tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_todo_fixme_detection", file: "./tests/debt_tests.rs", line: 1, cyclomatic: 1, cognitive: 5, nesting: 1, length: 9 }, FunctionMetrics { name: "<closure@1>", file: "./tests/debt_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./tests/debt_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./tests/debt_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./tests/debt_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_debt_item_creation", file: "./tests/debt_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_priority_ordering", file: "./tests/debt_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_language_detection", file: "./tests/debt_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_new", file: "./tests/complexity_module_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_is_complex_cyclomatic", file: "./tests/complexity_module_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_is_complex_cognitive", file: "./tests/complexity_module_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_is_complex_both", file: "./tests/complexity_module_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_is_not_complex", file: "./tests/complexity_module_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_calculate_score_low", file: "./tests/complexity_module_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_calculate_score_medium", file: "./tests/complexity_module_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_calculate_score_high", file: "./tests/complexity_module_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_calculate_score_zero", file: "./tests/complexity_module_tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_complexity", file: "./tests/complexity_module_tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_max_complexity_empty", file: "./tests/complexity_module_tests.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_max_complexity_single", file: "./tests/complexity_module_tests.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_max_complexity_multiple", file: "./tests/complexity_module_tests.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_max_complexity_all_same", file: "./tests/complexity_module_tests.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_max_complexity_with_zero", file: "./tests/complexity_module_tests.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_empty", file: "./tests/complexity_module_tests.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_single", file: "./tests/complexity_module_tests.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_multiple", file: "./tests/complexity_module_tests.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_with_zeros", file: "./tests/complexity_module_tests.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_large_numbers", file: "./tests/complexity_module_tests.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_fractional_result", file: "./tests/complexity_module_tests.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_average_complexity_odd_count", file: "./tests/complexity_module_tests.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_calculator_boundary_values", file: "./tests/complexity_module_tests.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_score_proportions", file: "./tests/complexity_module_tests.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_complexity_integration", file: "./tests/complexity_module_tests.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_simple_block", file: "./tests/cognitive_complexity_tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_single_if", file: "./tests/cognitive_complexity_tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_nested_if", file: "./tests/cognitive_complexity_tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_match_expression", file: "./tests/cognitive_complexity_tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_nested_match", file: "./tests/cognitive_complexity_tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_while_loop", file: "./tests/cognitive_complexity_tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_for_loop", file: "./tests/cognitive_complexity_tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_loop", file: "./tests/cognitive_complexity_tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_logical_operators", file: "./tests/cognitive_complexity_tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_multiple_logical_operators", file: "./tests/cognitive_complexity_tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_try_expression", file: "./tests/cognitive_complexity_tests.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_nested_try", file: "./tests/cognitive_complexity_tests.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_closure", file: "./tests/cognitive_complexity_tests.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_nested_closures", file: "./tests/cognitive_complexity_tests.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_complex_nesting", file: "./tests/cognitive_complexity_tests.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_penalty_zero_nesting", file: "./tests/cognitive_complexity_tests.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_penalty_level_one", file: "./tests/cognitive_complexity_tests.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_penalty_level_two", file: "./tests/cognitive_complexity_tests.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_penalty_level_three", file: "./tests/cognitive_complexity_tests.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_penalty_high_nesting", file: "./tests/cognitive_complexity_tests.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cognitive_empty", file: "./tests/cognitive_complexity_tests.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cognitive_single", file: "./tests/cognitive_complexity_tests.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cognitive_multiple", file: "./tests/cognitive_complexity_tests.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_combine_cognitive_with_zeros", file: "./tests/cognitive_complexity_tests.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_else_if_chain", file: "./tests/cognitive_complexity_tests.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_calculate_cognitive_mixed_control_flow", file: "./tests/cognitive_complexity_tests.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_file", file: "./src/analyzers/mod.rs", line: 1, cyclomatic: 1, cognitive: 8, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/analyzers/mod.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "transform_ast", file: "./src/analyzers/mod.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/analyzers/mod.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "apply_filters", file: "./src/analyzers/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "compose_analyzers", file: "./src/analyzers/mod.rs", line: 6, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/analyzers/mod.rs", line: 7, cyclomatic: 2, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/analyzers/mod.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_analyzer", file: "./src/analyzers/mod.rs", line: 9, cyclomatic: 1, cognitive: 10, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/analyzers/mod.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/analyzers/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/analyzers/mod.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/analyzers/mod.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/analyzers/mod.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/analyzers/mod.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/analyzers/mod.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_js_analyzer", file: "./src/analyzers/mod.rs", line: 17, cyclomatic: 1, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/analyzers/mod.rs", line: 18, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@18>", file: "./src/analyzers/mod.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse", file: "./src/analyzers/mod.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze", file: "./src/analyzers/mod.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "language", file: "./src/analyzers/mod.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_transform_ast", file: "./src/analyzers/mod.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_apply_filters", file: "./src/analyzers/mod.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_get_analyzer_rust", file: "./src/analyzers/mod.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_get_analyzer_python", file: "./src/analyzers/mod.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_get_analyzer_unknown", file: "./src/analyzers/mod.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_null_analyzer_parse", file: "./src/analyzers/mod.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_null_analyzer_analyze", file: "./src/analyzers/mod.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_null_analyzer_language", file: "./src/analyzers/mod.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_analyze_file", file: "./src/analyzers/mod.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_compose_analyzers", file: "./src/analyzers/mod.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/analyzers/rust.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/analyzers/rust.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse", file: "./src/analyzers/rust.rs", line: 3, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze", file: "./src/analyzers/rust.rs", line: 4, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "language", file: "./src/analyzers/rust.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_rust_file", file: "./src/analyzers/rust.rs", line: 6, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/analyzers/rust.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_debt_items", file: "./src/analyzers/rust.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_all_rust_debt_items", file: "./src/analyzers/rust.rs", line: 9, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_rust_module_smell_items", file: "./src/analyzers/rust.rs", line: 10, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/analyzers/rust.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/analyzers/rust.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_rust_function_smell_items", file: "./src/analyzers/rust.rs", line: 13, cyclomatic: 1, cognitive: 10, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/analyzers/rust.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/analyzers/rust.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/analyzers/rust.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "report_rust_unclosed_blocks", file: "./src/analyzers/rust.rs", line: 17, cyclomatic: 1, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/analyzers/rust.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/analyzers/rust.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_line_number", file: "./src/analyzers/rust.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_function", file: "./src/analyzers/rust.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_item_fn", file: "./src/analyzers/rust.rs", line: 22, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_impl_item_fn", file: "./src/analyzers/rust.rs", line: 23, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_expr", file: "./src/analyzers/rust.rs", line: 24, cyclomatic: 3, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "calculate_cyclomatic_syn", file: "./src/analyzers/rust.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive_syn", file: "./src/analyzers/rust.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_nesting", file: "./src/analyzers/rust.rs", line: 27, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "visit_block", file: "./src/analyzers/rust.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count_lines", file: "./src/analyzers/rust.rs", line: 29, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_debt_items", file: "./src/analyzers/rust.rs", line: 30, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@30>", file: "./src/analyzers/rust.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/analyzers/rust.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_complexity_debt_item", file: "./src/analyzers/rust.rs", line: 33, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_dependencies", file: "./src/analyzers/rust.rs", line: 34, cyclomatic: 2, cognitive: 10, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@34>", file: "./src/analyzers/rust.rs", line: 35, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@35>", file: "./src/analyzers/rust.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_use_name", file: "./src/analyzers/rust.rs", line: 37, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_functions", file: "./src/analyzers/javascript/complexity.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_functions_from_node", file: "./src/analyzers/javascript/complexity.rs", line: 2, cyclomatic: 3, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/analyzers/javascript/complexity.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_function", file: "./src/analyzers/javascript/complexity.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_function_name", file: "./src/analyzers/javascript/complexity.rs", line: 5, cyclomatic: 1, cognitive: 12, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/analyzers/javascript/complexity.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/analyzers/javascript/complexity.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/analyzers/javascript/complexity.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/analyzers/javascript/complexity.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_arrow_function_name", file: "./src/analyzers/javascript/complexity.rs", line: 10, cyclomatic: 2, cognitive: 14, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/analyzers/javascript/complexity.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/analyzers/javascript/complexity.rs", line: 12, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/analyzers/javascript/complexity.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/analyzers/javascript/complexity.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cyclomatic_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_complexity_sum", file: "./src/analyzers/javascript/complexity.rs", line: 16, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/analyzers/javascript/complexity.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "node_complexity_increment", file: "./src/analyzers/javascript/complexity.rs", line: 18, cyclomatic: 5, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "is_logical_operator", file: "./src/analyzers/javascript/complexity.rs", line: 19, cyclomatic: 2, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/analyzers/javascript/complexity.rs", line: 20, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_complexity_calculator", file: "./src/analyzers/javascript/complexity.rs", line: 22, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/analyzers/javascript/complexity.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_if_statement", file: "./src/analyzers/javascript/complexity.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_switch_statement", file: "./src/analyzers/javascript/complexity.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_catch_clause", file: "./src/analyzers/javascript/complexity.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_ternary_expression", file: "./src/analyzers/javascript/complexity.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_binary_expression", file: "./src/analyzers/javascript/complexity.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_loop_statement", file: "./src/analyzers/javascript/complexity.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_if_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_switch_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_loop_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_catch_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 33, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_ternary_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 34, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_binary_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 35, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_default_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_standard_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 37, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "sum_child_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 38, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@38>", file: "./src/analyzers/javascript/complexity.rs", line: 39, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count_else_clauses", file: "./src/analyzers/javascript/complexity.rs", line: 40, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@40>", file: "./src/analyzers/javascript/complexity.rs", line: 41, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "logical_operator_complexity", file: "./src/analyzers/javascript/complexity.rs", line: 42, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_max_nesting", file: "./src/analyzers/javascript/complexity.rs", line: 43, cyclomatic: 3, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "new_javascript", file: "./src/analyzers/javascript/mod.rs", line: 1, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "new_typescript", file: "./src/analyzers/javascript/mod.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_tree", file: "./src/analyzers/javascript/mod.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "create_ast", file: "./src/analyzers/javascript/mod.rs", line: 4, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "create_debt_items", file: "./src/analyzers/javascript/mod.rs", line: 5, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_todos_and_fixmes", file: "./src/analyzers/javascript/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_code_smells", file: "./src/analyzers/javascript/mod.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_function_smells", file: "./src/analyzers/javascript/mod.rs", line: 8, cyclomatic: 1, cognitive: 10, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/analyzers/javascript/mod.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/analyzers/javascript/mod.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/analyzers/javascript/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_module_smells", file: "./src/analyzers/javascript/mod.rs", line: 12, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/analyzers/javascript/mod.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/analyzers/javascript/mod.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_complexity_issues", file: "./src/analyzers/javascript/mod.rs", line: 15, cyclomatic: 1, cognitive: 10, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/analyzers/javascript/mod.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/analyzers/javascript/mod.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/analyzers/javascript/mod.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_complexity_debt_item", file: "./src/analyzers/javascript/mod.rs", line: 19, cyclomatic: 3, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "parse", file: "./src/analyzers/javascript/mod.rs", line: 20, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze", file: "./src/analyzers/javascript/mod.rs", line: 21, cyclomatic: 3, cognitive: 12, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/analyzers/javascript/mod.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/analyzers/javascript/mod.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "language", file: "./src/analyzers/javascript/mod.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "report_unclosed_blocks", file: "./src/analyzers/javascript/mod.rs", line: 25, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_dependencies", file: "./src/analyzers/javascript/dependencies.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_node_for_dependencies", file: "./src/analyzers/javascript/dependencies.rs", line: 2, cyclomatic: 2, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/analyzers/javascript/dependencies.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/analyzers/javascript/dependencies.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_import_statement", file: "./src/analyzers/javascript/dependencies.rs", line: 5, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/analyzers/javascript/dependencies.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_call_expression", file: "./src/analyzers/javascript/dependencies.rs", line: 7, cyclomatic: 3, cognitive: 9, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/analyzers/javascript/dependencies.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/analyzers/javascript/dependencies.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_dynamic_import", file: "./src/analyzers/javascript/dependencies.rs", line: 10, cyclomatic: 2, cognitive: 10, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/analyzers/javascript/dependencies.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/analyzers/javascript/dependencies.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_string_arguments", file: "./src/analyzers/javascript/dependencies.rs", line: 13, cyclomatic: 1, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/analyzers/javascript/dependencies.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/analyzers/javascript/dependencies.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/analyzers/javascript/dependencies.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "clean_module_name", file: "./src/analyzers/javascript/dependencies.rs", line: 17, cyclomatic: 3, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/analyzers/javascript/dependencies.rs", line: 18, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/analyzers/python.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/analyzers/python.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse", file: "./src/analyzers/python.rs", line: 3, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/analyzers/python.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze", file: "./src/analyzers/python.rs", line: 5, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "language", file: "./src/analyzers/python.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_python_file", file: "./src/analyzers/python.rs", line: 7, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/analyzers/python.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_python_debt_items", file: "./src/analyzers/python.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_all_debt_items", file: "./src/analyzers/python.rs", line: 10, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_module_smell_items", file: "./src/analyzers/python.rs", line: 11, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/analyzers/python.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/analyzers/python.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_function_smell_items", file: "./src/analyzers/python.rs", line: 14, cyclomatic: 1, cognitive: 10, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/analyzers/python.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/analyzers/python.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/analyzers/python.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "report_unclosed_blocks", file: "./src/analyzers/python.rs", line: 18, cyclomatic: 1, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@18>", file: "./src/analyzers/python.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_function_metrics", file: "./src/analyzers/python.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_functions_from_stmts", file: "./src/analyzers/python.rs", line: 21, cyclomatic: 5, cognitive: 7, nesting: 3, length: 1 }, FunctionMetrics { name: "estimate_line_number", file: "./src/analyzers/python.rs", line: 22, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/analyzers/python.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/analyzers/python.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count_python_params", file: "./src/analyzers/python.rs", line: 25, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/analyzers/python.rs", line: 26, cyclomatic: 2, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_cyclomatic_python", file: "./src/analyzers/python.rs", line: 27, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "count_branches_stmt", file: "./src/analyzers/python.rs", line: 28, cyclomatic: 9, cognitive: 26, nesting: 4, length: 1 }, FunctionMetrics { name: "calculate_cognitive_python", file: "./src/analyzers/python.rs", line: 29, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@29>", file: "./src/analyzers/python.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive_stmt", file: "./src/analyzers/python.rs", line: 31, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/analyzers/python.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_nesting_python", file: "./src/analyzers/python.rs", line: 33, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@33>", file: "./src/analyzers/python.rs", line: 34, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_nesting_stmt", file: "./src/analyzers/python.rs", line: 35, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@35>", file: "./src/analyzers/python.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_stmt_bodies", file: "./src/analyzers/python.rs", line: 37, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_debt_items", file: "./src/analyzers/python.rs", line: 38, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@38>", file: "./src/analyzers/python.rs", line: 39, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@39>", file: "./src/analyzers/python.rs", line: 40, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_python_complexity_debt_item", file: "./src/analyzers/python.rs", line: 41, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_dependencies", file: "./src/analyzers/python.rs", line: 42, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_stmt_dependencies", file: "./src/analyzers/python.rs", line: 43, cyclomatic: 3, cognitive: 13, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@43>", file: "./src/analyzers/python.rs", line: 44, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@44>", file: "./src/analyzers/python.rs", line: 45, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/cache.rs", line: 1, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "get_or_compute", file: "./src/core/cache.rs", line: 2, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/core/cache.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/core/cache.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_file_info", file: "./src/core/cache.rs", line: 5, cyclomatic: 4, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "try_cache_hit", file: "./src/core/cache.rs", line: 6, cyclomatic: 1, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/core/cache.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/core/cache.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "compute_and_cache", file: "./src/core/cache.rs", line: 9, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/core/cache.rs", line: 10, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_hash", file: "./src/core/cache.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "load_index", file: "./src/core/cache.rs", line: 12, cyclomatic: 4, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "save_index", file: "./src/core/cache.rs", line: 13, cyclomatic: 3, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/core/cache.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "clear", file: "./src/core/cache.rs", line: 15, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "stats", file: "./src/core/cache.rs", line: 16, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "prune", file: "./src/core/cache.rs", line: 17, cyclomatic: 2, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/core/cache.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "fmt", file: "./src/core/cache.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/core/cache.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/cache.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "load_previous", file: "./src/core/cache.rs", line: 22, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/core/cache.rs", line: 23, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "mark_changed", file: "./src/core/cache.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "update_file", file: "./src/core/cache.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_files_to_analyze", file: "./src/core/cache.rs", line: 26, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@26>", file: "./src/core/cache.rs", line: 27, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_diff", file: "./src/core/cache.rs", line: 28, cyclomatic: 7, cognitive: 9, nesting: 4, length: 1 }, FunctionMetrics { name: "metrics_equal", file: "./src/core/cache.rs", line: 29, cyclomatic: 2, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "test_cache_hash", file: "./src/core/cache.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_cache_stats", file: "./src/core/cache.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_incremental_analysis", file: "./src/core/cache.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_average_complexity", file: "./src/core/metrics.rs", line: 1, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/core/metrics.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_max_complexity", file: "./src/core/metrics.rs", line: 3, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/core/metrics.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count_high_complexity", file: "./src/core/metrics.rs", line: 5, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/core/metrics.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_metrics", file: "./src/core/metrics.rs", line: 7, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/core/metrics.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_metrics", file: "./src/core/metrics.rs", line: 9, cyclomatic: 1, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/core/metrics.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "sort_by_complexity", file: "./src/core/metrics.rs", line: 11, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/core/metrics.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "group_by_file", file: "./src/core/metrics.rs", line: 13, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/core/metrics.rs", line: 14, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_nesting_penalty", file: "./src/core/metrics.rs", line: 15, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_length_penalty", file: "./src/core/metrics.rs", line: 16, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/mod.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_complex", file: "./src/core/mod.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "fmt", file: "./src/core/mod.rs", line: 3, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/core/mod.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/core/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "fmt", file: "./src/core/mod.rs", line: 6, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/core/mod.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/core/mod.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "from_function", file: "./src/core/mod.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "from_extension", file: "./src/core/mod.rs", line: 10, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/core/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/core/mod.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "fmt", file: "./src/core/mod.rs", line: 13, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/core/mod.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/core/mod.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "and_then_async", file: "./src/core/monadic.rs", line: 1, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "or_else_with", file: "./src/core/monadic.rs", line: 2, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/core/monadic.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "map_err_context", file: "./src/core/monadic.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "map_ok", file: "./src/core/monadic.rs", line: 5, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "tap", file: "./src/core/monadic.rs", line: 6, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "tap_err", file: "./src/core/monadic.rs", line: 7, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "ok_or_error", file: "./src/core/monadic.rs", line: 8, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/core/monadic.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "and_then_some", file: "./src/core/monadic.rs", line: 10, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "or_else_some", file: "./src/core/monadic.rs", line: 11, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_some", file: "./src/core/monadic.rs", line: 12, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/monadic.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "apply", file: "./src/core/monadic.rs", line: 14, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "apply_result", file: "./src/core/monadic.rs", line: 15, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "unwrap", file: "./src/core/monadic.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "compose_results", file: "./src/core/monadic.rs", line: 17, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/core/monadic.rs", line: 18, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "lift_result", file: "./src/core/monadic.rs", line: 19, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/core/monadic.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "sequence_results", file: "./src/core/monadic.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "traverse_results", file: "./src/core/monadic.rs", line: 22, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "test_result_ext", file: "./src/core/monadic.rs", line: 23, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/core/monadic.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/core/monadic.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/core/monadic.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_option_ext", file: "./src/core/monadic.rs", line: 27, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/core/monadic.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@28>", file: "./src/core/monadic.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_kleisli_composition", file: "./src/core/monadic.rs", line: 30, cyclomatic: 1, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@30>", file: "./src/core/monadic.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/core/monadic.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_sequence", file: "./src/core/monadic.rs", line: 33, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/lazy.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "map", file: "./src/core/lazy.rs", line: 2, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "filter", file: "./src/core/lazy.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "flat_map", file: "./src/core/lazy.rs", line: 4, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "take", file: "./src/core/lazy.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "skip", file: "./src/core/lazy.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "collect", file: "./src/core/lazy.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "fold", file: "./src/core/lazy.rs", line: 8, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "any", file: "./src/core/lazy.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "all", file: "./src/core/lazy.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count", file: "./src/core/lazy.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/core/lazy.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/lazy.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_transformation", file: "./src/core/lazy.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "apply", file: "./src/core/lazy.rs", line: 15, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/core/lazy.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "apply_all", file: "./src/core/lazy.rs", line: 17, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/core/lazy.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/core/lazy.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "force", file: "./src/core/lazy.rs", line: 20, cyclomatic: 3, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "is_evaluated", file: "./src/core/lazy.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_lazy_pipeline", file: "./src/core/lazy.rs", line: 22, cyclomatic: 1, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/core/lazy.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/core/lazy.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_lazy_value", file: "./src/core/lazy.rs", line: 25, cyclomatic: 1, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/core/lazy.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "transform", file: "./src/core/ast.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "map_functions", file: "./src/core/ast.rs", line: 2, cyclomatic: 1, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/core/ast.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_nodes", file: "./src/core/ast.rs", line: 4, cyclomatic: 1, cognitive: 13, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/core/ast.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/core/ast.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/core/ast.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/core/ast.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/core/ast.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/core/ast.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/core/ast.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/core/ast.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/core/ast.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/core/ast.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_rust_nodes", file: "./src/core/ast.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_python_nodes", file: "./src/core/ast.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_javascript_nodes", file: "./src/core/ast.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_typescript_nodes", file: "./src/core/ast.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "count_branches", file: "./src/core/ast.rs", line: 19, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/core/ast.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_asts", file: "./src/core/ast.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_ast", file: "./src/core/ast.rs", line: 22, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "total_complexity", file: "./src/complexity/patterns.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "merge", file: "./src/complexity/patterns.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/complexity/patterns.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/complexity/patterns.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_item", file: "./src/complexity/patterns.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_expr", file: "./src/complexity/patterns.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_async_pattern", file: "./src/complexity/patterns.rs", line: 7, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "detect_method_chain", file: "./src/complexity/patterns.rs", line: 8, cyclomatic: 4, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "is_higher_order_function", file: "./src/complexity/patterns.rs", line: 9, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "detect_functional_composition", file: "./src/complexity/patterns.rs", line: 10, cyclomatic: 4, cognitive: 6, nesting: 4, length: 1 }, FunctionMetrics { name: "visit_item_fn", file: "./src/complexity/patterns.rs", line: 11, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_impl_item_fn", file: "./src/complexity/patterns.rs", line: 12, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_expr", file: "./src/complexity/patterns.rs", line: 13, cyclomatic: 20, cognitive: 41, nesting: 6, length: 1 }, FunctionMetrics { name: "analyze_patterns", file: "./src/complexity/patterns.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_pattern_complexity_total", file: "./src/complexity/patterns.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_pattern_merge", file: "./src/complexity/patterns.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive", file: "./src/complexity/cognitive.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive_with_patterns", file: "./src/complexity/cognitive.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_expr_metrics", file: "./src/complexity/cognitive.rs", line: 3, cyclomatic: 9, cognitive: 10, nesting: 3, length: 1 }, FunctionMetrics { name: "visit_with_nesting", file: "./src/complexity/cognitive.rs", line: 4, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "visit_expr", file: "./src/complexity/cognitive.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "visit_block", file: "./src/complexity/cognitive.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_logical_operator", file: "./src/complexity/cognitive.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cognitive_penalty", file: "./src/complexity/cognitive.rs", line: 8, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/complexity/cognitive.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/complexity/cognitive.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_cognitive", file: "./src/complexity/cognitive.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/complexity/mod.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_complex", file: "./src/complexity/mod.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_score", file: "./src/complexity/mod.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_complexity", file: "./src/complexity/mod.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "max_complexity", file: "./src/complexity/mod.rs", line: 5, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "average_complexity", file: "./src/complexity/mod.rs", line: 6, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "total_complexity", file: "./src/complexity/python_patterns.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/complexity/python_patterns.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/complexity/python_patterns.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_body", file: "./src/complexity/python_patterns.rs", line: 4, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_stmt", file: "./src/complexity/python_patterns.rs", line: 5, cyclomatic: 21, cognitive: 32, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/complexity/python_patterns.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_expr", file: "./src/complexity/python_patterns.rs", line: 7, cyclomatic: 15, cognitive: 25, nesting: 5, length: 1 }, FunctionMetrics { name: "analyze_python_patterns", file: "./src/complexity/python_patterns.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_python_pattern_complexity_total", file: "./src/complexity/python_patterns.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cyclomatic", file: "./src/complexity/cyclomatic.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_expr_complexity", file: "./src/complexity/cyclomatic.rs", line: 2, cyclomatic: 8, cognitive: 11, nesting: 3, length: 1 }, FunctionMetrics { name: "visit_expr", file: "./src/complexity/cyclomatic.rs", line: 3, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "visit_stmt", file: "./src/complexity/cyclomatic.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_logical_operator", file: "./src/complexity/cyclomatic.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_cyclomatic_for_function", file: "./src/complexity/cyclomatic.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_cyclomatic", file: "./src/complexity/cyclomatic.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/io/writers/terminal.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/io/writers/terminal.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_results", file: "./src/io/writers/terminal.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/io/writers/terminal.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_risk_insights", file: "./src/io/writers/terminal.rs", line: 5, cyclomatic: 6, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "print_header", file: "./src/io/writers/terminal.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "format_debt_score", file: "./src/io/writers/terminal.rs", line: 7, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "print_summary", file: "./src/io/writers/terminal.rs", line: 8, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/io/writers/terminal.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "print_complexity_hotspots", file: "./src/io/writers/terminal.rs", line: 10, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "get_top_complex_functions", file: "./src/io/writers/terminal.rs", line: 11, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/io/writers/terminal.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "print_technical_debt", file: "./src/io/writers/terminal.rs", line: 13, cyclomatic: 4, cognitive: 8, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/io/writers/terminal.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "print_pass_fail_status", file: "./src/io/writers/terminal.rs", line: 15, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "is_passing", file: "./src/io/writers/terminal.rs", line: 16, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/io/writers/json.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_results", file: "./src/io/writers/json.rs", line: 2, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "write_risk_insights", file: "./src/io/writers/json.rs", line: 3, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/io/writers/markdown.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_results", file: "./src/io/writers/markdown.rs", line: 2, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/io/writers/markdown.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_risk_insights", file: "./src/io/writers/markdown.rs", line: 4, cyclomatic: 4, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "write_header", file: "./src/io/writers/markdown.rs", line: 5, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/io/writers/markdown.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_summary", file: "./src/io/writers/markdown.rs", line: 7, cyclomatic: 4, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "write_summary_header", file: "./src/io/writers/markdown.rs", line: 8, cyclomatic: 5, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "write_summary_metrics", file: "./src/io/writers/markdown.rs", line: 9, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/io/writers/markdown.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_summary_row", file: "./src/io/writers/markdown.rs", line: 11, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "write_complexity_analysis", file: "./src/io/writers/markdown.rs", line: 12, cyclomatic: 4, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "write_complexity_header", file: "./src/io/writers/markdown.rs", line: 13, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/io/writers/markdown.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_complexity_table", file: "./src/io/writers/markdown.rs", line: 15, cyclomatic: 4, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "write_complexity_row", file: "./src/io/writers/markdown.rs", line: 16, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "write_technical_debt", file: "./src/io/writers/markdown.rs", line: 17, cyclomatic: 4, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "write_technical_debt_header", file: "./src/io/writers/markdown.rs", line: 18, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "write_risk_header", file: "./src/io/writers/markdown.rs", line: 19, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "write_risk_summary", file: "./src/io/writers/markdown.rs", line: 20, cyclomatic: 6, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "write_risk_distribution", file: "./src/io/writers/markdown.rs", line: 21, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/io/writers/markdown.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_high_priority_items", file: "./src/io/writers/markdown.rs", line: 23, cyclomatic: 5, cognitive: 10, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/io/writers/markdown.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/io/writers/markdown.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_high_priority", file: "./src/io/writers/markdown.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "write_debt_item", file: "./src/io/writers/markdown.rs", line: 27, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "write_recommendations", file: "./src/io/writers/markdown.rs", line: 28, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@28>", file: "./src/io/writers/markdown.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/io/walker.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_languages", file: "./src/io/walker.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_ignore_patterns", file: "./src/io/walker.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "walk", file: "./src/io/walker.rs", line: 4, cyclomatic: 4, cognitive: 7, nesting: 3, length: 1 }, FunctionMetrics { name: "should_process", file: "./src/io/walker.rs", line: 5, cyclomatic: 6, cognitive: 11, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/io/walker.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_project_files", file: "./src/io/walker.rs", line: 7, cyclomatic: 5, cognitive: 7, nesting: 4, length: 1 }, FunctionMetrics { name: "count_lines", file: "./src/io/walker.rs", line: 8, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "get_file_size", file: "./src/io/walker.rs", line: 9, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "read_file", file: "./src/io/mod.rs", line: 1, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "write_file", file: "./src/io/mod.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "ensure_dir", file: "./src/io/mod.rs", line: 3, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "file_exists", file: "./src/io/mod.rs", line: 4, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "dir_exists", file: "./src/io/mod.rs", line: 5, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "create_writer", file: "./src/io/output.rs", line: 1, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "complexity_status", file: "./src/io/output.rs", line: 2, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "debt_status", file: "./src/io/output.rs", line: 3, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "high_complexity_status", file: "./src/io/output.rs", line: 4, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "debt_score_status", file: "./src/io/output.rs", line: 5, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "complexity_header_lines", file: "./src/io/output.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "build_summary_rows", file: "./src/io/output.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_top_complex_functions", file: "./src/io/output.rs", line: 8, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/io/output.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_recommendation", file: "./src/io/output.rs", line: 10, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_results", file: "./src/io/output.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_output_json_format", file: "./src/io/output.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_output_markdown_format", file: "./src/io/output.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_instability", file: "./src/debt/coupling.rs", line: 1, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "is_highly_coupled", file: "./src/debt/coupling.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_coupling_metrics", file: "./src/debt/coupling.rs", line: 3, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "identify_coupling_issues", file: "./src/debt/coupling.rs", line: 4, cyclomatic: 4, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "analyze_module_cohesion", file: "./src/debt/coupling.rs", line: 5, cyclomatic: 2, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "detect_inappropriate_intimacy", file: "./src/debt/coupling.rs", line: 6, cyclomatic: 4, cognitive: 7, nesting: 4, length: 1 }, FunctionMetrics { name: "calculate_distance_from_main_sequence", file: "./src/debt/coupling.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "identify_zone_of_pain", file: "./src/debt/coupling.rs", line: 8, cyclomatic: 3, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "identify_zone_of_uselessness", file: "./src/debt/coupling.rs", line: 9, cyclomatic: 3, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "build_module_dependency_map", file: "./src/debt/coupling.rs", line: 10, cyclomatic: 6, cognitive: 12, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/debt/coupling.rs", line: 11, cyclomatic: 3, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "extract_module_name", file: "./src/debt/coupling.rs", line: 12, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/debt/coupling.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_module_from_import", file: "./src/debt/coupling.rs", line: 14, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "test_coupling_metrics", file: "./src/debt/coupling.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_inappropriate_intimacy", file: "./src/debt/coupling.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_duplication", file: "./src/debt/duplication.rs", line: 1, cyclomatic: 1, cognitive: 13, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/debt/duplication.rs", line: 2, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/debt/duplication.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/debt/duplication.rs", line: 4, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/debt/duplication.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_chunks", file: "./src/debt/duplication.rs", line: 6, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/debt/duplication.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "normalize_chunk", file: "./src/debt/duplication.rs", line: 8, cyclomatic: 3, cognitive: 9, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/debt/duplication.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/debt/duplication.rs", line: 10, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_hash", file: "./src/debt/duplication.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_similarity", file: "./src/debt/duplication.rs", line: 12, cyclomatic: 2, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/debt/duplication.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "tokenize", file: "./src/debt/duplication.rs", line: 14, cyclomatic: 1, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/debt/duplication.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "merge_adjacent_duplications", file: "./src/debt/duplication.rs", line: 16, cyclomatic: 2, cognitive: 7, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/debt/duplication.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/debt/duplication.rs", line: 18, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "can_merge", file: "./src/debt/duplication.rs", line: 19, cyclomatic: 2, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/debt/duplication.rs", line: 20, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/debt/duplication.rs", line: 21, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "merge_blocks", file: "./src/debt/duplication.rs", line: 22, cyclomatic: 2, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/debt/duplication.rs", line: 23, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/debt/duplication.rs", line: 24, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "find_todos_and_fixmes", file: "./src/debt/patterns.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_todos_and_fixmes_with_suppression", file: "./src/debt/patterns.rs", line: 2, cyclomatic: 3, cognitive: 10, nesting: 5, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/debt/patterns.rs", line: 3, cyclomatic: 3, cognitive: 7, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/debt/patterns.rs", line: 4, cyclomatic: 3, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "classify_marker", file: "./src/debt/patterns.rs", line: 5, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/debt/patterns.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/debt/patterns.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_code_smells", file: "./src/debt/patterns.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_code_smells_with_suppression", file: "./src/debt/patterns.rs", line: 9, cyclomatic: 3, cognitive: 7, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/debt/patterns.rs", line: 10, cyclomatic: 3, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "check_line_length", file: "./src/debt/patterns.rs", line: 11, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/debt/patterns.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "check_nesting_level", file: "./src/debt/patterns.rs", line: 13, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/debt/patterns.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/debt/patterns.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_duplicate_strings", file: "./src/debt/patterns.rs", line: 16, cyclomatic: 1, cognitive: 19, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/debt/patterns.rs", line: 17, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/debt/patterns.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@18>", file: "./src/debt/patterns.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/debt/patterns.rs", line: 20, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/debt/patterns.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/debt/patterns.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_duplicate_string_item", file: "./src/debt/patterns.rs", line: 23, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "combine_debt_items", file: "./src/debt/patterns.rs", line: 24, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "deduplicate_debt_items", file: "./src/debt/patterns.rs", line: 25, cyclomatic: 2, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/debt/patterns.rs", line: 26, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "new", file: "./src/debt/suppression.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_suppressed", file: "./src/debt/suppression.rs", line: 2, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "is_in_suppression_block", file: "./src/debt/suppression.rs", line: 3, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/debt/suppression.rs", line: 4, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "has_line_suppression", file: "./src/debt/suppression.rs", line: 5, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/debt/suppression.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "has_next_line_suppression", file: "./src/debt/suppression.rs", line: 7, cyclomatic: 3, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/debt/suppression.rs", line: 8, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "line_within_block", file: "./src/debt/suppression.rs", line: 9, cyclomatic: 2, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/debt/suppression.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "debt_type_matches", file: "./src/debt/suppression.rs", line: 11, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "get_stats", file: "./src/debt/suppression.rs", line: 12, cyclomatic: 2, cognitive: 14, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/debt/suppression.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/debt/suppression.rs", line: 14, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/debt/suppression.rs", line: 15, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/debt/suppression.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/debt/suppression.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/debt/suppression.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_comment_prefix", file: "./src/debt/suppression.rs", line: 19, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_line", file: "./src/debt/suppression.rs", line: 20, cyclomatic: 5, cognitive: 28, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/debt/suppression.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/debt/suppression.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/debt/suppression.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/debt/suppression.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/debt/suppression.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/debt/suppression.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process_parsed_line", file: "./src/debt/suppression.rs", line: 27, cyclomatic: 6, cognitive: 8, nesting: 3, length: 1 }, FunctionMetrics { name: "parse_suppression_comments", file: "./src/debt/suppression.rs", line: 28, cyclomatic: 1, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@28>", file: "./src/debt/suppression.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@29>", file: "./src/debt/suppression.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@30>", file: "./src/debt/suppression.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/debt/suppression.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_debt_types", file: "./src/debt/suppression.rs", line: 33, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@33>", file: "./src/debt/suppression.rs", line: 34, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_single_debt_type", file: "./src/debt/suppression.rs", line: 35, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_block_suppression", file: "./src/debt/suppression.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 7 }, FunctionMetrics { name: "test_parse_line_suppression", file: "./src/debt/suppression.rs", line: 37, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_parse_next_line_suppression", file: "./src/debt/suppression.rs", line: 38, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_type_specific_suppression", file: "./src/debt/suppression.rs", line: 39, cyclomatic: 1, cognitive: 0, nesting: 1, length: 6 }, FunctionMetrics { name: "test_suppression_with_reason", file: "./src/debt/suppression.rs", line: 40, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_unclosed_block_detection", file: "./src/debt/suppression.rs", line: 41, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_python_comment_syntax", file: "./src/debt/suppression.rs", line: 42, cyclomatic: 1, cognitive: 0, nesting: 1, length: 5 }, FunctionMetrics { name: "test_wildcard_suppression", file: "./src/debt/suppression.rs", line: 43, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "categorize_debt", file: "./src/debt/mod.rs", line: 1, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/debt/mod.rs", line: 2, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "prioritize_debt", file: "./src/debt/mod.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/debt/mod.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_priority", file: "./src/debt/mod.rs", line: 5, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/debt/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_type", file: "./src/debt/mod.rs", line: 7, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/debt/mod.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "group_by_file", file: "./src/debt/mod.rs", line: 9, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/debt/mod.rs", line: 10, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_debt_score", file: "./src/debt/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "priority_weight", file: "./src/debt/mod.rs", line: 12, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "type_weight", file: "./src/debt/mod.rs", line: 13, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/debt/mod.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/debt/mod.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "total_debt_score", file: "./src/debt/mod.rs", line: 16, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/debt/circular.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/debt/circular.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_module", file: "./src/debt/circular.rs", line: 3, cyclomatic: 3, cognitive: 3, nesting: 3, length: 1 }, FunctionMetrics { name: "add_dependency", file: "./src/debt/circular.rs", line: 4, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_circular_dependencies", file: "./src/debt/circular.rs", line: 5, cyclomatic: 3, cognitive: 10, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/debt/circular.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/debt/circular.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "dfs_detect_cycles", file: "./src/debt/circular.rs", line: 8, cyclomatic: 6, cognitive: 13, nesting: 4, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/debt/circular.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_coupling_metrics", file: "./src/debt/circular.rs", line: 10, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/debt/circular.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "module_count", file: "./src/debt/circular.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "dependency_count", file: "./src/debt/circular.rs", line: 13, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/debt/circular.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "has_module", file: "./src/debt/circular.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_dependencies", file: "./src/debt/circular.rs", line: 16, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "get_dependents", file: "./src/debt/circular.rs", line: 17, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/debt/circular.rs", line: 18, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "build_dependency_graph", file: "./src/debt/circular.rs", line: 19, cyclomatic: 1, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/debt/circular.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/debt/circular.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_module_from_dependency", file: "./src/debt/circular.rs", line: 22, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/debt/circular.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_module_dependencies", file: "./src/debt/circular.rs", line: 24, cyclomatic: 1, cognitive: 11, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/debt/circular.rs", line: 25, cyclomatic: 1, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/debt/circular.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@26>", file: "./src/debt/circular.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/debt/circular.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_module_name", file: "./src/debt/circular.rs", line: 29, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@29>", file: "./src/debt/circular.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_circular_dependency_detection", file: "./src/debt/circular.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_self_dependency", file: "./src/debt/circular.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_coupling_metrics", file: "./src/debt/circular.rs", line: 33, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@33>", file: "./src/debt/circular.rs", line: 34, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "to_debt_item", file: "./src/debt/smells.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_long_parameter_list", file: "./src/debt/smells.rs", line: 2, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "detect_large_module", file: "./src/debt/smells.rs", line: 3, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "detect_long_method", file: "./src/debt/smells.rs", line: 4, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "detect_deep_nesting", file: "./src/debt/smells.rs", line: 5, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "analyze_function_smells", file: "./src/debt/smells.rs", line: 6, cyclomatic: 4, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_module_smells", file: "./src/debt/smells.rs", line: 7, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "detect_feature_envy", file: "./src/debt/smells.rs", line: 8, cyclomatic: 3, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "detect_data_clumps", file: "./src/debt/smells.rs", line: 9, cyclomatic: 5, cognitive: 11, nesting: 5, length: 1 }, FunctionMetrics { name: "calculate_total_complexity", file: "./src/transformers/mod.rs", line: 1, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/transformers/mod.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "compose_transformers", file: "./src/transformers/mod.rs", line: 3, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/transformers/mod.rs", line: 4, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/transformers/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "transform_metrics", file: "./src/transformers/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "map_functions", file: "./src/transformers/mod.rs", line: 7, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_functions", file: "./src/transformers/mod.rs", line: 8, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/transformers/mod.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "sort_functions_by_complexity", file: "./src/transformers/mod.rs", line: 10, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/transformers/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "limit_results", file: "./src/transformers/mod.rs", line: 12, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "combine_file_metrics", file: "./src/transformers/mod.rs", line: 13, cyclomatic: 1, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/transformers/mod.rs", line: 14, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "enrich_with_context", file: "./src/transformers/mod.rs", line: 15, cyclomatic: 2, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/transformers/mod.rs", line: 16, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_total_complexity", file: "./src/transformers/filters.rs", line: 1, cyclomatic: 1, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/transformers/filters.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "apply", file: "./src/transformers/filters.rs", line: 3, cyclomatic: 8, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "filter_by_min_complexity", file: "./src/transformers/filters.rs", line: 4, cyclomatic: 2, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/transformers/filters.rs", line: 5, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_max_complexity", file: "./src/transformers/filters.rs", line: 6, cyclomatic: 2, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/transformers/filters.rs", line: 7, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_language", file: "./src/transformers/filters.rs", line: 8, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "filter_by_file_pattern", file: "./src/transformers/filters.rs", line: 9, cyclomatic: 3, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@9>", file: "./src/transformers/filters.rs", line: 10, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/transformers/filters.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "exclude_by_pattern", file: "./src/transformers/filters.rs", line: 12, cyclomatic: 3, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/transformers/filters.rs", line: 13, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/transformers/filters.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_min_priority", file: "./src/transformers/filters.rs", line: 15, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/transformers/filters.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "filter_by_debt_types", file: "./src/transformers/filters.rs", line: 17, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/transformers/filters.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "compose_filters", file: "./src/transformers/filters.rs", line: 19, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@19>", file: "./src/transformers/filters.rs", line: 20, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/transformers/filters.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "main", file: "./src/main.rs", line: 1, cyclomatic: 4, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "handle_analyze", file: "./src/main.rs", line: 2, cyclomatic: 8, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_project", file: "./src/main.rs", line: 3, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "collect_file_metrics", file: "./src/main.rs", line: 4, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/main.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_all_functions", file: "./src/main.rs", line: 6, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/main.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "extract_all_debt_items", file: "./src/main.rs", line: 8, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/main.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_duplications", file: "./src/main.rs", line: 10, cyclomatic: 1, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/main.rs", line: 11, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/main.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "build_complexity_report", file: "./src/main.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "build_technical_debt_report", file: "./src/main.rs", line: 14, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/main.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "output_results_with_risk", file: "./src/main.rs", line: 16, cyclomatic: 6, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "build_context_aggregator", file: "./src/main.rs", line: 17, cyclomatic: 10, cognitive: 14, nesting: 4, length: 1 }, FunctionMetrics { name: "analyze_risk_with_coverage", file: "./src/main.rs", line: 18, cyclomatic: 6, cognitive: 4, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_risk_without_coverage", file: "./src/main.rs", line: 19, cyclomatic: 5, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "init_config", file: "./src/main.rs", line: 20, cyclomatic: 3, cognitive: 3, nesting: 2, length: 22 }, FunctionMetrics { name: "validate_project", file: "./src/main.rs", line: 21, cyclomatic: 6, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "parse_languages", file: "./src/main.rs", line: 22, cyclomatic: 1, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@22>", file: "./src/main.rs", line: 23, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/main.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_single_language", file: "./src/main.rs", line: 25, cyclomatic: 5, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "default_languages", file: "./src/main.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_single_file", file: "./src/main.rs", line: 27, cyclomatic: 5, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/main.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_analysis_passing", file: "./src/main.rs", line: 29, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "create_dependency_report", file: "./src/main.rs", line: 30, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@30>", file: "./src/main.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/strategy.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/strategy.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "box_clone", file: "./src/risk/strategy.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/strategy.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_risk_score", file: "./src/risk/strategy.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_risk_reduction", file: "./src/risk/strategy.rs", line: 6, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_base_risk", file: "./src/risk/strategy.rs", line: 7, cyclomatic: 2, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_debt_factor", file: "./src/risk/strategy.rs", line: 8, cyclomatic: 6, cognitive: 10, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_coverage_penalty", file: "./src/risk/strategy.rs", line: 9, cyclomatic: 6, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_test_effort", file: "./src/risk/strategy.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "classify_difficulty", file: "./src/risk/strategy.rs", line: 11, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/risk/strategy.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/risk/strategy.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_test_cases", file: "./src/risk/strategy.rs", line: 14, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/risk/strategy.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@15>", file: "./src/risk/strategy.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "categorize_risk", file: "./src/risk/strategy.rs", line: 17, cyclomatic: 10, cognitive: 16, nesting: 3, length: 1 }, FunctionMetrics { name: "box_clone", file: "./src/risk/strategy.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/strategy.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_risk_score", file: "./src/risk/strategy.rs", line: 20, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_risk_reduction", file: "./src/risk/strategy.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_test_effort", file: "./src/risk/strategy.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "classify_difficulty", file: "./src/risk/strategy.rs", line: 23, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/risk/strategy.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/risk/strategy.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_test_cases", file: "./src/risk/strategy.rs", line: 26, cyclomatic: 1, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@26>", file: "./src/risk/strategy.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/risk/strategy.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "categorize_risk", file: "./src/risk/strategy.rs", line: 29, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@29>", file: "./src/risk/strategy.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "check_well_tested", file: "./src/risk/strategy.rs", line: 31, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/risk/strategy.rs", line: 32, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@32>", file: "./src/risk/strategy.rs", line: 33, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "match_risk_rule", file: "./src/risk/strategy.rs", line: 34, cyclomatic: 2, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@34>", file: "./src/risk/strategy.rs", line: 35, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@35>", file: "./src/risk/strategy.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "coverage_exceeds_threshold", file: "./src/risk/strategy.rs", line: 37, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_context", file: "./src/risk/strategy.rs", line: 38, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_enhanced_strategy_no_coverage_high_complexity", file: "./src/risk/strategy.rs", line: 39, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_enhanced_strategy_low_coverage_high_debt", file: "./src/risk/strategy.rs", line: 40, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_enhanced_strategy_good_coverage_low_complexity", file: "./src/risk/strategy.rs", line: 41, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_enhanced_strategy_well_tested_complex", file: "./src/risk/strategy.rs", line: 42, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_coverage_penalty_calculations", file: "./src/risk/strategy.rs", line: 43, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_debt_factor_calculations", file: "./src/risk/strategy.rs", line: 44, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_legacy_strategy_compatibility", file: "./src/risk/strategy.rs", line: 45, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_score_max_cap", file: "./src/risk/strategy.rs", line: 46, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_reduction_calculation", file: "./src/risk/strategy.rs", line: 47, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_test_effort_estimation", file: "./src/risk/strategy.rs", line: 48, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_categorization_thresholds", file: "./src/risk/strategy.rs", line: 49, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/roi/reduction.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "project_coverage_increase", file: "./src/risk/roi/reduction.rs", line: 2, cyclomatic: 9, cognitive: 13, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_confidence", file: "./src/risk/roi/reduction.rs", line: 3, cyclomatic: 11, cognitive: 13, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/roi/reduction.rs", line: 4, cyclomatic: 17, cognitive: 34, nesting: 2, length: 1 }, FunctionMetrics { name: "effective_value", file: "./src/risk/roi/models.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "is_high_priority", file: "./src/risk/roi/models.rs", line: 2, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "total_impact", file: "./src/risk/roi/models.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "summary", file: "./src/risk/roi/models.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/mod.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/roi/mod.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_learning", file: "./src/risk/roi/mod.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/roi/mod.rs", line: 4, cyclomatic: 7, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "estimate_effort", file: "./src/risk/roi/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_direct_impact", file: "./src/risk/roi/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_confidence", file: "./src/risk/roi/mod.rs", line: 7, cyclomatic: 9, cognitive: 11, nesting: 2, length: 1 }, FunctionMetrics { name: "adjust_effort_with_learning", file: "./src/risk/roi/mod.rs", line: 8, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "get_module_type_multiplier", file: "./src/risk/roi/mod.rs", line: 9, cyclomatic: 6, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "generate_breakdown", file: "./src/risk/roi/mod.rs", line: 10, cyclomatic: 5, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "generate_explanation", file: "./src/risk/roi/mod.rs", line: 11, cyclomatic: 7, cognitive: 6, nesting: 2, length: 2 }, FunctionMetrics { name: "default", file: "./src/risk/roi/cascade.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/cascade.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/roi/cascade.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/roi/cascade.rs", line: 4, cyclomatic: 1, cognitive: 8, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/risk/roi/cascade.rs", line: 5, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/risk/roi/cascade.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/risk/roi/cascade.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "propagate_impact", file: "./src/risk/roi/cascade.rs", line: 8, cyclomatic: 6, cognitive: 12, nesting: 5, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/risk/roi/cascade.rs", line: 9, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "get_dependents", file: "./src/risk/roi/cascade.rs", line: 10, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/risk/roi/cascade.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/risk/roi/cascade.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_edge_weight", file: "./src/risk/roi/cascade.rs", line: 13, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/risk/roi/cascade.rs", line: 14, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@14>", file: "./src/risk/roi/cascade.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_risk_reduction", file: "./src/risk/roi/cascade.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_graph", file: "./src/risk/roi/cascade.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_cascade_calculation", file: "./src/risk/roi/cascade.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/learning.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/roi/learning.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "record_outcome", file: "./src/risk/roi/learning.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "adjust_estimate", file: "./src/risk/roi/learning.rs", line: 4, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "capture_context", file: "./src/risk/roi/learning.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "categorize_complexity", file: "./src/risk/roi/learning.rs", line: 6, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "generate_key", file: "./src/risk/roi/learning.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "find_similar_outcomes", file: "./src/risk/roi/learning.rs", line: 8, cyclomatic: 3, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/risk/roi/learning.rs", line: 9, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_adjustment", file: "./src/risk/roi/learning.rs", line: 10, cyclomatic: 4, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/risk/roi/learning.rs", line: 11, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "update_adjustment_factors", file: "./src/risk/roi/learning.rs", line: 12, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/risk/roi/learning.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_confidence", file: "./src/risk/roi/learning.rs", line: 14, cyclomatic: 6, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "export", file: "./src/risk/roi/learning.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "import", file: "./src/risk/roi/learning.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_target", file: "./src/risk/roi/tests.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_context", file: "./src/risk/roi/tests.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_effort_model_simple_function", file: "./src/risk/roi/tests.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_effort_model_complex_function", file: "./src/risk/roi/tests.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_reduction_zero_coverage", file: "./src/risk/roi/tests.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_reduction_partial_coverage", file: "./src/risk/roi/tests.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_cascade_impact_with_dependents", file: "./src/risk/roi/tests.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_roi_calculator_integration", file: "./src/risk/roi/tests.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_roi_values_vary", file: "./src/risk/roi/tests.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_learning_system", file: "./src/risk/roi/tests.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_roi_breakdown_components", file: "./src/risk/roi/tests.rs", line: 11, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/risk/roi/tests.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_diminishing_returns", file: "./src/risk/roi/tests.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/effort.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/effort.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/roi/effort.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/roi/effort.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_base_effort", file: "./src/risk/roi/effort.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_setup_effort", file: "./src/risk/roi/effort.rs", line: 6, cyclomatic: 9, cognitive: 12, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_mocking_effort", file: "./src/risk/roi/effort.rs", line: 7, cyclomatic: 9, cognitive: 14, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/risk/roi/effort.rs", line: 8, cyclomatic: 5, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_understanding_effort", file: "./src/risk/roi/effort.rs", line: 9, cyclomatic: 11, cognitive: 13, nesting: 2, length: 1 }, FunctionMetrics { name: "estimate_test_cases", file: "./src/risk/roi/effort.rs", line: 10, cyclomatic: 5, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "categorize_complexity", file: "./src/risk/roi/effort.rs", line: 11, cyclomatic: 5, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate", file: "./src/risk/roi/effort.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "explain", file: "./src/risk/roi/effort.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 6 }, FunctionMetrics { name: "parse_comma_data", file: "./src/risk/lcov.rs", line: 1, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/risk/lcov.rs", line: 2, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/risk/lcov.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_source_file", file: "./src/risk/lcov.rs", line: 4, cyclomatic: 1, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/risk/lcov.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_function", file: "./src/risk/lcov.rs", line: 6, cyclomatic: 1, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/risk/lcov.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_function_data", file: "./src/risk/lcov.rs", line: 8, cyclomatic: 1, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/risk/lcov.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_lcov_line", file: "./src/risk/lcov.rs", line: 10, cyclomatic: 3, cognitive: 10, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/risk/lcov.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@11>", file: "./src/risk/lcov.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@12>", file: "./src/risk/lcov.rs", line: 13, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/lcov.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_function", file: "./src/risk/lcov.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_function_data", file: "./src/risk/lcov.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "to_function_coverage", file: "./src/risk/lcov.rs", line: 17, cyclomatic: 3, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@17>", file: "./src/risk/lcov.rs", line: 18, cyclomatic: 3, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "process_lcov_line", file: "./src/risk/lcov.rs", line: 19, cyclomatic: 5, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "finalize_record", file: "./src/risk/lcov.rs", line: 20, cyclomatic: 3, cognitive: 3, nesting: 3, length: 1 }, FunctionMetrics { name: "read_lcov_lines", file: "./src/risk/lcov.rs", line: 21, cyclomatic: 2, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/risk/lcov.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_lcov_file", file: "./src/risk/lcov.rs", line: 23, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@23>", file: "./src/risk/lcov.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@24>", file: "./src/risk/lcov.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_function_coverage", file: "./src/risk/lcov.rs", line: 26, cyclomatic: 2, cognitive: 9, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@26>", file: "./src/risk/lcov.rs", line: 27, cyclomatic: 2, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/risk/lcov.rs", line: 28, cyclomatic: 2, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@28>", file: "./src/risk/lcov.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_file_coverage", file: "./src/risk/lcov.rs", line: 30, cyclomatic: 3, cognitive: 9, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@30>", file: "./src/risk/lcov.rs", line: 31, cyclomatic: 3, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@31>", file: "./src/risk/lcov.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 3, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/risk/priority.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 7, cyclomatic: 9, cognitive: 13, nesting: 3, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/priority.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 11, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/priority.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 13, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 15, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/priority.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 19, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/priority.rs", line: 20, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "process", file: "./src/risk/priority.rs", line: 23, cyclomatic: 3, cognitive: 3, nesting: 3, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/priority.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 25, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "score", file: "./src/risk/priority.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "pattern_match_score", file: "./src/risk/priority.rs", line: 28, cyclomatic: 6, cognitive: 13, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@28>", file: "./src/risk/priority.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "dependency_score", file: "./src/risk/priority.rs", line: 30, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate", file: "./src/risk/priority.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "create_context", file: "./src/risk/priority.rs", line: 33, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/priority.rs", line: 34, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/priority.rs", line: 35, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate", file: "./src/risk/priority.rs", line: 36, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "complexity_to_test_cases", file: "./src/risk/priority.rs", line: 37, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_setup_complexity", file: "./src/risk/priority.rs", line: 38, cyclomatic: 5, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "estimate_mocking_needs", file: "./src/risk/priority.rs", line: 39, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "explain", file: "./src/risk/priority.rs", line: 40, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "prioritize_by_roi", file: "./src/risk/priority.rs", line: 41, cyclomatic: 2, cognitive: 7, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@41>", file: "./src/risk/priority.rs", line: 42, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@42>", file: "./src/risk/priority.rs", line: 43, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "function_risk_to_target", file: "./src/risk/priority.rs", line: 44, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "determine_module_type", file: "./src/risk/priority.rs", line: 45, cyclomatic: 15, cognitive: 48, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@45>", file: "./src/risk/priority.rs", line: 46, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "build_dependency_graph", file: "./src/risk/priority.rs", line: 47, cyclomatic: 4, cognitive: 4, nesting: 3, length: 1 }, FunctionMetrics { name: "calculate_edge_weight", file: "./src/risk/priority.rs", line: 48, cyclomatic: 6, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "identify_critical_paths", file: "./src/risk/priority.rs", line: 49, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@49>", file: "./src/risk/priority.rs", line: 50, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@50>", file: "./src/risk/priority.rs", line: 51, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "infer_module_relationships", file: "./src/risk/priority.rs", line: 52, cyclomatic: 11, cognitive: 12, nesting: 2, length: 1 }, FunctionMetrics { name: "complexity_to_test_effort", file: "./src/risk/priority.rs", line: 53, cyclomatic: 5, cognitive: 6, nesting: 1, length: 1 }, FunctionMetrics { name: "generate_enhanced_rationale_v2", file: "./src/risk/priority.rs", line: 54, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "_generate_enhanced_rationale", file: "./src/risk/priority.rs", line: 55, cyclomatic: 21, cognitive: 30, nesting: 2, length: 1 }, FunctionMetrics { name: "identify_untested_complex_functions", file: "./src/risk/priority.rs", line: 56, cyclomatic: 3, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@56>", file: "./src/risk/priority.rs", line: 57, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "identify_well_tested_complex_functions", file: "./src/risk/priority.rs", line: 58, cyclomatic: 3, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@58>", file: "./src/risk/priority.rs", line: 59, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_dynamic_coverage_threshold", file: "./src/risk/priority.rs", line: 60, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_zero_coverage_prioritization", file: "./src/risk/priority.rs", line: 61, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_criticality_scorer", file: "./src/risk/priority.rs", line: 62, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_effort_estimation", file: "./src/risk/priority.rs", line: 63, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_module_type_detection", file: "./src/risk/priority.rs", line: 64, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/git_history.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/git_history.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get", file: "./src/risk/context/git_history.rs", line: 3, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "set", file: "./src/risk/context/git_history.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/git_history.rs", line: 5, cyclomatic: 3, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_file", file: "./src/risk/context/git_history.rs", line: 6, cyclomatic: 9, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_churn_rate", file: "./src/risk/context/git_history.rs", line: 7, cyclomatic: 5, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "count_commits", file: "./src/risk/context/git_history.rs", line: 8, cyclomatic: 4, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "count_bug_fixes", file: "./src/risk/context/git_history.rs", line: 9, cyclomatic: 4, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "get_last_modified", file: "./src/risk/context/git_history.rs", line: 10, cyclomatic: 7, cognitive: 10, nesting: 3, length: 1 }, FunctionMetrics { name: "count_unique_authors", file: "./src/risk/context/git_history.rs", line: 11, cyclomatic: 4, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "get_file_age_days", file: "./src/risk/context/git_history.rs", line: 12, cyclomatic: 5, cognitive: 8, nesting: 4, length: 1 }, FunctionMetrics { name: "calculate_stability", file: "./src/risk/context/git_history.rs", line: 13, cyclomatic: 7, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/context/git_history.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "gather", file: "./src/risk/context/git_history.rs", line: 15, cyclomatic: 11, cognitive: 16, nesting: 2, length: 1 }, FunctionMetrics { name: "weight", file: "./src/risk/context/git_history.rs", line: 16, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "explain", file: "./src/risk/context/git_history.rs", line: 17, cyclomatic: 11, cognitive: 24, nesting: 3, length: 1 }, FunctionMetrics { name: "setup_test_repo", file: "./src/risk/context/git_history.rs", line: 18, cyclomatic: 5, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "create_test_file", file: "./src/risk/context/git_history.rs", line: 19, cyclomatic: 3, cognitive: 3, nesting: 1, length: 1 }, FunctionMetrics { name: "commit_with_message", file: "./src/risk/context/git_history.rs", line: 20, cyclomatic: 2, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "test_git_history_provider_initialization", file: "./src/risk/context/git_history.rs", line: 21, cyclomatic: 3, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "test_file_history_analysis", file: "./src/risk/context/git_history.rs", line: 22, cyclomatic: 9, cognitive: 9, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/critical_path.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/critical_path.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_edge", file: "./src/risk/context/critical_path.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_callees", file: "./src/risk/context/critical_path.rs", line: 4, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@4>", file: "./src/risk/context/critical_path.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/risk/context/critical_path.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_callers", file: "./src/risk/context/critical_path.rs", line: 7, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/risk/context/critical_path.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/risk/context/critical_path.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/critical_path.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/critical_path.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "detect_entry_points", file: "./src/risk/context/critical_path.rs", line: 12, cyclomatic: 3, cognitive: 3, nesting: 3, length: 1 }, FunctionMetrics { name: "classify_entry_point", file: "./src/risk/context/critical_path.rs", line: 13, cyclomatic: 7, cognitive: 25, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_paths", file: "./src/risk/context/critical_path.rs", line: 14, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "trace_from_entry", file: "./src/risk/context/critical_path.rs", line: 15, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "dfs_trace", file: "./src/risk/context/critical_path.rs", line: 16, cyclomatic: 3, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_path_weight", file: "./src/risk/context/critical_path.rs", line: 17, cyclomatic: 6, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "is_on_critical_path", file: "./src/risk/context/critical_path.rs", line: 18, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@18>", file: "./src/risk/context/critical_path.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_entry_points_for", file: "./src/risk/context/critical_path.rs", line: 20, cyclomatic: 1, cognitive: 7, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/risk/context/critical_path.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@21>", file: "./src/risk/context/critical_path.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/critical_path.rs", line: 23, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/context/critical_path.rs", line: 24, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "gather", file: "./src/risk/context/critical_path.rs", line: 25, cyclomatic: 4, cognitive: 12, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/risk/context/critical_path.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@26>", file: "./src/risk/context/critical_path.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@27>", file: "./src/risk/context/critical_path.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "weight", file: "./src/risk/context/critical_path.rs", line: 29, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "explain", file: "./src/risk/context/critical_path.rs", line: 30, cyclomatic: 5, cognitive: 5, nesting: 3, length: 1 }, FunctionMetrics { name: "test_entry_point_detection", file: "./src/risk/context/critical_path.rs", line: 31, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_call_graph", file: "./src/risk/context/critical_path.rs", line: 32, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/mod.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/mod.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_provider", file: "./src/risk/context/mod.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze", file: "./src/risk/context/mod.rs", line: 4, cyclomatic: 4, cognitive: 6, nesting: 3, length: 1 }, FunctionMetrics { name: "clear_cache", file: "./src/risk/context/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/mod.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add", file: "./src/risk/context/mod.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get", file: "./src/risk/context/mod.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "total_contribution", file: "./src/risk/context/mod.rs", line: 10, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@10>", file: "./src/risk/context/mod.rs", line: 11, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "iter", file: "./src/risk/context/mod.rs", line: 12, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/mod.rs", line: 13, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@13>", file: "./src/risk/context/mod.rs", line: 14, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "generate_explanation", file: "./src/risk/context/mod.rs", line: 15, cyclomatic: 3, cognitive: 3, nesting: 3, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/context/dependency.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/dependency.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_module", file: "./src/risk/context/dependency.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "add_dependency", file: "./src/risk/context/dependency.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_dependencies", file: "./src/risk/context/dependency.rs", line: 5, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/risk/context/dependency.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_dependents", file: "./src/risk/context/dependency.rs", line: 7, cyclomatic: 1, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/risk/context/dependency.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "get_module", file: "./src/risk/context/dependency.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "modules", file: "./src/risk/context/dependency.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/dependency.rs", line: 11, cyclomatic: 2, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "propagate_risk", file: "./src/risk/context/dependency.rs", line: 12, cyclomatic: 4, cognitive: 8, nesting: 4, length: 1 }, FunctionMetrics { name: "calculate_propagated_risk", file: "./src/risk/context/dependency.rs", line: 13, cyclomatic: 3, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_blast_radius", file: "./src/risk/context/dependency.rs", line: 14, cyclomatic: 5, cognitive: 8, nesting: 4, length: 1 }, FunctionMetrics { name: "get_risk", file: "./src/risk/context/dependency.rs", line: 15, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "find_module_for_function", file: "./src/risk/context/dependency.rs", line: 16, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@16>", file: "./src/risk/context/dependency.rs", line: 17, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "new", file: "./src/risk/context/dependency.rs", line: 18, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "name", file: "./src/risk/context/dependency.rs", line: 19, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "gather", file: "./src/risk/context/dependency.rs", line: 20, cyclomatic: 9, cognitive: 17, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@20>", file: "./src/risk/context/dependency.rs", line: 21, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "weight", file: "./src/risk/context/dependency.rs", line: 22, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "explain", file: "./src/risk/context/dependency.rs", line: 23, cyclomatic: 9, cognitive: 16, nesting: 3, length: 1 }, FunctionMetrics { name: "calculate_dependency_depth", file: "./src/risk/context/dependency.rs", line: 24, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_module_depth", file: "./src/risk/context/dependency.rs", line: 25, cyclomatic: 3, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@25>", file: "./src/risk/context/dependency.rs", line: 26, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_dependency_graph", file: "./src/risk/context/dependency.rs", line: 27, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_risk_propagation", file: "./src/risk/context/dependency.rs", line: 28, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_blast_radius", file: "./src/risk/context/dependency.rs", line: 29, cyclomatic: 3, cognitive: 2, nesting: 2, length: 1 }, FunctionMetrics { name: "clone", file: "./src/risk/mod.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "default", file: "./src/risk/mod.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_legacy_strategy", file: "./src/risk/mod.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_debt_context", file: "./src/risk/mod.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "with_context_aggregator", file: "./src/risk/mod.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_function", file: "./src/risk/mod.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "analyze_function_with_context", file: "./src/risk/mod.rs", line: 7, cyclomatic: 3, cognitive: 1, nesting: 2, length: 1 }, FunctionMetrics { name: "calculate_risk_score", file: "./src/risk/mod.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_risk_reduction", file: "./src/risk/mod.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_complexity_coverage_correlation", file: "./src/risk/correlation.rs", line: 1, cyclomatic: 4, cognitive: 14, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@1>", file: "./src/risk/correlation.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@2>", file: "./src/risk/correlation.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/risk/correlation.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "calculate_codebase_risk_score", file: "./src/risk/correlation.rs", line: 5, cyclomatic: 2, cognitive: 5, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@5>", file: "./src/risk/correlation.rs", line: 6, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "build_risk_distribution", file: "./src/risk/correlation.rs", line: 7, cyclomatic: 6, cognitive: 8, nesting: 2, length: 1 }, FunctionMetrics { name: "analyze_risk_insights", file: "./src/risk/correlation.rs", line: 8, cyclomatic: 1, cognitive: 2, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@8>", file: "./src/risk/correlation.rs", line: 9, cyclomatic: 1, cognitive: 1, nesting: 1, length: 1 }, FunctionMetrics { name: "generate_risk_insights", file: "./src/risk/insights.rs", line: 1, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "format_risk_matrix_terminal", file: "./src/risk/insights.rs", line: 2, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "format_critical_risks", file: "./src/risk/insights.rs", line: 3, cyclomatic: 3, cognitive: 6, nesting: 2, length: 1 }, FunctionMetrics { name: "<closure@3>", file: "./src/risk/insights.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "format_recommendations", file: "./src/risk/insights.rs", line: 5, cyclomatic: 9, cognitive: 9, nesting: 3, length: 2 }, FunctionMetrics { name: "format_actionable_insights", file: "./src/risk/insights.rs", line: 6, cyclomatic: 10, cognitive: 22, nesting: 3, length: 1 }, FunctionMetrics { name: "<closure@6>", file: "./src/risk/insights.rs", line: 7, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "<closure@7>", file: "./src/risk/insights.rs", line: 8, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "from", file: "./src/cli.rs", line: 1, cyclomatic: 4, cognitive: 5, nesting: 1, length: 1 }, FunctionMetrics { name: "from", file: "./src/cli.rs", line: 2, cyclomatic: 3, cognitive: 4, nesting: 1, length: 1 }, FunctionMetrics { name: "parse_args", file: "./src/cli.rs", line: 3, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_priority_conversion", file: "./src/cli.rs", line: 4, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_output_format_conversion", file: "./src/cli.rs", line: 5, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_cli_parsing_analyze_command", file: "./src/cli.rs", line: 6, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "test_cli_parsing_init_command", file: "./src/cli.rs", line: 7, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "test_cli_parsing_validate_command", file: "./src/cli.rs", line: 8, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }, FunctionMetrics { name: "test_priority_ordering", file: "./src/cli.rs", line: 9, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_output_format_equality", file: "./src/cli.rs", line: 10, cyclomatic: 1, cognitive: 0, nesting: 1, length: 1 }, FunctionMetrics { name: "test_parse_args_wrapper", file: "./src/cli.rs", line: 11, cyclomatic: 2, cognitive: 3, nesting: 2, length: 1 }], summary: ComplexitySummary { total_functions: 1201, average_complexity: 1.768526228143214, max_complexity: 21, high_complexity_count: 42 } }, technical_debt: TechnicalDebtReport { items: [DebtItem { id: "smell-LargeClass-./tests/javascript_typescript_test.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/javascript_typescript_test.rs", line: 1, message: "Module has 465 lines (threshold: 300)", context: None }, DebtItem { id: "TODO-./tests/suppression_tests.rs-11", debt_type: Todo, priority: Medium, file: "./tests/suppression_tests.rs", line: 11, message: "TODO: This should not be suppressed", context: Some("// TODO: This should not be suppressed") }, DebtItem { id: "TODO-./tests/suppression_tests.rs-51", debt_type: Todo, priority: Medium, file: "./tests/suppression_tests.rs", line: 51, message: "TODO: This should not be suppressed", context: Some("// TODO: This should not be suppressed") }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-216", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 216, message: "Deep nesting level: 5", context: Some("1 => println!(\"one\"),") }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-217", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 217, message: "Deep nesting level: 5", context: Some("2 => println!(\"two\"),") }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-218", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 218, message: "Deep nesting level: 5", context: Some("_ => println!(\"other\"),") }, DebtItem { id: "smell-LargeClass-./tests/cyclomatic_complexity_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 1, message: "Module has 385 lines (threshold: 300)", context: None }, DebtItem { id: "smell-LargeClass-./tests/complexity_module_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/complexity_module_tests.rs", line: 1, message: "Module has 337 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-77", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 77, message: "Deep nesting level: 5", context: Some("1 => println!(\"one\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-78", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 78, message: "Deep nesting level: 5", context: Some("2 => println!(\"two\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-79", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 79, message: "Deep nesting level: 5", context: Some("_ => println!(\"other\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-221", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 221, message: "Deep nesting level: 5", context: Some("0 => {") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-222", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 222, message: "Deep nesting level: 6", context: Some("if special {") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-223", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 223, message: "Deep nesting level: 7", context: Some("println!(\"special case\");") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-224", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 224, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-225", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 225, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-226", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 226, message: "Deep nesting level: 5", context: Some("_ => println!(\"normal\"),") }, DebtItem { id: "smell-LargeClass-./tests/cognitive_complexity_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 1, message: "Module has 332 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-244", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 244, message: "Deep nesting level: 5", context: Some("// Wrap single expression in a block") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-245", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 245, message: "Deep nesting level: 5", context: Some("syn::Block {") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-246", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 246, message: "Deep nesting level: 6", context: Some("brace_token: Default::default(),") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 247, message: "Deep nesting level: 6", context: Some("stmts: vec![syn::Stmt::Expr(*closure.body.clone(), None)],") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 248, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/analyzers/rust.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 1, message: "Module has 359 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/analyzers/javascript/complexity.rs-5", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/complexity.rs", line: 5, message: "Function 'get_function_name' has high complexity (cyclomatic: 1, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/analyzers/javascript/complexity.rs-10", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/complexity.rs", line: 10, message: "Function 'get_arrow_function_name' has high complexity (cyclomatic: 2, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/analyzers/javascript/mod.rs-21", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 21, message: "Function 'analyze' has high complexity (cyclomatic: 3, cognitive: 12)", context: None }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 185, message: "Deep nesting level: 5", context: Some("complexity::extract_functions(root_node, &js_ast.source, &js_ast.path);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-188", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 188, message: "Deep nesting level: 5", context: Some("self.create_debt_items(&js_ast.tree, &js_ast.source, &js_ast.path, &functions);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-191", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 191, message: "Deep nesting level: 5", context: Some("(cyc + f.cyclomatic, cog + f.cognitive)") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-195", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 195, message: "Deep nesting level: 5", context: Some("path: js_ast.path.clone(),") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-196", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 196, message: "Deep nesting level: 5", context: Some("language: Language::JavaScript,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-197", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 197, message: "Deep nesting level: 5", context: Some("complexity: ComplexityMetrics {") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 198, message: "Deep nesting level: 6", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 199, message: "Deep nesting level: 6", context: Some("cyclomatic_complexity: cyclomatic,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-200", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 200, message: "Deep nesting level: 6", context: Some("cognitive_complexity: cognitive,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-201", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 201, message: "Deep nesting level: 5", context: Some("},") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-202", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 202, message: "Deep nesting level: 5", context: Some("debt_items,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-203", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 203, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 204, message: "Deep nesting level: 5", context: Some("duplications: vec![],") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 210, message: "Deep nesting level: 5", context: Some("complexity::extract_functions(root_node, &ts_ast.source, &ts_ast.path);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 213, message: "Deep nesting level: 5", context: Some("self.create_debt_items(&ts_ast.tree, &ts_ast.source, &ts_ast.path, &functions);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 216, message: "Deep nesting level: 5", context: Some("(cyc + f.cyclomatic, cog + f.cognitive)") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-220", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 220, message: "Deep nesting level: 5", context: Some("path: ts_ast.path.clone(),") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-221", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 221, message: "Deep nesting level: 5", context: Some("language: Language::TypeScript,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-222", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 222, message: "Deep nesting level: 5", context: Some("complexity: ComplexityMetrics {") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-223", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 223, message: "Deep nesting level: 6", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-224", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 224, message: "Deep nesting level: 6", context: Some("cyclomatic_complexity: cyclomatic,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 225, message: "Deep nesting level: 6", context: Some("cognitive_complexity: cognitive,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 226, message: "Deep nesting level: 5", context: Some("},") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 227, message: "Deep nesting level: 5", context: Some("debt_items,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-228", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 228, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-229", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 229, message: "Deep nesting level: 5", context: Some("duplications: vec![],") }, DebtItem { id: "complexity-./src/analyzers/python.rs-28", debt_type: Complexity, priority: Medium, file: "./src/analyzers/python.rs", line: 28, message: "Function 'count_branches_stmt' has high complexity (cyclomatic: 9, cognitive: 26)", context: None }, DebtItem { id: "complexity-./src/analyzers/python.rs-43", debt_type: Complexity, priority: Medium, file: "./src/analyzers/python.rs", line: 43, message: "Function 'extract_stmt_dependencies' has high complexity (cyclomatic: 3, cognitive: 13)", context: None }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-202", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 202, message: "Deep nesting level: 5", context: Some("estimate_line_number(lines, func_def.name.as_ref(), stmt_offset + idx);") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 204, message: "Deep nesting level: 5", context: Some("name: func_def.name.to_string(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 205, message: "Deep nesting level: 5", context: Some("file: path.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-206", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 206, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-207", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 207, message: "Deep nesting level: 5", context: Some("cyclomatic: calculate_cyclomatic_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 208, message: "Deep nesting level: 5", context: Some("cognitive: calculate_cognitive_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 209, message: "Deep nesting level: 5", context: Some("nesting: calculate_nesting_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 210, message: "Deep nesting level: 5", context: Some("length: func_def.body.len(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 215, message: "Deep nesting level: 5", context: Some("&func_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 216, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 217, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-218", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 218, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-219", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 219, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-224", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 224, message: "Deep nesting level: 5", context: Some("estimate_line_number(lines, func_def.name.as_ref(), stmt_offset + idx);") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 226, message: "Deep nesting level: 5", context: Some("name: format!(\"async {}\", func_def.name),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 227, message: "Deep nesting level: 5", context: Some("file: path.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-228", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 228, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-229", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 229, message: "Deep nesting level: 5", context: Some("cyclomatic: calculate_cyclomatic_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-230", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 230, message: "Deep nesting level: 5", context: Some("cognitive: calculate_cognitive_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-231", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 231, message: "Deep nesting level: 5", context: Some("nesting: calculate_nesting_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-232", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 232, message: "Deep nesting level: 5", context: Some("length: func_def.body.len(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-237", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 237, message: "Deep nesting level: 5", context: Some("&func_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-238", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 238, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-239", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 239, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-240", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 240, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-241", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 241, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 247, message: "Deep nesting level: 5", context: Some("&class_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 248, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-249", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 249, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-250", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 250, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-251", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 251, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-297", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 297, message: "Deep nesting level: 5", context: Some("count += 1;") }, DebtItem { id: "smell-LargeClass-./src/analyzers/python.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 1, message: "Module has 442 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/core/cache.rs-269", debt_type: CodeSmell, priority: Medium, file: "./src/core/cache.rs", line: 269, message: "Deep nesting level: 5", context: Some("modified.push(path.clone());") }, DebtItem { id: "smell-LargeClass-./src/core/cache.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/core/cache.rs", line: 1, message: "Module has 340 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/core/ast.rs-4", debt_type: Complexity, priority: Medium, file: "./src/core/ast.rs", line: 4, message: "Function 'extract_nodes' has high complexity (cyclomatic: 1, cognitive: 13)", context: None }, DebtItem { id: "deep-nesting-./src/core/ast.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/core/ast.rs", line: 131, message: "Deep nesting level: 5", context: Some("n.kind,") }, DebtItem { id: "deep-nesting-./src/core/ast.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/core/ast.rs", line: 132, message: "Deep nesting level: 5", context: Some("NodeKind::If | NodeKind::While | NodeKind::For | NodeKind::Match") }, DebtItem { id: "complexity-./src/complexity/patterns.rs-13", debt_type: Complexity, priority: Medium, file: "./src/complexity/patterns.rs", line: 13, message: "Function 'visit_expr' has high complexity (cyclomatic: 20, cognitive: 41)", context: None }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-99", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 99, message: "Deep nesting level: 5", context: Some("chain_length += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-100", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 100, message: "Deep nesting level: 5", context: Some("current = &method.receiver;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-103", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 103, message: "Deep nesting level: 5", context: Some("chain_length += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-104", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 104, message: "Deep nesting level: 5", context: Some("current = &field.base;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-118", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 118, message: "Deep nesting level: 5", context: Some("method_name.as_str(),") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-119", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 119, message: "Deep nesting level: 5", context: Some("\"map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-120", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 120, message: "Deep nesting level: 6", context: Some("| \"filter\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 121, message: "Deep nesting level: 6", context: Some("| \"fold\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 122, message: "Deep nesting level: 6", context: Some("| \"reduce\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 123, message: "Deep nesting level: 6", context: Some("| \"flat_map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 124, message: "Deep nesting level: 6", context: Some("| \"filter_map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 125, message: "Deep nesting level: 6", context: Some("| \"and_then\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-126", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 126, message: "Deep nesting level: 6", context: Some("| \"or_else\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 127, message: "Deep nesting level: 6", context: Some("| \"map_or\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-128", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 128, message: "Deep nesting level: 6", context: Some("| \"map_or_else\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-142", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 142, message: "Deep nesting level: 5", context: Some("self.patterns.functional_composition += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 185, message: "Deep nesting level: 5", context: Some("self.patterns.async_await_count += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-196", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 196, message: "Deep nesting level: 5", context: Some("self.patterns.method_chain_length =") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-197", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 197, message: "Deep nesting level: 6", context: Some("self.patterns.method_chain_length.max(chain_length);") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 205, message: "Deep nesting level: 5", context: Some("if let Expr::MethodCall(method) = expr {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-206", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 206, message: "Deep nesting level: 6", context: Some("if method.method == func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-207", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 207, message: "Deep nesting level: 7", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 208, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 209, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-220", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 220, message: "Deep nesting level: 5", context: Some("&& if_expr.then_branch.stmts.len() == 1") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-221", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 221, message: "Deep nesting level: 5", context: Some("&& matches!(&if_expr.then_branch.stmts[0], syn::Stmt::Expr(_, None)) =>") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 225, message: "Deep nesting level: 5", context: Some("self.patterns.nested_ternaries += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-246", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 246, message: "Deep nesting level: 5", context: Some("if let Expr::Path(path) = &*call.func {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 247, message: "Deep nesting level: 6", context: Some("if let Some(segment) = path.path.segments.last() {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 248, message: "Deep nesting level: 7", context: Some("if segment.ident == func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-249", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 249, message: "Deep nesting level: 8", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-250", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 250, message: "Deep nesting level: 7", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-251", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 251, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-252", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 252, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/complexity/patterns.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 1, message: "Module has 303 lines (threshold: 300)", context: None }, DebtItem { id: "smell-DeepNesting-./src/complexity/patterns.rs-13", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 13, message: "Function 'visit_expr' has nesting depth of 6 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-44", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 44, message: "Deep nesting level: 5", context: Some("base_complexity: 1 + self.nesting_level,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-45", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 45, message: "Deep nesting level: 5", context: Some("extra_complexity: 0,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-46", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 46, message: "Deep nesting level: 5", context: Some("increases_nesting: true,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-63", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 63, message: "Deep nesting level: 5", context: Some("base_complexity: base + self.nesting_level.min(1),") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-64", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 64, message: "Deep nesting level: 5", context: Some("extra_complexity: 0,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-65", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 65, message: "Deep nesting level: 5", context: Some("increases_nesting: false,") }, DebtItem { id: "complexity-./src/complexity/python_patterns.rs-5", debt_type: Complexity, priority: High, file: "./src/complexity/python_patterns.rs", line: 5, message: "Function 'analyze_stmt' has high complexity (cyclomatic: 21, cognitive: 32)", context: None }, DebtItem { id: "complexity-./src/complexity/python_patterns.rs-7", debt_type: Complexity, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 7, message: "Function 'analyze_expr' has high complexity (cyclomatic: 15, cognitive: 25)", context: None }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-71", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 71, message: "Deep nesting level: 5", context: Some("self.patterns.nested_functions += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-91", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 91, message: "Deep nesting level: 5", context: Some("self.patterns.nested_functions += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-111", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 111, message: "Deep nesting level: 5", context: Some("if keyword.arg.as_ref().is_some_and(|arg| arg == \"metaclass\") {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 112, message: "Deep nesting level: 6", context: Some("self.patterns.metaclass_usage += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 113, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 124, message: "Deep nesting level: 5", context: Some("let ast::ExceptHandler::ExceptHandler(h) = handler;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 125, message: "Deep nesting level: 5", context: Some("self.analyze_body(&h.body);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-163", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 163, message: "Deep nesting level: 5", context: Some("self.analyze_expr(value);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 209, message: "Deep nesting level: 5", context: Some("// Nested comprehension adds significant complexity") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 210, message: "Deep nesting level: 5", context: Some("self.patterns.comprehension_depth = self") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-211", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 211, message: "Deep nesting level: 6", context: Some(".patterns") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 212, message: "Deep nesting level: 6", context: Some(".comprehension_depth") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 213, message: "Deep nesting level: 6", context: Some(".max(self.comprehension_depth);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-232", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 232, message: "Deep nesting level: 5", context: Some("if let ast::Expr::Name(name) = &*call.func {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-233", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 233, message: "Deep nesting level: 6", context: Some("if name.id == *func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-234", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 234, message: "Deep nesting level: 7", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-235", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 235, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-236", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 236, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-241", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 241, message: "Deep nesting level: 5", context: Some("self.analyze_expr(arg);") }, DebtItem { id: "smell-DeepNesting-./src/complexity/python_patterns.rs-7", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 7, message: "Function 'analyze_expr' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "complexity-./src/complexity/cyclomatic.rs-2", debt_type: Complexity, priority: Medium, file: "./src/complexity/cyclomatic.rs", line: 2, message: "Function 'calculate_expr_complexity' has high complexity (cyclomatic: 8, cognitive: 11)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-43", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 43, message: "Line exceeds 120 characters (163)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-45", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 45, message: "Line exceeds 120 characters (163)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-50", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 50, message: "Line exceeds 120 characters (150)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-125", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 125, message: "Line exceeds 120 characters (159)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-127", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 127, message: "Line exceeds 120 characters (159)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-150", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 150, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-177", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 177, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-210", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 210, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "complexity-./src/io/walker.rs-5", debt_type: Complexity, priority: Medium, file: "./src/io/walker.rs", line: 5, message: "Function 'should_process' has high complexity (cyclomatic: 6, cognitive: 11)", context: None }, DebtItem { id: "deep-nesting-./src/io/walker.rs-67", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 67, message: "Deep nesting level: 5", context: Some(".map(|p| p.matches(&path_str))") }, DebtItem { id: "deep-nesting-./src/io/walker.rs-68", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 68, message: "Deep nesting level: 5", context: Some(".unwrap_or(false)") }, DebtItem { id: "deep-nesting-./src/io/walker.rs-70", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 70, message: "Deep nesting level: 5", context: Some("return false;") }, DebtItem { id: "TODO-./src/io/output.rs-145", debt_type: Todo, priority: Medium, file: "./src/io/output.rs", line: 145, message: "TODO: Implement feature\".to_string(),", context: Some("message: \"TODO: Implement feature\".to_string(),") }, DebtItem { id: "TODO-./src/io/output.rs-193", debt_type: Todo, priority: Medium, file: "./src/io/output.rs", line: 193, message: "TODO: Implement feature\"));", context: Some("assert!(output.contains(\"TODO: Implement feature\"));") }, DebtItem { id: "deep-nesting-./src/io/output.rs-165", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 165, message: "Deep nesting level: 5", context: Some("total_functions: 1,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-166", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 166, message: "Deep nesting level: 5", context: Some("average_complexity: 5.0,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-167", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 167, message: "Deep nesting level: 5", context: Some("max_complexity: 5,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-168", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 168, message: "Deep nesting level: 5", context: Some("high_complexity_count: 0,") }, DebtItem { id: "complexity-./src/debt/coupling.rs-10", debt_type: Complexity, priority: Medium, file: "./src/debt/coupling.rs", line: 10, message: "Function 'build_module_dependency_map' has high complexity (cyclomatic: 6, cognitive: 12)", context: None }, DebtItem { id: "deep-nesting-./src/debt/coupling.rs-169", debt_type: CodeSmell, priority: Medium, file: "./src/debt/coupling.rs", line: 169, message: "Deep nesting level: 5", context: Some("Some(extract_module_from_import(&dep.name))") }, DebtItem { id: "deep-nesting-./src/debt/coupling.rs-171", debt_type: CodeSmell, priority: Medium, file: "./src/debt/coupling.rs", line: 171, message: "Deep nesting level: 5", context: Some("None") }, DebtItem { id: "complexity-./src/debt/duplication.rs-1", debt_type: Complexity, priority: Medium, file: "./src/debt/duplication.rs", line: 1, message: "Function 'detect_duplication' has high complexity (cyclomatic: 1, cognitive: 13)", context: None }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-17", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 17, message: "Deep nesting level: 5", context: Some("let hash = calculate_hash(&chunk);") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-18", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 18, message: "Deep nesting level: 5", context: Some("let location = DuplicationLocation {") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-19", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 19, message: "Deep nesting level: 6", context: Some("file: path.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-20", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 20, message: "Deep nesting level: 6", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-21", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 21, message: "Deep nesting level: 6", context: Some("end_line: start_line + min_lines - 1,") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-22", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 22, message: "Deep nesting level: 5", context: Some("};") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-23", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 23, message: "Deep nesting level: 5", context: Some("(hash, location)") }, DebtItem { id: "complexity-./src/debt/patterns.rs-16", debt_type: Complexity, priority: Medium, file: "./src/debt/patterns.rs", line: 16, message: "Function 'detect_duplicate_strings' has high complexity (cyclomatic: 1, cognitive: 19)", context: None }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-32", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 32, message: "Deep nesting level: 5", context: Some("if ctx.is_suppressed(line_number, &debt_type) {") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-33", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 33, message: "Deep nesting level: 6", context: Some("return None;") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-34", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 34, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-38", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 38, message: "Deep nesting level: 5", context: Some("id: format!(\"{}-{}-{}\", debt_type, file.display(), line_number),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-39", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 39, message: "Deep nesting level: 5", context: Some("debt_type,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-40", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 40, message: "Deep nesting level: 5", context: Some("priority,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-41", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 41, message: "Deep nesting level: 5", context: Some("file: file.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-42", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 42, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-43", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 43, message: "Deep nesting level: 5", context: Some("message: format!(\"{marker}: {message}\"),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-44", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 44, message: "Deep nesting level: 5", context: Some("context: Some(line.trim().to_string()),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-91", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 91, message: "Deep nesting level: 5", context: Some("return vec![];") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 204, message: "Deep nesting level: 5", context: Some("unique.push(item);") }, DebtItem { id: "smell-DeepNesting-./src/debt/patterns.rs-2", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 2, message: "Function 'find_todos_and_fixmes_with_suppression' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "complexity-./src/debt/suppression.rs-12", debt_type: Complexity, priority: Medium, file: "./src/debt/suppression.rs", line: 12, message: "Function 'get_stats' has high complexity (cyclomatic: 2, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/debt/suppression.rs-20", debt_type: Complexity, priority: Medium, file: "./src/debt/suppression.rs", line: 20, message: "Function 'parse_line' has high complexity (cyclomatic: 5, cognitive: 28)", context: None }, DebtItem { id: "TODO-./src/debt/suppression.rs-409", debt_type: Todo, priority: Medium, file: "./src/debt/suppression.rs", line: 409, message: "TODO: In unclosed block\\n\"", context: Some("\"// debtmap:\", \"ignore-start\\n\", \"// TODO: In unclosed block\\n\"") }, DebtItem { id: "TODO-./src/debt/suppression.rs-436", debt_type: Todo, priority: Medium, file: "./src/debt/suppression.rs", line: 436, message: "TODO: Test // debtmap:ignore[*]\";", context: Some("let content = \"// TODO: Test // debtmap:ignore[*]\";") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 214, message: "Deep nesting level: 5", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 215, message: "Deep nesting level: 5", context: Some("end_line: Some(end_line),") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 216, message: "Deep nesting level: 5", context: Some("debt_types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 217, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 225, message: "Deep nesting level: 5", context: Some("debt_types: types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 226, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 227, message: "Deep nesting level: 5", context: Some("applies_to_next_line: true,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-235", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 235, message: "Deep nesting level: 5", context: Some("debt_types: types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-236", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 236, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-237", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 237, message: "Deep nesting level: 5", context: Some("applies_to_next_line: false,") }, DebtItem { id: "smell-LargeClass-./src/debt/suppression.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 1, message: "Module has 445 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/debt/circular.rs-8", debt_type: Complexity, priority: Medium, file: "./src/debt/circular.rs", line: 8, message: "Function 'dfs_detect_cycles' has high complexity (cyclomatic: 6, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/debt/circular.rs-24", debt_type: Complexity, priority: Medium, file: "./src/debt/circular.rs", line: 24, message: "Function 'analyze_module_dependencies' has high complexity (cyclomatic: 1, cognitive: 11)", context: None }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-56", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 56, message: "Deep nesting level: 5", context: Some("module,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-57", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 57, message: "Deep nesting level: 5", context: Some("&mut visited,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-58", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 58, message: "Deep nesting level: 5", context: Some("&mut rec_stack,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-59", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 59, message: "Deep nesting level: 5", context: Some("&mut path,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-60", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 60, message: "Deep nesting level: 5", context: Some("&mut circular_deps,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-83", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 83, message: "Deep nesting level: 5", context: Some("self.dfs_detect_cycles(dep, visited, rec_stack, path, cycles);") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-85", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 85, message: "Deep nesting level: 5", context: Some("// Found a cycle") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-86", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 86, message: "Deep nesting level: 5", context: Some("let cycle_start = path.iter().position(|m| m == dep).unwrap();") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-87", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 87, message: "Deep nesting level: 5", context: Some("let cycle = path[cycle_start..].to_vec();") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-88", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 88, message: "Deep nesting level: 5", context: Some("cycles.push(CircularDependency { cycle });") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-106", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 106, message: "Deep nesting level: 5", context: Some("module: module.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-107", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 107, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-108", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 108, message: "Deep nesting level: 5", context: Some("dependents,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-140", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 140, message: "Deep nesting level: 5", context: Some(".then_some(other_module.clone())") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-178", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 178, message: "Deep nesting level: 5", context: Some("graph.add_dependency(module_name.clone(), dep_module);") }, DebtItem { id: "complexity-./src/debt/smells.rs-9", debt_type: Complexity, priority: Medium, file: "./src/debt/smells.rs", line: 9, message: "Function 'detect_data_clumps' has high complexity (cyclomatic: 5, cognitive: 11)", context: None }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 185, message: "Deep nesting level: 5", context: Some("\"Line has {other_calls} external method calls vs {self_calls} self calls\"") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 208, message: "Deep nesting level: 5", context: Some("smells.push(CodeSmell {") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 209, message: "Deep nesting level: 6", context: Some("smell_type: SmellType::DataClump,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 210, message: "Deep nesting level: 6", context: Some("location: functions[i].file.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-211", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 211, message: "Deep nesting level: 6", context: Some("line: functions[i].line,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 212, message: "Deep nesting level: 6", context: Some("message: format!(") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 213, message: "Deep nesting level: 7", context: Some("\"Functions '{}' and '{}' may share data clumps\",") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 214, message: "Deep nesting level: 7", context: Some("functions[i].name, functions[j].name") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 215, message: "Deep nesting level: 6", context: Some("),") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 216, message: "Deep nesting level: 6", context: Some("severity: Priority::Low,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 217, message: "Deep nesting level: 5", context: Some("});") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-218", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 218, message: "Deep nesting level: 5", context: Some("break; // Only report once per function") }, DebtItem { id: "smell-DeepNesting-./src/debt/smells.rs-9", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 9, message: "Function 'detect_data_clumps' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/transformers/mod.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/transformers/mod.rs", line: 133, message: "Deep nesting level: 5", context: Some("item.context = Some(format!(\"Found in {}\", item.file.display()));") }, DebtItem { id: "complexity-./src/main.rs-17", debt_type: Complexity, priority: Medium, file: "./src/main.rs", line: 17, message: "Function 'build_context_aggregator' has high complexity (cyclomatic: 10, cognitive: 14)", context: None }, DebtItem { id: "deep-nesting-./src/main.rs-296", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 296, message: "Deep nesting level: 5", context: Some("risk::context::git_history::GitHistoryProvider::new(project_path.to_path_buf())") }, DebtItem { id: "deep-nesting-./src/main.rs-298", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 298, message: "Deep nesting level: 5", context: Some("aggregator = aggregator.with_provider(Box::new(provider));") }, DebtItem { id: "smell-LargeClass-./src/main.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 1, message: "Module has 553 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/strategy.rs-17", debt_type: Complexity, priority: Medium, file: "./src/risk/strategy.rs", line: 17, message: "Function 'categorize_risk' has high complexity (cyclomatic: 10, cognitive: 16)", context: None }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-155", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 155, message: "Deep nesting level: 5", context: Some("r if r <= 1.0 => 1.0,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-156", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 156, message: "Deep nesting level: 5", context: Some("r if r <= 2.0 => 1.2,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-157", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 157, message: "Deep nesting level: 5", context: Some("r if r <= 5.0 => 1.5,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-158", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 158, message: "Deep nesting level: 5", context: Some("r if r <= 10.0 => 2.0,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-159", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 159, message: "Deep nesting level: 5", context: Some("_ => 2.5,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-379", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 379, message: "Deep nesting level: 5", context: Some("&& Self::coverage_exceeds_threshold(coverage, *max_coverage)") }, DebtItem { id: "smell-LargeClass-./src/risk/strategy.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 1, message: "Module has 595 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-2", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 2, message: "Function 'project_coverage_increase' has high complexity (cyclomatic: 9, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-3", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 3, message: "Function 'calculate_confidence' has high complexity (cyclomatic: 11, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-4", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 4, message: "Function 'calculate' has high complexity (cyclomatic: 17, cognitive: 34)", context: None }, DebtItem { id: "complexity-./src/risk/roi/mod.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/mod.rs", line: 7, message: "Function 'calculate_confidence' has high complexity (cyclomatic: 9, cognitive: 11)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 198, message: "Deep nesting level: 5", context: Some("\"Potentially affects {} dependent modules\",") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 199, message: "Deep nesting level: 5", context: Some("target.dependents.len()") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-203", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 203, message: "Deep nesting level: 5", context: Some("\"Affects {} dependent modules (depth: {})\",") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 204, message: "Deep nesting level: 5", context: Some("cascade.affected_modules.len(),") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 205, message: "Deep nesting level: 5", context: Some("cascade.propagation_depth") }, DebtItem { id: "smell-LargeClass-./src/risk/roi/mod.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 1, message: "Module has 311 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/roi/cascade.rs-8", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 8, message: "Function 'propagate_impact' has high complexity (cyclomatic: 6, cognitive: 12)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 112, message: "Deep nesting level: 5", context: Some("strength * edge_weight * self.propagation_decay.powi(depth as i32);") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-115", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 115, message: "Deep nesting level: 5", context: Some("source_risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-116", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 116, message: "Deep nesting level: 5", context: Some("dependent_node.risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-117", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 117, message: "Deep nesting level: 5", context: Some("propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 121, message: "Deep nesting level: 5", context: Some(".entry(dependent_id.clone())") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 122, message: "Deep nesting level: 5", context: Some(".and_modify(|m| {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 123, message: "Deep nesting level: 6", context: Some("if risk_reduction > m.risk_reduction {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 124, message: "Deep nesting level: 7", context: Some("m.risk_reduction = risk_reduction;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 125, message: "Deep nesting level: 7", context: Some("m.confidence = propagated_strength;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-126", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 126, message: "Deep nesting level: 7", context: Some("m.depth = depth + 1;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 127, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-128", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 128, message: "Deep nesting level: 5", context: Some("})") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-129", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 129, message: "Deep nesting level: 5", context: Some(".or_insert(AffectedModule {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-130", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 130, message: "Deep nesting level: 6", context: Some("id: dependent_id.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 131, message: "Deep nesting level: 6", context: Some("risk_reduction,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 132, message: "Deep nesting level: 6", context: Some("confidence: propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 133, message: "Deep nesting level: 6", context: Some("depth: depth + 1,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 134, message: "Deep nesting level: 5", context: Some("});") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-137", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 137, message: "Deep nesting level: 5", context: Some("dependent_id,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-138", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 138, message: "Deep nesting level: 5", context: Some("propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-139", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 139, message: "Deep nesting level: 5", context: Some("visited,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-140", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 140, message: "Deep nesting level: 5", context: Some("module_impacts,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-141", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 141, message: "Deep nesting level: 5", context: Some("depth + 1,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-142", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 142, message: "Deep nesting level: 5", context: Some("graph,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-143", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 143, message: "Deep nesting level: 5", context: Some("source_risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 198, message: "Deep nesting level: 5", context: Some("cyclomatic_complexity: 10,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 199, message: "Deep nesting level: 5", context: Some("cognitive_complexity: 15,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-200", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 200, message: "Deep nesting level: 5", context: Some("functions: vec![],") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 212, message: "Deep nesting level: 5", context: Some("cyclomatic_complexity: 5,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 213, message: "Deep nesting level: 5", context: Some("cognitive_complexity: 7,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 214, message: "Deep nesting level: 5", context: Some("functions: vec![],") }, DebtItem { id: "smell-DeepNesting-./src/risk/roi/cascade.rs-8", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 8, message: "Function 'propagate_impact' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 133, message: "Deep nesting level: 5", context: Some("&& outcome.context.complexity_level == target_context.complexity_level") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 134, message: "Deep nesting level: 5", context: Some("&& (outcome.context.initial_coverage - target_context.initial_coverage).abs()") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-135", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 135, message: "Deep nesting level: 6", context: Some("< 20.0") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-149", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 149, message: "Deep nesting level: 5", context: Some("o.actual.effort / o.prediction.effort") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-151", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 151, message: "Deep nesting level: 5", context: Some("1.0") }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-6", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 6, message: "Function 'estimate_setup_effort' has high complexity (cyclomatic: 9, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 7, message: "Function 'estimate_mocking_effort' has high complexity (cyclomatic: 9, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-9", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 9, message: "Function 'estimate_understanding_effort' has high complexity (cyclomatic: 11, cognitive: 13)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 131, message: "Deep nesting level: 5", context: Some("|| d.contains(\"net\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 132, message: "Deep nesting level: 5", context: Some("|| d.contains(\"fs\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 133, message: "Deep nesting level: 5", context: Some("|| d.contains(\"db\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 134, message: "Deep nesting level: 5", context: Some("|| d.contains(\"http\")") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-111", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 111, message: "Deep nesting level: 5", context: Some("name: name.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 112, message: "Deep nesting level: 5", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 113, message: "Deep nesting level: 5", context: Some("execution_count,") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-114", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 114, message: "Deep nesting level: 5", context: Some("coverage_percentage,") }, DebtItem { id: "complexity-./src/risk/priority.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 7, message: "Function 'process' has high complexity (cyclomatic: 9, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-28", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 28, message: "Function 'pattern_match_score' has high complexity (cyclomatic: 6, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-45", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 45, message: "Function 'determine_module_type' has high complexity (cyclomatic: 15, cognitive: 48)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-52", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 52, message: "Function 'infer_module_relationships' has high complexity (cyclomatic: 11, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-55", debt_type: Complexity, priority: High, file: "./src/risk/priority.rs", line: 55, message: "Function '_generate_enhanced_rationale' has high complexity (cyclomatic: 21, cognitive: 30)", context: None }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-99", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 99, message: "Deep nesting level: 5", context: Some("ModuleType::EntryPoint => 10.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-100", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 100, message: "Deep nesting level: 5", context: Some("ModuleType::Core => 8.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-101", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 101, message: "Deep nesting level: 5", context: Some("ModuleType::Api => 6.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-102", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 102, message: "Deep nesting level: 5", context: Some("ModuleType::Model => 4.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-103", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 103, message: "Deep nesting level: 5", context: Some("ModuleType::IO => 3.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-104", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 104, message: "Deep nesting level: 5", context: Some("ModuleType::Utility => 2.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-105", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 105, message: "Deep nesting level: 5", context: Some("_ => 1.0,") }, DebtItem { id: "smell-LargeClass-./src/risk/priority.rs-1", debt_type: CodeSmell, priority: High, file: "./src/risk/priority.rs", line: 1, message: "Module has 1077 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/context/git_history.rs-15", debt_type: Complexity, priority: Medium, file: "./src/risk/context/git_history.rs", line: 15, message: "Function 'gather' has high complexity (cyclomatic: 11, cognitive: 16)", context: None }, DebtItem { id: "complexity-./src/risk/context/git_history.rs-17", debt_type: Complexity, priority: Medium, file: "./src/risk/context/git_history.rs", line: 17, message: "Function 'explain' has high complexity (cyclomatic: 11, cognitive: 24)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-168", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 168, message: "Deep nesting level: 5", context: Some("Ok(dt) => Ok(Some(dt.with_timezone(&Utc))),") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-169", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 169, message: "Deep nesting level: 5", context: Some("Err(_) => Ok(None),") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 212, message: "Deep nesting level: 5", context: Some("let now = Utc::now();") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 213, message: "Deep nesting level: 5", context: Some("let age = now.signed_duration_since(first_date.with_timezone(&Utc));") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 214, message: "Deep nesting level: 5", context: Some("return Ok(age.num_days().max(0) as u32);") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-305", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 305, message: "Deep nesting level: 5", context: Some("\"Highly unstable: {:.1} changes/month, {:.0}% bug fixes\",") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-306", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 306, message: "Deep nesting level: 5", context: Some("change_frequency,") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-307", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 307, message: "Deep nesting level: 5", context: Some("bug_density * 100.0") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-311", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 311, message: "Deep nesting level: 5", context: Some("\"Frequently changed: {change_frequency:.1} changes/month by {author_count} authors\"") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-315", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 315, message: "Deep nesting level: 5", context: Some("\"Bug-prone: {:.0}% of commits are bug fixes\",") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-316", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 316, message: "Deep nesting level: 5", context: Some("bug_density * 100.0") }, DebtItem { id: "smell-LargeClass-./src/risk/context/git_history.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 1, message: "Module has 414 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/context/critical_path.rs-13", debt_type: Complexity, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 13, message: "Function 'classify_entry_point' has high complexity (cyclomatic: 7, cognitive: 25)", context: None }, DebtItem { id: "complexity-./src/risk/context/critical_path.rs-25", debt_type: Complexity, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 25, message: "Function 'gather' has high complexity (cyclomatic: 4, cognitive: 12)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 113, message: "Deep nesting level: 5", context: Some("entry_type,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-114", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 114, message: "Deep nesting level: 5", context: Some("EntryType::Main") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-115", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 115, message: "Deep nesting level: 6", context: Some("| EntryType::ApiEndpoint") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-116", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 116, message: "Deep nesting level: 6", context: Some("| EntryType::CliCommand") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-117", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 117, message: "Deep nesting level: 6", context: Some("| EntryType::WebHandler") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 121, message: "Deep nesting level: 5", context: Some("function_name: name.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 122, message: "Deep nesting level: 5", context: Some("file_path: path.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 123, message: "Deep nesting level: 5", context: Some("entry_type,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 124, message: "Deep nesting level: 5", context: Some("is_user_facing,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-272", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 272, message: "Deep nesting level: 5", context: Some("entry_points: vec![],") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-273", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 273, message: "Deep nesting level: 5", context: Some("path_weight: 0.0,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-274", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 274, message: "Deep nesting level: 5", context: Some("is_user_facing: false,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-297", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 297, message: "Deep nesting level: 5", context: Some(".iter()") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-298", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 298, message: "Deep nesting level: 5", context: Some(".map(|e| format!(\"{} ({:?})\", e.function_name, e.entry_type))") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-299", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 299, message: "Deep nesting level: 5", context: Some(".collect(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-321", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 321, message: "Deep nesting level: 5", context: Some("\"On {} critical path(s) with weight {:.1}{}\",") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-322", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 322, message: "Deep nesting level: 5", context: Some("entry_points.len(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-323", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 323, message: "Deep nesting level: 5", context: Some("path_weight,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-324", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 324, message: "Deep nesting level: 5", context: Some("if *is_user_facing {") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-325", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 325, message: "Deep nesting level: 6", context: Some("\" (user-facing)\"") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-326", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 326, message: "Deep nesting level: 5", context: Some("} else {") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-327", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 327, message: "Deep nesting level: 6", context: Some("\"\"") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-328", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 328, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/risk/context/critical_path.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 1, message: "Module has 410 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 124, message: "Deep nesting level: 5", context: Some("context_map.add(provider.name().to_string(), context);") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 127, message: "Deep nesting level: 5", context: Some("log::debug!(\"Context provider {} failed: {}\", provider.name(), e);") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 215, message: "Deep nesting level: 5", context: Some("\"{}: +{:.1}\",") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 216, message: "Deep nesting level: 5", context: Some("context.provider,") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 217, message: "Deep nesting level: 5", context: Some("context.contribution * context.weight") }, DebtItem { id: "complexity-./src/risk/context/dependency.rs-20", debt_type: Complexity, priority: Medium, file: "./src/risk/context/dependency.rs", line: 20, message: "Function 'gather' has high complexity (cyclomatic: 9, cognitive: 17)", context: None }, DebtItem { id: "complexity-./src/risk/context/dependency.rs-23", debt_type: Complexity, priority: Medium, file: "./src/risk/context/dependency.rs", line: 23, message: "Function 'explain' has high complexity (cyclomatic: 9, cognitive: 16)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-108", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 108, message: "Deep nesting level: 5", context: Some("new_scores.insert(module.name.clone(), propagated_risk);") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-109", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 109, message: "Deep nesting level: 5", context: Some("changed = true;") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-159", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 159, message: "Deep nesting level: 5", context: Some("to_visit.push_back(dep.from.clone());") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-260", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 260, message: "Deep nesting level: 5", context: Some("\"Critical dependency with blast radius {} affecting {} modules\",") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-261", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 261, message: "Deep nesting level: 5", context: Some("blast_radius,") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-262", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 262, message: "Deep nesting level: 5", context: Some("dependents.len()") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-266", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 266, message: "Deep nesting level: 5", context: Some("\"Important dependency with {} dependents (risk: {:.1})\",") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-267", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 267, message: "Deep nesting level: 5", context: Some("dependents.len(),") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-268", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 268, message: "Deep nesting level: 5", context: Some("propagated_risk") }, DebtItem { id: "smell-LargeClass-./src/risk/context/dependency.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 1, message: "Module has 407 lines (threshold: 300)", context: None }, DebtItem { id: "complexity-./src/risk/correlation.rs-1", debt_type: Complexity, priority: Medium, file: "./src/risk/correlation.rs", line: 1, message: "Function 'calculate_complexity_coverage_correlation' has high complexity (cyclomatic: 4, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/risk/insights.rs-6", debt_type: Complexity, priority: Medium, file: "./src/risk/insights.rs", line: 6, message: "Function 'format_actionable_insights' has high complexity (cyclomatic: 10, cognitive: 22)", context: None }, DebtItem { id: "long-line-./src/risk/insights.rs-52", debt_type: CodeSmell, priority: Low, file: "./src/risk/insights.rs", line: 52, message: "Line exceeds 120 characters (209)", context: None }, DebtItem { id: "long-line-./src/risk/insights.rs-93", debt_type: CodeSmell, priority: Low, file: "./src/risk/insights.rs", line: 93, message: "Line exceeds 120 characters (200)", context: None }], by_type: {CodeSmell: [DebtItem { id: "smell-LargeClass-./tests/javascript_typescript_test.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/javascript_typescript_test.rs", line: 1, message: "Module has 465 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-216", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 216, message: "Deep nesting level: 5", context: Some("1 => println!(\"one\"),") }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-217", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 217, message: "Deep nesting level: 5", context: Some("2 => println!(\"two\"),") }, DebtItem { id: "deep-nesting-./tests/cyclomatic_complexity_tests.rs-218", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 218, message: "Deep nesting level: 5", context: Some("_ => println!(\"other\"),") }, DebtItem { id: "smell-LargeClass-./tests/cyclomatic_complexity_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/cyclomatic_complexity_tests.rs", line: 1, message: "Module has 385 lines (threshold: 300)", context: None }, DebtItem { id: "smell-LargeClass-./tests/complexity_module_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/complexity_module_tests.rs", line: 1, message: "Module has 337 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-77", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 77, message: "Deep nesting level: 5", context: Some("1 => println!(\"one\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-78", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 78, message: "Deep nesting level: 5", context: Some("2 => println!(\"two\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-79", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 79, message: "Deep nesting level: 5", context: Some("_ => println!(\"other\"),") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-221", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 221, message: "Deep nesting level: 5", context: Some("0 => {") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-222", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 222, message: "Deep nesting level: 6", context: Some("if special {") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-223", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 223, message: "Deep nesting level: 7", context: Some("println!(\"special case\");") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-224", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 224, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-225", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 225, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./tests/cognitive_complexity_tests.rs-226", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 226, message: "Deep nesting level: 5", context: Some("_ => println!(\"normal\"),") }, DebtItem { id: "smell-LargeClass-./tests/cognitive_complexity_tests.rs-1", debt_type: CodeSmell, priority: Medium, file: "./tests/cognitive_complexity_tests.rs", line: 1, message: "Module has 332 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-244", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 244, message: "Deep nesting level: 5", context: Some("// Wrap single expression in a block") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-245", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 245, message: "Deep nesting level: 5", context: Some("syn::Block {") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-246", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 246, message: "Deep nesting level: 6", context: Some("brace_token: Default::default(),") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 247, message: "Deep nesting level: 6", context: Some("stmts: vec![syn::Stmt::Expr(*closure.body.clone(), None)],") }, DebtItem { id: "deep-nesting-./src/analyzers/rust.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 248, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/analyzers/rust.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/rust.rs", line: 1, message: "Module has 359 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 185, message: "Deep nesting level: 5", context: Some("complexity::extract_functions(root_node, &js_ast.source, &js_ast.path);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-188", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 188, message: "Deep nesting level: 5", context: Some("self.create_debt_items(&js_ast.tree, &js_ast.source, &js_ast.path, &functions);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-191", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 191, message: "Deep nesting level: 5", context: Some("(cyc + f.cyclomatic, cog + f.cognitive)") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-195", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 195, message: "Deep nesting level: 5", context: Some("path: js_ast.path.clone(),") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-196", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 196, message: "Deep nesting level: 5", context: Some("language: Language::JavaScript,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-197", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 197, message: "Deep nesting level: 5", context: Some("complexity: ComplexityMetrics {") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 198, message: "Deep nesting level: 6", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 199, message: "Deep nesting level: 6", context: Some("cyclomatic_complexity: cyclomatic,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-200", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 200, message: "Deep nesting level: 6", context: Some("cognitive_complexity: cognitive,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-201", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 201, message: "Deep nesting level: 5", context: Some("},") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-202", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 202, message: "Deep nesting level: 5", context: Some("debt_items,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-203", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 203, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 204, message: "Deep nesting level: 5", context: Some("duplications: vec![],") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 210, message: "Deep nesting level: 5", context: Some("complexity::extract_functions(root_node, &ts_ast.source, &ts_ast.path);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 213, message: "Deep nesting level: 5", context: Some("self.create_debt_items(&ts_ast.tree, &ts_ast.source, &ts_ast.path, &functions);") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 216, message: "Deep nesting level: 5", context: Some("(cyc + f.cyclomatic, cog + f.cognitive)") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-220", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 220, message: "Deep nesting level: 5", context: Some("path: ts_ast.path.clone(),") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-221", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 221, message: "Deep nesting level: 5", context: Some("language: Language::TypeScript,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-222", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 222, message: "Deep nesting level: 5", context: Some("complexity: ComplexityMetrics {") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-223", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 223, message: "Deep nesting level: 6", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-224", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 224, message: "Deep nesting level: 6", context: Some("cyclomatic_complexity: cyclomatic,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 225, message: "Deep nesting level: 6", context: Some("cognitive_complexity: cognitive,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 226, message: "Deep nesting level: 5", context: Some("},") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 227, message: "Deep nesting level: 5", context: Some("debt_items,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-228", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 228, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/analyzers/javascript/mod.rs-229", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 229, message: "Deep nesting level: 5", context: Some("duplications: vec![],") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-202", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 202, message: "Deep nesting level: 5", context: Some("estimate_line_number(lines, func_def.name.as_ref(), stmt_offset + idx);") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 204, message: "Deep nesting level: 5", context: Some("name: func_def.name.to_string(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 205, message: "Deep nesting level: 5", context: Some("file: path.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-206", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 206, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-207", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 207, message: "Deep nesting level: 5", context: Some("cyclomatic: calculate_cyclomatic_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 208, message: "Deep nesting level: 5", context: Some("cognitive: calculate_cognitive_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 209, message: "Deep nesting level: 5", context: Some("nesting: calculate_nesting_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 210, message: "Deep nesting level: 5", context: Some("length: func_def.body.len(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 215, message: "Deep nesting level: 5", context: Some("&func_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 216, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 217, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-218", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 218, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-219", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 219, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-224", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 224, message: "Deep nesting level: 5", context: Some("estimate_line_number(lines, func_def.name.as_ref(), stmt_offset + idx);") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 226, message: "Deep nesting level: 5", context: Some("name: format!(\"async {}\", func_def.name),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 227, message: "Deep nesting level: 5", context: Some("file: path.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-228", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 228, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-229", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 229, message: "Deep nesting level: 5", context: Some("cyclomatic: calculate_cyclomatic_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-230", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 230, message: "Deep nesting level: 5", context: Some("cognitive: calculate_cognitive_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-231", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 231, message: "Deep nesting level: 5", context: Some("nesting: calculate_nesting_python(&func_def.body),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-232", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 232, message: "Deep nesting level: 5", context: Some("length: func_def.body.len(),") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-237", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 237, message: "Deep nesting level: 5", context: Some("&func_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-238", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 238, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-239", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 239, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-240", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 240, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-241", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 241, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 247, message: "Deep nesting level: 5", context: Some("&class_def.body,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 248, message: "Deep nesting level: 5", context: Some("path,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-249", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 249, message: "Deep nesting level: 5", context: Some("lines,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-250", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 250, message: "Deep nesting level: 5", context: Some("functions,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-251", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 251, message: "Deep nesting level: 5", context: Some("stmt_offset + idx,") }, DebtItem { id: "deep-nesting-./src/analyzers/python.rs-297", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 297, message: "Deep nesting level: 5", context: Some("count += 1;") }, DebtItem { id: "smell-LargeClass-./src/analyzers/python.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/analyzers/python.rs", line: 1, message: "Module has 442 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/core/cache.rs-269", debt_type: CodeSmell, priority: Medium, file: "./src/core/cache.rs", line: 269, message: "Deep nesting level: 5", context: Some("modified.push(path.clone());") }, DebtItem { id: "smell-LargeClass-./src/core/cache.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/core/cache.rs", line: 1, message: "Module has 340 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/core/ast.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/core/ast.rs", line: 131, message: "Deep nesting level: 5", context: Some("n.kind,") }, DebtItem { id: "deep-nesting-./src/core/ast.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/core/ast.rs", line: 132, message: "Deep nesting level: 5", context: Some("NodeKind::If | NodeKind::While | NodeKind::For | NodeKind::Match") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-99", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 99, message: "Deep nesting level: 5", context: Some("chain_length += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-100", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 100, message: "Deep nesting level: 5", context: Some("current = &method.receiver;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-103", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 103, message: "Deep nesting level: 5", context: Some("chain_length += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-104", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 104, message: "Deep nesting level: 5", context: Some("current = &field.base;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-118", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 118, message: "Deep nesting level: 5", context: Some("method_name.as_str(),") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-119", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 119, message: "Deep nesting level: 5", context: Some("\"map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-120", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 120, message: "Deep nesting level: 6", context: Some("| \"filter\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 121, message: "Deep nesting level: 6", context: Some("| \"fold\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 122, message: "Deep nesting level: 6", context: Some("| \"reduce\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 123, message: "Deep nesting level: 6", context: Some("| \"flat_map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 124, message: "Deep nesting level: 6", context: Some("| \"filter_map\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 125, message: "Deep nesting level: 6", context: Some("| \"and_then\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-126", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 126, message: "Deep nesting level: 6", context: Some("| \"or_else\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 127, message: "Deep nesting level: 6", context: Some("| \"map_or\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-128", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 128, message: "Deep nesting level: 6", context: Some("| \"map_or_else\"") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-142", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 142, message: "Deep nesting level: 5", context: Some("self.patterns.functional_composition += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 185, message: "Deep nesting level: 5", context: Some("self.patterns.async_await_count += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-196", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 196, message: "Deep nesting level: 5", context: Some("self.patterns.method_chain_length =") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-197", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 197, message: "Deep nesting level: 6", context: Some("self.patterns.method_chain_length.max(chain_length);") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 205, message: "Deep nesting level: 5", context: Some("if let Expr::MethodCall(method) = expr {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-206", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 206, message: "Deep nesting level: 6", context: Some("if method.method == func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-207", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 207, message: "Deep nesting level: 7", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 208, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 209, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-220", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 220, message: "Deep nesting level: 5", context: Some("&& if_expr.then_branch.stmts.len() == 1") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-221", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 221, message: "Deep nesting level: 5", context: Some("&& matches!(&if_expr.then_branch.stmts[0], syn::Stmt::Expr(_, None)) =>") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 225, message: "Deep nesting level: 5", context: Some("self.patterns.nested_ternaries += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-246", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 246, message: "Deep nesting level: 5", context: Some("if let Expr::Path(path) = &*call.func {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-247", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 247, message: "Deep nesting level: 6", context: Some("if let Some(segment) = path.path.segments.last() {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-248", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 248, message: "Deep nesting level: 7", context: Some("if segment.ident == func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-249", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 249, message: "Deep nesting level: 8", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-250", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 250, message: "Deep nesting level: 7", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-251", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 251, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/patterns.rs-252", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 252, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/complexity/patterns.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 1, message: "Module has 303 lines (threshold: 300)", context: None }, DebtItem { id: "smell-DeepNesting-./src/complexity/patterns.rs-13", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/patterns.rs", line: 13, message: "Function 'visit_expr' has nesting depth of 6 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-44", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 44, message: "Deep nesting level: 5", context: Some("base_complexity: 1 + self.nesting_level,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-45", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 45, message: "Deep nesting level: 5", context: Some("extra_complexity: 0,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-46", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 46, message: "Deep nesting level: 5", context: Some("increases_nesting: true,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-63", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 63, message: "Deep nesting level: 5", context: Some("base_complexity: base + self.nesting_level.min(1),") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-64", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 64, message: "Deep nesting level: 5", context: Some("extra_complexity: 0,") }, DebtItem { id: "deep-nesting-./src/complexity/cognitive.rs-65", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/cognitive.rs", line: 65, message: "Deep nesting level: 5", context: Some("increases_nesting: false,") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-71", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 71, message: "Deep nesting level: 5", context: Some("self.patterns.nested_functions += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-91", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 91, message: "Deep nesting level: 5", context: Some("self.patterns.nested_functions += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-111", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 111, message: "Deep nesting level: 5", context: Some("if keyword.arg.as_ref().is_some_and(|arg| arg == \"metaclass\") {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 112, message: "Deep nesting level: 6", context: Some("self.patterns.metaclass_usage += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 113, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 124, message: "Deep nesting level: 5", context: Some("let ast::ExceptHandler::ExceptHandler(h) = handler;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 125, message: "Deep nesting level: 5", context: Some("self.analyze_body(&h.body);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-163", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 163, message: "Deep nesting level: 5", context: Some("self.analyze_expr(value);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 209, message: "Deep nesting level: 5", context: Some("// Nested comprehension adds significant complexity") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 210, message: "Deep nesting level: 5", context: Some("self.patterns.comprehension_depth = self") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-211", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 211, message: "Deep nesting level: 6", context: Some(".patterns") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 212, message: "Deep nesting level: 6", context: Some(".comprehension_depth") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 213, message: "Deep nesting level: 6", context: Some(".max(self.comprehension_depth);") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-232", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 232, message: "Deep nesting level: 5", context: Some("if let ast::Expr::Name(name) = &*call.func {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-233", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 233, message: "Deep nesting level: 6", context: Some("if name.id == *func_name {") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-234", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 234, message: "Deep nesting level: 7", context: Some("self.patterns.recursive_calls += 1;") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-235", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 235, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-236", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 236, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/complexity/python_patterns.rs-241", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 241, message: "Deep nesting level: 5", context: Some("self.analyze_expr(arg);") }, DebtItem { id: "smell-DeepNesting-./src/complexity/python_patterns.rs-7", debt_type: CodeSmell, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 7, message: "Function 'analyze_expr' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-43", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 43, message: "Line exceeds 120 characters (163)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-45", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 45, message: "Line exceeds 120 characters (163)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-50", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 50, message: "Line exceeds 120 characters (150)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-125", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 125, message: "Line exceeds 120 characters (159)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-127", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 127, message: "Line exceeds 120 characters (159)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-150", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 150, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-177", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 177, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "long-line-./src/io/writers/terminal.rs-210", debt_type: CodeSmell, priority: Low, file: "./src/io/writers/terminal.rs", line: 210, message: "Line exceeds 120 characters (146)", context: None }, DebtItem { id: "deep-nesting-./src/io/walker.rs-67", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 67, message: "Deep nesting level: 5", context: Some(".map(|p| p.matches(&path_str))") }, DebtItem { id: "deep-nesting-./src/io/walker.rs-68", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 68, message: "Deep nesting level: 5", context: Some(".unwrap_or(false)") }, DebtItem { id: "deep-nesting-./src/io/walker.rs-70", debt_type: CodeSmell, priority: Medium, file: "./src/io/walker.rs", line: 70, message: "Deep nesting level: 5", context: Some("return false;") }, DebtItem { id: "deep-nesting-./src/io/output.rs-165", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 165, message: "Deep nesting level: 5", context: Some("total_functions: 1,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-166", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 166, message: "Deep nesting level: 5", context: Some("average_complexity: 5.0,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-167", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 167, message: "Deep nesting level: 5", context: Some("max_complexity: 5,") }, DebtItem { id: "deep-nesting-./src/io/output.rs-168", debt_type: CodeSmell, priority: Medium, file: "./src/io/output.rs", line: 168, message: "Deep nesting level: 5", context: Some("high_complexity_count: 0,") }, DebtItem { id: "deep-nesting-./src/debt/coupling.rs-169", debt_type: CodeSmell, priority: Medium, file: "./src/debt/coupling.rs", line: 169, message: "Deep nesting level: 5", context: Some("Some(extract_module_from_import(&dep.name))") }, DebtItem { id: "deep-nesting-./src/debt/coupling.rs-171", debt_type: CodeSmell, priority: Medium, file: "./src/debt/coupling.rs", line: 171, message: "Deep nesting level: 5", context: Some("None") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-17", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 17, message: "Deep nesting level: 5", context: Some("let hash = calculate_hash(&chunk);") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-18", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 18, message: "Deep nesting level: 5", context: Some("let location = DuplicationLocation {") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-19", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 19, message: "Deep nesting level: 6", context: Some("file: path.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-20", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 20, message: "Deep nesting level: 6", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-21", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 21, message: "Deep nesting level: 6", context: Some("end_line: start_line + min_lines - 1,") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-22", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 22, message: "Deep nesting level: 5", context: Some("};") }, DebtItem { id: "deep-nesting-./src/debt/duplication.rs-23", debt_type: CodeSmell, priority: Medium, file: "./src/debt/duplication.rs", line: 23, message: "Deep nesting level: 5", context: Some("(hash, location)") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-32", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 32, message: "Deep nesting level: 5", context: Some("if ctx.is_suppressed(line_number, &debt_type) {") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-33", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 33, message: "Deep nesting level: 6", context: Some("return None;") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-34", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 34, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-38", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 38, message: "Deep nesting level: 5", context: Some("id: format!(\"{}-{}-{}\", debt_type, file.display(), line_number),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-39", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 39, message: "Deep nesting level: 5", context: Some("debt_type,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-40", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 40, message: "Deep nesting level: 5", context: Some("priority,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-41", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 41, message: "Deep nesting level: 5", context: Some("file: file.to_path_buf(),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-42", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 42, message: "Deep nesting level: 5", context: Some("line: line_number,") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-43", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 43, message: "Deep nesting level: 5", context: Some("message: format!(\"{marker}: {message}\"),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-44", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 44, message: "Deep nesting level: 5", context: Some("context: Some(line.trim().to_string()),") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-91", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 91, message: "Deep nesting level: 5", context: Some("return vec![];") }, DebtItem { id: "deep-nesting-./src/debt/patterns.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 204, message: "Deep nesting level: 5", context: Some("unique.push(item);") }, DebtItem { id: "smell-DeepNesting-./src/debt/patterns.rs-2", debt_type: CodeSmell, priority: Medium, file: "./src/debt/patterns.rs", line: 2, message: "Function 'find_todos_and_fixmes_with_suppression' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 214, message: "Deep nesting level: 5", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 215, message: "Deep nesting level: 5", context: Some("end_line: Some(end_line),") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 216, message: "Deep nesting level: 5", context: Some("debt_types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 217, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-225", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 225, message: "Deep nesting level: 5", context: Some("debt_types: types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-226", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 226, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-227", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 227, message: "Deep nesting level: 5", context: Some("applies_to_next_line: true,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-235", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 235, message: "Deep nesting level: 5", context: Some("debt_types: types,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-236", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 236, message: "Deep nesting level: 5", context: Some("reason,") }, DebtItem { id: "deep-nesting-./src/debt/suppression.rs-237", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 237, message: "Deep nesting level: 5", context: Some("applies_to_next_line: false,") }, DebtItem { id: "smell-LargeClass-./src/debt/suppression.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/debt/suppression.rs", line: 1, message: "Module has 445 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-56", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 56, message: "Deep nesting level: 5", context: Some("module,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-57", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 57, message: "Deep nesting level: 5", context: Some("&mut visited,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-58", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 58, message: "Deep nesting level: 5", context: Some("&mut rec_stack,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-59", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 59, message: "Deep nesting level: 5", context: Some("&mut path,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-60", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 60, message: "Deep nesting level: 5", context: Some("&mut circular_deps,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-83", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 83, message: "Deep nesting level: 5", context: Some("self.dfs_detect_cycles(dep, visited, rec_stack, path, cycles);") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-85", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 85, message: "Deep nesting level: 5", context: Some("// Found a cycle") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-86", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 86, message: "Deep nesting level: 5", context: Some("let cycle_start = path.iter().position(|m| m == dep).unwrap();") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-87", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 87, message: "Deep nesting level: 5", context: Some("let cycle = path[cycle_start..].to_vec();") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-88", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 88, message: "Deep nesting level: 5", context: Some("cycles.push(CircularDependency { cycle });") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-106", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 106, message: "Deep nesting level: 5", context: Some("module: module.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-107", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 107, message: "Deep nesting level: 5", context: Some("dependencies,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-108", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 108, message: "Deep nesting level: 5", context: Some("dependents,") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-140", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 140, message: "Deep nesting level: 5", context: Some(".then_some(other_module.clone())") }, DebtItem { id: "deep-nesting-./src/debt/circular.rs-178", debt_type: CodeSmell, priority: Medium, file: "./src/debt/circular.rs", line: 178, message: "Deep nesting level: 5", context: Some("graph.add_dependency(module_name.clone(), dep_module);") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-185", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 185, message: "Deep nesting level: 5", context: Some("\"Line has {other_calls} external method calls vs {self_calls} self calls\"") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-208", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 208, message: "Deep nesting level: 5", context: Some("smells.push(CodeSmell {") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-209", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 209, message: "Deep nesting level: 6", context: Some("smell_type: SmellType::DataClump,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-210", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 210, message: "Deep nesting level: 6", context: Some("location: functions[i].file.clone(),") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-211", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 211, message: "Deep nesting level: 6", context: Some("line: functions[i].line,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 212, message: "Deep nesting level: 6", context: Some("message: format!(") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 213, message: "Deep nesting level: 7", context: Some("\"Functions '{}' and '{}' may share data clumps\",") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 214, message: "Deep nesting level: 7", context: Some("functions[i].name, functions[j].name") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 215, message: "Deep nesting level: 6", context: Some("),") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 216, message: "Deep nesting level: 6", context: Some("severity: Priority::Low,") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 217, message: "Deep nesting level: 5", context: Some("});") }, DebtItem { id: "deep-nesting-./src/debt/smells.rs-218", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 218, message: "Deep nesting level: 5", context: Some("break; // Only report once per function") }, DebtItem { id: "smell-DeepNesting-./src/debt/smells.rs-9", debt_type: CodeSmell, priority: Medium, file: "./src/debt/smells.rs", line: 9, message: "Function 'detect_data_clumps' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/transformers/mod.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/transformers/mod.rs", line: 133, message: "Deep nesting level: 5", context: Some("item.context = Some(format!(\"Found in {}\", item.file.display()));") }, DebtItem { id: "deep-nesting-./src/main.rs-296", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 296, message: "Deep nesting level: 5", context: Some("risk::context::git_history::GitHistoryProvider::new(project_path.to_path_buf())") }, DebtItem { id: "deep-nesting-./src/main.rs-298", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 298, message: "Deep nesting level: 5", context: Some("aggregator = aggregator.with_provider(Box::new(provider));") }, DebtItem { id: "smell-LargeClass-./src/main.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/main.rs", line: 1, message: "Module has 553 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-155", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 155, message: "Deep nesting level: 5", context: Some("r if r <= 1.0 => 1.0,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-156", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 156, message: "Deep nesting level: 5", context: Some("r if r <= 2.0 => 1.2,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-157", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 157, message: "Deep nesting level: 5", context: Some("r if r <= 5.0 => 1.5,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-158", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 158, message: "Deep nesting level: 5", context: Some("r if r <= 10.0 => 2.0,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-159", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 159, message: "Deep nesting level: 5", context: Some("_ => 2.5,") }, DebtItem { id: "deep-nesting-./src/risk/strategy.rs-379", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 379, message: "Deep nesting level: 5", context: Some("&& Self::coverage_exceeds_threshold(coverage, *max_coverage)") }, DebtItem { id: "smell-LargeClass-./src/risk/strategy.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/strategy.rs", line: 1, message: "Module has 595 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 198, message: "Deep nesting level: 5", context: Some("\"Potentially affects {} dependent modules\",") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 199, message: "Deep nesting level: 5", context: Some("target.dependents.len()") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-203", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 203, message: "Deep nesting level: 5", context: Some("\"Affects {} dependent modules (depth: {})\",") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-204", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 204, message: "Deep nesting level: 5", context: Some("cascade.affected_modules.len(),") }, DebtItem { id: "deep-nesting-./src/risk/roi/mod.rs-205", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 205, message: "Deep nesting level: 5", context: Some("cascade.propagation_depth") }, DebtItem { id: "smell-LargeClass-./src/risk/roi/mod.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/mod.rs", line: 1, message: "Module has 311 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 112, message: "Deep nesting level: 5", context: Some("strength * edge_weight * self.propagation_decay.powi(depth as i32);") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-115", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 115, message: "Deep nesting level: 5", context: Some("source_risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-116", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 116, message: "Deep nesting level: 5", context: Some("dependent_node.risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-117", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 117, message: "Deep nesting level: 5", context: Some("propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 121, message: "Deep nesting level: 5", context: Some(".entry(dependent_id.clone())") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 122, message: "Deep nesting level: 5", context: Some(".and_modify(|m| {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 123, message: "Deep nesting level: 6", context: Some("if risk_reduction > m.risk_reduction {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 124, message: "Deep nesting level: 7", context: Some("m.risk_reduction = risk_reduction;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-125", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 125, message: "Deep nesting level: 7", context: Some("m.confidence = propagated_strength;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-126", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 126, message: "Deep nesting level: 7", context: Some("m.depth = depth + 1;") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 127, message: "Deep nesting level: 6", context: Some("}") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-128", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 128, message: "Deep nesting level: 5", context: Some("})") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-129", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 129, message: "Deep nesting level: 5", context: Some(".or_insert(AffectedModule {") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-130", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 130, message: "Deep nesting level: 6", context: Some("id: dependent_id.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 131, message: "Deep nesting level: 6", context: Some("risk_reduction,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 132, message: "Deep nesting level: 6", context: Some("confidence: propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 133, message: "Deep nesting level: 6", context: Some("depth: depth + 1,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 134, message: "Deep nesting level: 5", context: Some("});") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-137", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 137, message: "Deep nesting level: 5", context: Some("dependent_id,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-138", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 138, message: "Deep nesting level: 5", context: Some("propagated_strength,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-139", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 139, message: "Deep nesting level: 5", context: Some("visited,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-140", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 140, message: "Deep nesting level: 5", context: Some("module_impacts,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-141", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 141, message: "Deep nesting level: 5", context: Some("depth + 1,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-142", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 142, message: "Deep nesting level: 5", context: Some("graph,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-143", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 143, message: "Deep nesting level: 5", context: Some("source_risk,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-198", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 198, message: "Deep nesting level: 5", context: Some("cyclomatic_complexity: 10,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-199", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 199, message: "Deep nesting level: 5", context: Some("cognitive_complexity: 15,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-200", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 200, message: "Deep nesting level: 5", context: Some("functions: vec![],") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 212, message: "Deep nesting level: 5", context: Some("cyclomatic_complexity: 5,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 213, message: "Deep nesting level: 5", context: Some("cognitive_complexity: 7,") }, DebtItem { id: "deep-nesting-./src/risk/roi/cascade.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 214, message: "Deep nesting level: 5", context: Some("functions: vec![],") }, DebtItem { id: "smell-DeepNesting-./src/risk/roi/cascade.rs-8", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 8, message: "Function 'propagate_impact' has nesting depth of 5 (threshold: 4)", context: None }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 133, message: "Deep nesting level: 5", context: Some("&& outcome.context.complexity_level == target_context.complexity_level") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 134, message: "Deep nesting level: 5", context: Some("&& (outcome.context.initial_coverage - target_context.initial_coverage).abs()") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-135", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 135, message: "Deep nesting level: 6", context: Some("< 20.0") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-149", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 149, message: "Deep nesting level: 5", context: Some("o.actual.effort / o.prediction.effort") }, DebtItem { id: "deep-nesting-./src/risk/roi/learning.rs-151", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/learning.rs", line: 151, message: "Deep nesting level: 5", context: Some("1.0") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-131", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 131, message: "Deep nesting level: 5", context: Some("|| d.contains(\"net\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-132", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 132, message: "Deep nesting level: 5", context: Some("|| d.contains(\"fs\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-133", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 133, message: "Deep nesting level: 5", context: Some("|| d.contains(\"db\")") }, DebtItem { id: "deep-nesting-./src/risk/roi/effort.rs-134", debt_type: CodeSmell, priority: Medium, file: "./src/risk/roi/effort.rs", line: 134, message: "Deep nesting level: 5", context: Some("|| d.contains(\"http\")") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-111", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 111, message: "Deep nesting level: 5", context: Some("name: name.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-112", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 112, message: "Deep nesting level: 5", context: Some("start_line,") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 113, message: "Deep nesting level: 5", context: Some("execution_count,") }, DebtItem { id: "deep-nesting-./src/risk/lcov.rs-114", debt_type: CodeSmell, priority: Medium, file: "./src/risk/lcov.rs", line: 114, message: "Deep nesting level: 5", context: Some("coverage_percentage,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-99", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 99, message: "Deep nesting level: 5", context: Some("ModuleType::EntryPoint => 10.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-100", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 100, message: "Deep nesting level: 5", context: Some("ModuleType::Core => 8.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-101", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 101, message: "Deep nesting level: 5", context: Some("ModuleType::Api => 6.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-102", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 102, message: "Deep nesting level: 5", context: Some("ModuleType::Model => 4.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-103", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 103, message: "Deep nesting level: 5", context: Some("ModuleType::IO => 3.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-104", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 104, message: "Deep nesting level: 5", context: Some("ModuleType::Utility => 2.0,") }, DebtItem { id: "deep-nesting-./src/risk/priority.rs-105", debt_type: CodeSmell, priority: Medium, file: "./src/risk/priority.rs", line: 105, message: "Deep nesting level: 5", context: Some("_ => 1.0,") }, DebtItem { id: "smell-LargeClass-./src/risk/priority.rs-1", debt_type: CodeSmell, priority: High, file: "./src/risk/priority.rs", line: 1, message: "Module has 1077 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-168", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 168, message: "Deep nesting level: 5", context: Some("Ok(dt) => Ok(Some(dt.with_timezone(&Utc))),") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-169", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 169, message: "Deep nesting level: 5", context: Some("Err(_) => Ok(None),") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-212", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 212, message: "Deep nesting level: 5", context: Some("let now = Utc::now();") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-213", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 213, message: "Deep nesting level: 5", context: Some("let age = now.signed_duration_since(first_date.with_timezone(&Utc));") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-214", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 214, message: "Deep nesting level: 5", context: Some("return Ok(age.num_days().max(0) as u32);") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-305", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 305, message: "Deep nesting level: 5", context: Some("\"Highly unstable: {:.1} changes/month, {:.0}% bug fixes\",") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-306", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 306, message: "Deep nesting level: 5", context: Some("change_frequency,") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-307", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 307, message: "Deep nesting level: 5", context: Some("bug_density * 100.0") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-311", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 311, message: "Deep nesting level: 5", context: Some("\"Frequently changed: {change_frequency:.1} changes/month by {author_count} authors\"") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-315", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 315, message: "Deep nesting level: 5", context: Some("\"Bug-prone: {:.0}% of commits are bug fixes\",") }, DebtItem { id: "deep-nesting-./src/risk/context/git_history.rs-316", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 316, message: "Deep nesting level: 5", context: Some("bug_density * 100.0") }, DebtItem { id: "smell-LargeClass-./src/risk/context/git_history.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/git_history.rs", line: 1, message: "Module has 414 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-113", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 113, message: "Deep nesting level: 5", context: Some("entry_type,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-114", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 114, message: "Deep nesting level: 5", context: Some("EntryType::Main") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-115", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 115, message: "Deep nesting level: 6", context: Some("| EntryType::ApiEndpoint") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-116", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 116, message: "Deep nesting level: 6", context: Some("| EntryType::CliCommand") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-117", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 117, message: "Deep nesting level: 6", context: Some("| EntryType::WebHandler") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-121", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 121, message: "Deep nesting level: 5", context: Some("function_name: name.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-122", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 122, message: "Deep nesting level: 5", context: Some("file_path: path.clone(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-123", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 123, message: "Deep nesting level: 5", context: Some("entry_type,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 124, message: "Deep nesting level: 5", context: Some("is_user_facing,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-272", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 272, message: "Deep nesting level: 5", context: Some("entry_points: vec![],") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-273", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 273, message: "Deep nesting level: 5", context: Some("path_weight: 0.0,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-274", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 274, message: "Deep nesting level: 5", context: Some("is_user_facing: false,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-297", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 297, message: "Deep nesting level: 5", context: Some(".iter()") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-298", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 298, message: "Deep nesting level: 5", context: Some(".map(|e| format!(\"{} ({:?})\", e.function_name, e.entry_type))") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-299", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 299, message: "Deep nesting level: 5", context: Some(".collect(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-321", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 321, message: "Deep nesting level: 5", context: Some("\"On {} critical path(s) with weight {:.1}{}\",") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-322", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 322, message: "Deep nesting level: 5", context: Some("entry_points.len(),") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-323", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 323, message: "Deep nesting level: 5", context: Some("path_weight,") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-324", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 324, message: "Deep nesting level: 5", context: Some("if *is_user_facing {") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-325", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 325, message: "Deep nesting level: 6", context: Some("\" (user-facing)\"") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-326", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 326, message: "Deep nesting level: 5", context: Some("} else {") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-327", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 327, message: "Deep nesting level: 6", context: Some("\"\"") }, DebtItem { id: "deep-nesting-./src/risk/context/critical_path.rs-328", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 328, message: "Deep nesting level: 5", context: Some("}") }, DebtItem { id: "smell-LargeClass-./src/risk/context/critical_path.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 1, message: "Module has 410 lines (threshold: 300)", context: None }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-124", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 124, message: "Deep nesting level: 5", context: Some("context_map.add(provider.name().to_string(), context);") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-127", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 127, message: "Deep nesting level: 5", context: Some("log::debug!(\"Context provider {} failed: {}\", provider.name(), e);") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-215", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 215, message: "Deep nesting level: 5", context: Some("\"{}: +{:.1}\",") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-216", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 216, message: "Deep nesting level: 5", context: Some("context.provider,") }, DebtItem { id: "deep-nesting-./src/risk/context/mod.rs-217", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/mod.rs", line: 217, message: "Deep nesting level: 5", context: Some("context.contribution * context.weight") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-108", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 108, message: "Deep nesting level: 5", context: Some("new_scores.insert(module.name.clone(), propagated_risk);") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-109", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 109, message: "Deep nesting level: 5", context: Some("changed = true;") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-159", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 159, message: "Deep nesting level: 5", context: Some("to_visit.push_back(dep.from.clone());") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-260", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 260, message: "Deep nesting level: 5", context: Some("\"Critical dependency with blast radius {} affecting {} modules\",") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-261", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 261, message: "Deep nesting level: 5", context: Some("blast_radius,") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-262", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 262, message: "Deep nesting level: 5", context: Some("dependents.len()") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-266", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 266, message: "Deep nesting level: 5", context: Some("\"Important dependency with {} dependents (risk: {:.1})\",") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-267", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 267, message: "Deep nesting level: 5", context: Some("dependents.len(),") }, DebtItem { id: "deep-nesting-./src/risk/context/dependency.rs-268", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 268, message: "Deep nesting level: 5", context: Some("propagated_risk") }, DebtItem { id: "smell-LargeClass-./src/risk/context/dependency.rs-1", debt_type: CodeSmell, priority: Medium, file: "./src/risk/context/dependency.rs", line: 1, message: "Module has 407 lines (threshold: 300)", context: None }, DebtItem { id: "long-line-./src/risk/insights.rs-52", debt_type: CodeSmell, priority: Low, file: "./src/risk/insights.rs", line: 52, message: "Line exceeds 120 characters (209)", context: None }, DebtItem { id: "long-line-./src/risk/insights.rs-93", debt_type: CodeSmell, priority: Low, file: "./src/risk/insights.rs", line: 93, message: "Line exceeds 120 characters (200)", context: None }], Todo: [DebtItem { id: "TODO-./tests/suppression_tests.rs-11", debt_type: Todo, priority: Medium, file: "./tests/suppression_tests.rs", line: 11, message: "TODO: This should not be suppressed", context: Some("// TODO: This should not be suppressed") }, DebtItem { id: "TODO-./tests/suppression_tests.rs-51", debt_type: Todo, priority: Medium, file: "./tests/suppression_tests.rs", line: 51, message: "TODO: This should not be suppressed", context: Some("// TODO: This should not be suppressed") }, DebtItem { id: "TODO-./src/io/output.rs-145", debt_type: Todo, priority: Medium, file: "./src/io/output.rs", line: 145, message: "TODO: Implement feature\".to_string(),", context: Some("message: \"TODO: Implement feature\".to_string(),") }, DebtItem { id: "TODO-./src/io/output.rs-193", debt_type: Todo, priority: Medium, file: "./src/io/output.rs", line: 193, message: "TODO: Implement feature\"));", context: Some("assert!(output.contains(\"TODO: Implement feature\"));") }, DebtItem { id: "TODO-./src/debt/suppression.rs-409", debt_type: Todo, priority: Medium, file: "./src/debt/suppression.rs", line: 409, message: "TODO: In unclosed block\\n\"", context: Some("\"// debtmap:\", \"ignore-start\\n\", \"// TODO: In unclosed block\\n\"") }, DebtItem { id: "TODO-./src/debt/suppression.rs-436", debt_type: Todo, priority: Medium, file: "./src/debt/suppression.rs", line: 436, message: "TODO: Test // debtmap:ignore[*]\";", context: Some("let content = \"// TODO: Test // debtmap:ignore[*]\";") }], Complexity: [DebtItem { id: "complexity-./src/analyzers/javascript/complexity.rs-5", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/complexity.rs", line: 5, message: "Function 'get_function_name' has high complexity (cyclomatic: 1, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/analyzers/javascript/complexity.rs-10", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/complexity.rs", line: 10, message: "Function 'get_arrow_function_name' has high complexity (cyclomatic: 2, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/analyzers/javascript/mod.rs-21", debt_type: Complexity, priority: Medium, file: "./src/analyzers/javascript/mod.rs", line: 21, message: "Function 'analyze' has high complexity (cyclomatic: 3, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/analyzers/python.rs-28", debt_type: Complexity, priority: Medium, file: "./src/analyzers/python.rs", line: 28, message: "Function 'count_branches_stmt' has high complexity (cyclomatic: 9, cognitive: 26)", context: None }, DebtItem { id: "complexity-./src/analyzers/python.rs-43", debt_type: Complexity, priority: Medium, file: "./src/analyzers/python.rs", line: 43, message: "Function 'extract_stmt_dependencies' has high complexity (cyclomatic: 3, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/core/ast.rs-4", debt_type: Complexity, priority: Medium, file: "./src/core/ast.rs", line: 4, message: "Function 'extract_nodes' has high complexity (cyclomatic: 1, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/complexity/patterns.rs-13", debt_type: Complexity, priority: Medium, file: "./src/complexity/patterns.rs", line: 13, message: "Function 'visit_expr' has high complexity (cyclomatic: 20, cognitive: 41)", context: None }, DebtItem { id: "complexity-./src/complexity/python_patterns.rs-5", debt_type: Complexity, priority: High, file: "./src/complexity/python_patterns.rs", line: 5, message: "Function 'analyze_stmt' has high complexity (cyclomatic: 21, cognitive: 32)", context: None }, DebtItem { id: "complexity-./src/complexity/python_patterns.rs-7", debt_type: Complexity, priority: Medium, file: "./src/complexity/python_patterns.rs", line: 7, message: "Function 'analyze_expr' has high complexity (cyclomatic: 15, cognitive: 25)", context: None }, DebtItem { id: "complexity-./src/complexity/cyclomatic.rs-2", debt_type: Complexity, priority: Medium, file: "./src/complexity/cyclomatic.rs", line: 2, message: "Function 'calculate_expr_complexity' has high complexity (cyclomatic: 8, cognitive: 11)", context: None }, DebtItem { id: "complexity-./src/io/walker.rs-5", debt_type: Complexity, priority: Medium, file: "./src/io/walker.rs", line: 5, message: "Function 'should_process' has high complexity (cyclomatic: 6, cognitive: 11)", context: None }, DebtItem { id: "complexity-./src/debt/coupling.rs-10", debt_type: Complexity, priority: Medium, file: "./src/debt/coupling.rs", line: 10, message: "Function 'build_module_dependency_map' has high complexity (cyclomatic: 6, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/debt/duplication.rs-1", debt_type: Complexity, priority: Medium, file: "./src/debt/duplication.rs", line: 1, message: "Function 'detect_duplication' has high complexity (cyclomatic: 1, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/debt/patterns.rs-16", debt_type: Complexity, priority: Medium, file: "./src/debt/patterns.rs", line: 16, message: "Function 'detect_duplicate_strings' has high complexity (cyclomatic: 1, cognitive: 19)", context: None }, DebtItem { id: "complexity-./src/debt/suppression.rs-12", debt_type: Complexity, priority: Medium, file: "./src/debt/suppression.rs", line: 12, message: "Function 'get_stats' has high complexity (cyclomatic: 2, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/debt/suppression.rs-20", debt_type: Complexity, priority: Medium, file: "./src/debt/suppression.rs", line: 20, message: "Function 'parse_line' has high complexity (cyclomatic: 5, cognitive: 28)", context: None }, DebtItem { id: "complexity-./src/debt/circular.rs-8", debt_type: Complexity, priority: Medium, file: "./src/debt/circular.rs", line: 8, message: "Function 'dfs_detect_cycles' has high complexity (cyclomatic: 6, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/debt/circular.rs-24", debt_type: Complexity, priority: Medium, file: "./src/debt/circular.rs", line: 24, message: "Function 'analyze_module_dependencies' has high complexity (cyclomatic: 1, cognitive: 11)", context: None }, DebtItem { id: "complexity-./src/debt/smells.rs-9", debt_type: Complexity, priority: Medium, file: "./src/debt/smells.rs", line: 9, message: "Function 'detect_data_clumps' has high complexity (cyclomatic: 5, cognitive: 11)", context: None }, DebtItem { id: "complexity-./src/main.rs-17", debt_type: Complexity, priority: Medium, file: "./src/main.rs", line: 17, message: "Function 'build_context_aggregator' has high complexity (cyclomatic: 10, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/risk/strategy.rs-17", debt_type: Complexity, priority: Medium, file: "./src/risk/strategy.rs", line: 17, message: "Function 'categorize_risk' has high complexity (cyclomatic: 10, cognitive: 16)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-2", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 2, message: "Function 'project_coverage_increase' has high complexity (cyclomatic: 9, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-3", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 3, message: "Function 'calculate_confidence' has high complexity (cyclomatic: 11, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/roi/reduction.rs-4", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/reduction.rs", line: 4, message: "Function 'calculate' has high complexity (cyclomatic: 17, cognitive: 34)", context: None }, DebtItem { id: "complexity-./src/risk/roi/mod.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/mod.rs", line: 7, message: "Function 'calculate_confidence' has high complexity (cyclomatic: 9, cognitive: 11)", context: None }, DebtItem { id: "complexity-./src/risk/roi/cascade.rs-8", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/cascade.rs", line: 8, message: "Function 'propagate_impact' has high complexity (cyclomatic: 6, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-6", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 6, message: "Function 'estimate_setup_effort' has high complexity (cyclomatic: 9, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 7, message: "Function 'estimate_mocking_effort' has high complexity (cyclomatic: 9, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/risk/roi/effort.rs-9", debt_type: Complexity, priority: Medium, file: "./src/risk/roi/effort.rs", line: 9, message: "Function 'estimate_understanding_effort' has high complexity (cyclomatic: 11, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-7", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 7, message: "Function 'process' has high complexity (cyclomatic: 9, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-28", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 28, message: "Function 'pattern_match_score' has high complexity (cyclomatic: 6, cognitive: 13)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-45", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 45, message: "Function 'determine_module_type' has high complexity (cyclomatic: 15, cognitive: 48)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-52", debt_type: Complexity, priority: Medium, file: "./src/risk/priority.rs", line: 52, message: "Function 'infer_module_relationships' has high complexity (cyclomatic: 11, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/priority.rs-55", debt_type: Complexity, priority: High, file: "./src/risk/priority.rs", line: 55, message: "Function '_generate_enhanced_rationale' has high complexity (cyclomatic: 21, cognitive: 30)", context: None }, DebtItem { id: "complexity-./src/risk/context/git_history.rs-15", debt_type: Complexity, priority: Medium, file: "./src/risk/context/git_history.rs", line: 15, message: "Function 'gather' has high complexity (cyclomatic: 11, cognitive: 16)", context: None }, DebtItem { id: "complexity-./src/risk/context/git_history.rs-17", debt_type: Complexity, priority: Medium, file: "./src/risk/context/git_history.rs", line: 17, message: "Function 'explain' has high complexity (cyclomatic: 11, cognitive: 24)", context: None }, DebtItem { id: "complexity-./src/risk/context/critical_path.rs-13", debt_type: Complexity, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 13, message: "Function 'classify_entry_point' has high complexity (cyclomatic: 7, cognitive: 25)", context: None }, DebtItem { id: "complexity-./src/risk/context/critical_path.rs-25", debt_type: Complexity, priority: Medium, file: "./src/risk/context/critical_path.rs", line: 25, message: "Function 'gather' has high complexity (cyclomatic: 4, cognitive: 12)", context: None }, DebtItem { id: "complexity-./src/risk/context/dependency.rs-20", debt_type: Complexity, priority: Medium, file: "./src/risk/context/dependency.rs", line: 20, message: "Function 'gather' has high complexity (cyclomatic: 9, cognitive: 17)", context: None }, DebtItem { id: "complexity-./src/risk/context/dependency.rs-23", debt_type: Complexity, priority: Medium, file: "./src/risk/context/dependency.rs", line: 23, message: "Function 'explain' has high complexity (cyclomatic: 9, cognitive: 16)", context: None }, DebtItem { id: "complexity-./src/risk/correlation.rs-1", debt_type: Complexity, priority: Medium, file: "./src/risk/correlation.rs", line: 1, message: "Function 'calculate_complexity_coverage_correlation' has high complexity (cyclomatic: 4, cognitive: 14)", context: None }, DebtItem { id: "complexity-./src/risk/insights.rs-6", debt_type: Complexity, priority: Medium, file: "./src/risk/insights.rs", line: 6, message: "Function 'format_actionable_insights' has high complexity (cyclomatic: 10, cognitive: 22)", context: None }]}, priorities: [High, High, High, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Medium, Low, Low, Low, Low, Low, Low, Low, Low, Low, Low], duplications: [DuplicationBlock { hash: "e5760cd204fd559e4d1067fc79831532274605237d55c598e8b4d74d9a30d1ec", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 113, end_line: 162 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 114, end_line: 163 }] }, DuplicationBlock { hash: "be2bd7a98ad273f3ec47801d3b9e01df2da111e2cf717e9d70b9b83622c69259", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 87, end_line: 136 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 88, end_line: 137 }] }, DuplicationBlock { hash: "d10d87d782f28b7bd326f3d556ea41b5b72082508291640dff7a94651ecd748b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./src/main.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "33078724ba13de9e6380d773074311b48b3d600266976912866c3965501a9ca7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "29cdd365564b0548a67435d9eba229e0ccbb17efe23525e44df609b223f02d99", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 361, end_line: 410 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 362, end_line: 411 }] }, DuplicationBlock { hash: "98c02c7ab82fc16293cacbdf8ad49d288d818c5f7b534d1dd590df6262dae5ba", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 353, end_line: 402 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 354, end_line: 403 }] }, DuplicationBlock { hash: "52cb1397062647fbe0130e49f6a15af20c0edd374b705fe6c031d642232f59fc", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 319, end_line: 368 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 320, end_line: 369 }] }, DuplicationBlock { hash: "2e1faa23ddcaf6869175ca82072b701b2d9394861eee7f3feb1ae0ac324f4d83", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "0906fce575344c5aeba2e2e0e9003309e04fafab93c18fd985aa5c154118faa1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 581, end_line: 630 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 582, end_line: 631 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 583, end_line: 632 }] }, DuplicationBlock { hash: "d83a4f402033da843769cbb23575fced437b36d70c60365e8aebd17b529c4ab6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 371, end_line: 420 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 372, end_line: 421 }] }, DuplicationBlock { hash: "27f646ff5b0b5d6324bc1aedb92cb7694f3205a9bf4d236925fa0c8783a2358a", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 231, end_line: 280 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 232, end_line: 281 }] }, DuplicationBlock { hash: "569589a497393231f623945c83575ea9f0756d921b434fb864c2079916983a81", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "59d465736e963fdcd941e4cd7ce572188c406d3127e777b9bcea86342b105d7a", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 167, end_line: 216 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 168, end_line: 217 }] }, DuplicationBlock { hash: "48e64b648e0b143ccbf87e874632ff98272221c51bdd1885795fa70fba60b523", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 311, end_line: 360 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 312, end_line: 361 }] }, DuplicationBlock { hash: "f7fb833516bb635e1b19d5b6671e5967f5236b400022965bf1a7e5abcf507664", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "319a67f52df74220dd4ee822bd9ca05245a54b8609d14bd403f7b6b122bd6727", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 102, end_line: 151 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 103, end_line: 152 }] }, DuplicationBlock { hash: "fb3ab8f01bc79cb2bac638c760674f6b317e60e4ee7a39ba6c6b6d877748f6f9", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 201, end_line: 250 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 202, end_line: 251 }] }, DuplicationBlock { hash: "835e9d9b6b1a8449f23cbd03425f26180bebef29dbaa1e22c85ed7167c219f40", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 554, end_line: 603 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 555, end_line: 604 }] }, DuplicationBlock { hash: "f2ec550a02ffe2baabe4aa792bc6fae357c20fe82f9e2e767ea3cded59216e5a", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 18, end_line: 67 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 19, end_line: 68 }] }, DuplicationBlock { hash: "d1ccd35147d1461863170eea3491f3e44250006b86273b68a9475ed2f6fa8b36", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "33c38a8a2f58fbabc96d87a51563b225aa20865ac5e7bdd48e985197cedcd418", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "8470cae8fb8c87a80b9c22c42e9c2816084e0d1d7ba9b1f3cebdf84065a053bd", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "a51d4f048083d7cad99530836d67c6a061c00655942b59d24480a1e8edf2407e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 328, end_line: 377 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 329, end_line: 378 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 330, end_line: 379 }] }, DuplicationBlock { hash: "f60c80cc050f5a40890e45571e2a79e6a5633292c142e984e28c96e4648ff2fe", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 180, end_line: 229 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 181, end_line: 230 }] }, DuplicationBlock { hash: "0041abeba144a7fc8caee6442ca494b2a79320bef90f5302b8cd8d3386a13cce", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 407, end_line: 456 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 408, end_line: 457 }] }, DuplicationBlock { hash: "832c184cf3807c182c214423b1e5b5ff608bcb2edb173bf456c22eeacc4863cd", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "cebc8bd5acf9bc2598f67e1b3a37746fa319fbb45cfa8697fa74bd740fe72827", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 480, end_line: 529 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 481, end_line: 530 }] }, DuplicationBlock { hash: "ebade17eae06eeeaa8099ecb4499d8f935c204dbfb64eb4842cf13c576aea54f", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 80, end_line: 129 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 81, end_line: 130 }] }, DuplicationBlock { hash: "d2f45acd296316d6e5a35f3f4c052b16ad539da51f2305ba3d58a8248cbec9b8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 338, end_line: 387 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 339, end_line: 388 }] }, DuplicationBlock { hash: "d5adcaff1e6e335e144cb5d38565d91aaed1a8a22e3b176cb35611b36662a2fa", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "d93cfc6da2762aa97263ee640c6439db3fa1a3e402761be9b82fe51bcc423cfd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "e5208dd06d3222584c93d3e871ecc8efa7d43f1f80b897460b6d26204439767a", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "bcbb5823a5da1151e098713bc26a704066250eed993dbe1a34abfaaba1efde60", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 190, end_line: 239 }, DuplicationLocation { file: "./src/main.rs", start_line: 191, end_line: 240 }] }, DuplicationBlock { hash: "cdcafaa1d3ef250a86a96e7c90ef671df08ab54e97e0aa0de8a5adf231df0a56", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 101, end_line: 150 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 102, end_line: 151 }] }, DuplicationBlock { hash: "e415ff951de041d83431e8769440ff8870b06a1681386ce96381495635076aa0", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "456435efa6f9b314ccb78ac3e651962990a92f6abbfe8bc3718307a1c2d02e97", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 166, end_line: 215 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 167, end_line: 216 }] }, DuplicationBlock { hash: "da8978ee755aa5f872c84770f8b18165f9546554ac3514fbe0a5f9235d578ee8", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 254, end_line: 303 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 255, end_line: 304 }] }, DuplicationBlock { hash: "3a934c821472ad4271a6fa8ed248324a9b077893a2293329e697b3ee83d2e8b6", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 110, end_line: 159 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 111, end_line: 160 }] }, DuplicationBlock { hash: "b067813ce343df50f14ae8a6d7aca501fb830ee2dd00c2dd322efac6af199825", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "0be8f4a4af424dd74e54a944d225af3f2ac1e39deaa1c79da8106200026873b7", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 226, end_line: 275 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 227, end_line: 276 }] }, DuplicationBlock { hash: "9b30fa40fe338f1ea14a565e8fa8dafd835f6c242d6b8c54892415295127ab68", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "586f8a330edec08968dcc2bd11d732742c7ab0318553a5c20ab189c7355803a4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "c4d68bc92ca5945d911a696a370639543757e952b43f69649c2984020a3dc76d", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 145, end_line: 194 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 146, end_line: 195 }] }, DuplicationBlock { hash: "eced40cffadf38bc2e740963f070d0df710aec0f9427ed72c9e11783b24bf4ca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 290, end_line: 339 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 291, end_line: 340 }] }, DuplicationBlock { hash: "9a289e3517d2866a1387af94c0a1b90b3d62b01c88e5752b5b2ab482092f93eb", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "ec0a7af726ada7d41332bd5d218ed96cc35cec4a2a2d327bdc8272b379c09a2e", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 47, end_line: 96 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 48, end_line: 97 }] }, DuplicationBlock { hash: "d0183371fef793a4beb9121fb27fc4724b7405872c8afea1e98f9d5eb6b67f6a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 357, end_line: 406 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 358, end_line: 407 }] }, DuplicationBlock { hash: "16b3150621b983b3f2c99e5a09cd80b87abb8b4e04b4d44130aefebde15d2229", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 273, end_line: 322 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 274, end_line: 323 }] }, DuplicationBlock { hash: "287642f0a75942a9a5e831cb33b0192f6a0c8342e853a05a059255c7db465b65", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/main.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "7b2314cfdef226e1a1d3dd6a016a6bc85a8fe20197c0c73b003341cf1a83ca61", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./src/cli.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/cli.rs", start_line: 7, end_line: 56 }, DuplicationLocation { file: "./src/cli.rs", start_line: 8, end_line: 57 }] }, DuplicationBlock { hash: "d88718af8d320b8b3c7a93f9a910ab19c0c3f788d44c50b6df9d40180dc66d43", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 308, end_line: 357 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 309, end_line: 358 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 310, end_line: 359 }] }, DuplicationBlock { hash: "c524382a5ed40bb73751d9309138931f7b969911533f052d72a057443ec810cc", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 73, end_line: 122 }] }, DuplicationBlock { hash: "2abc301bdbaa3fa236646b66039f330d59046ff260a0624834d2af0e34dbf650", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 63, end_line: 112 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 64, end_line: 113 }] }, DuplicationBlock { hash: "5cf3b97d6d1997270feafc2759d4eb7ed960ce3373dbb517ae7f1ad4b2395bdd", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 25, end_line: 74 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 26, end_line: 75 }] }, DuplicationBlock { hash: "019ca2d2666c36de65f02bbe07fbab2b6ded45744e72db89d0af722f06c71101", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/cognitive.rs", start_line: 10, end_line: 59 }, DuplicationLocation { file: "./src/complexity/cognitive.rs", start_line: 11, end_line: 60 }] }, DuplicationBlock { hash: "da8bcf03443dcee33c6bebfc4b4aa61c377c4800024354562996204c5229fe36", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 420, end_line: 469 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 421, end_line: 470 }] }, DuplicationBlock { hash: "0067f73be0e00e277b788e9d881bcd8c48c9b028a7f2ce7bb90e3e9278af8d19", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 76, end_line: 125 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 77, end_line: 126 }] }, DuplicationBlock { hash: "b70a25454f44726224fcb10b1f301006c9c82238d12e64addb909e579601cb63", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 244, end_line: 293 }, DuplicationLocation { file: "./src/main.rs", start_line: 245, end_line: 294 }] }, DuplicationBlock { hash: "084f043f6376ed11fbaacc3f55177fe1b06bf1e0198c5f3df7e05470c4f570d6", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 62, end_line: 111 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 63, end_line: 112 }] }, DuplicationBlock { hash: "cf19d36358d4f8459e8ae74fbebba200a9b9b5d0b9f845ab13b04f5093946573", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 224, end_line: 273 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 225, end_line: 274 }] }, DuplicationBlock { hash: "1425ff162b724c7eca0e40510d309a9cd578effacfbcb9aebd4a6a8bcb33c63f", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 90, end_line: 139 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 91, end_line: 140 }] }, DuplicationBlock { hash: "93055ba834279ee1f831e05a2874ba0e0416c5030a8e1db410145eac3a91438c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 832, end_line: 881 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 833, end_line: 882 }] }, DuplicationBlock { hash: "2e68812209ca864f8f5de53f58362f2f760294fe1bf2f1d17a68eef2b92ebded", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "92348feefcd51ad39cc8ebc94facedfb6acf6f63619fed0c20d4ee16a627a1e9", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "cbb8439f46ed9b10644c1a9ede0bde58bff328e38cedbb65538ecacb4b473975", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "3de5cf20b3cfd2765b9913c286cd8e8ffb60b82a15f4f2adf52d96d5fe7b3af3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 88, end_line: 137 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 89, end_line: 138 }] }, DuplicationBlock { hash: "ca9029dfc065df651accd6d77b12c4c4f3cbb13b964b5291e464568515eb6d54", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "f34c4099dcd12f33220091a41dca7739bc8be7621160ea8129eab540bc8e87ba", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 249, end_line: 298 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 250, end_line: 299 }] }, DuplicationBlock { hash: "f24168b60582a57832b117651d4d26ffe5dd2e412c4cc78f59e09a8ce4b62033", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 122, end_line: 171 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 123, end_line: 172 }] }, DuplicationBlock { hash: "72efaf7f69405a123955451b46938b2b86c9d08c7f35ef3f081a6c839206f24b", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 314, end_line: 363 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 315, end_line: 364 }] }, DuplicationBlock { hash: "1ec75f0dfc3be9221980c5301cdee8cff4386127b957f5efd947b688de215f00", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 50, end_line: 99 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 51, end_line: 100 }] }, DuplicationBlock { hash: "18c581f1bb4eaf60bbcc2a2bae2d9d8af4044cea246ae17e57f1deeab9f31fcf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 179, end_line: 228 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 180, end_line: 229 }] }, DuplicationBlock { hash: "f1d0e3d5ca3d5ef7f92657304d4139edccdcdc96e9c69b2c3f51fb5aaa63308b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 82, end_line: 131 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 83, end_line: 132 }] }, DuplicationBlock { hash: "71482ed2bd6813fc102e0aae04d5d13a4e23b9e3da1768fdc5bde8c6102c0efd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 181, end_line: 230 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 182, end_line: 231 }] }, DuplicationBlock { hash: "49a03b204cb6c9e51079d0843aed8af56a25f4431d2b92cae9e18b2f5b8861ee", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 411, end_line: 460 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 412, end_line: 461 }] }, DuplicationBlock { hash: "df4bca2d1c570c5445a989c05898269c220ccd4ea4ac586d0a9c665546d67b1f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 489, end_line: 538 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 490, end_line: 539 }] }, DuplicationBlock { hash: "051284550a89dce0d2942ce96108a3b8cc60aa9d969b471a9608a66bdc14b5a4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 345, end_line: 394 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 346, end_line: 395 }] }, DuplicationBlock { hash: "1a77a479623d3097646384057abcb82cadedcb35d1d2198af1165e22afb9d086", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 235, end_line: 284 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 236, end_line: 285 }] }, DuplicationBlock { hash: "9b60012c68eb63c4d1adc6301c4ba0376682a4a139a30fd5792b70ace8d43402", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 324, end_line: 373 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 325, end_line: 374 }] }, DuplicationBlock { hash: "29b6a76693e76da71b34a25c0f690dc554d54daf0e28d36c4a61cdba6c0d768a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 238, end_line: 287 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 239, end_line: 288 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 240, end_line: 289 }] }, DuplicationBlock { hash: "26c2c266a4dafbe3f7e450674d0522f0f691ab03f7424bfdeb7fb3b881257185", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "dfa8eb62338022b0a2758715afd92d06587427463a3ea4c448443a231cec7209", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 174, end_line: 223 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 175, end_line: 224 }] }, DuplicationBlock { hash: "264e3bd67ab03fe554ca366d81a5647e73e680f3fedc9fc5449b0daaced400dd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 121, end_line: 170 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 122, end_line: 171 }] }, DuplicationBlock { hash: "fd4563f09b1cff6aa6d604e74c38e08495b618b37d381ec7c66f75cb6fac7057", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 273, end_line: 322 }, DuplicationLocation { file: "./src/main.rs", start_line: 274, end_line: 323 }] }, DuplicationBlock { hash: "33730cc312940438768dc07566ebf15172365cf7939f21ead570c8573cdb5c17", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 89, end_line: 138 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 90, end_line: 139 }] }, DuplicationBlock { hash: "9b540bb1d98a540d717495418639e5bc12d1d229dfc149c115c1fbf10f974ec9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "408f74b12489123d7ff0e92a8af411258efdd97be0aa70324cb70e41ce3790a8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "a0b4727194965cd37ae8c310e6feb21be4a8b24e04a985ab57d769472e78809d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "630671283eb6c5f5453d71c0b6467eb9af4d497dffad45002c92126d3576694c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 61, end_line: 110 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 62, end_line: 111 }] }, DuplicationBlock { hash: "c0b2d3b9a083dc82de05c4bcf98a34f7d592badf5b2dc37c7fb64b9898a66a6f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 106, end_line: 155 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 107, end_line: 156 }] }, DuplicationBlock { hash: "c14a1be95a65372d931c73bbf23bc966981a199a579b8a0e6ea06ed9654abac4", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 2, end_line: 51 }, DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 3, end_line: 52 }] }, DuplicationBlock { hash: "12316ac9111ee010b94043f59e7859183d51afb64e59fec9a12498c5d715b9c6", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 104, end_line: 153 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 105, end_line: 154 }] }, DuplicationBlock { hash: "9a230f208c15c4b0d4fa56beb76c5a386111cd73eabad39b7f69bfcdab63b3c5", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "9c50659dc11741b4f25a4f495e0d4876e59a3ddb6378441dae7a85cd08ef7718", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 321, end_line: 370 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 322, end_line: 371 }] }, DuplicationBlock { hash: "91e3bca1203a5b33910aeb20d08fb4e8d468a7ac7ba11135cb246d50a393bbec", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./src/cli.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "ca9016bd8a157af3ad6ee871c5dea2630b862a7edf2bac59736635f5c4576b61", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 164, end_line: 213 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 165, end_line: 214 }] }, DuplicationBlock { hash: "0426e2980130641d493f6ebaaae574cd87f7ca2b54263945ce2127e476e3d4f4", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 155, end_line: 204 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 156, end_line: 205 }] }, DuplicationBlock { hash: "f5b57f114b46a5bd070f7c13abddb9b956727b8d7b3a50118c5ef4bdfdddfce8", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 153, end_line: 202 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 154, end_line: 203 }] }, DuplicationBlock { hash: "be882a53912b781b64781b8eaf579505d06d8ce94a6998e878abe1871f053b92", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 4, end_line: 53 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 5, end_line: 54 }] }, DuplicationBlock { hash: "889298ad9749e3e40bc8d5992b8f0dc7c67102b1a367a79f060aad5da3a65eec", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 404, end_line: 453 }, DuplicationLocation { file: "./src/main.rs", start_line: 405, end_line: 454 }] }, DuplicationBlock { hash: "4fafc97888b5743cb0b73f7b062b10200bfbdabe63222e3258b8e4c6b414797d", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 50, end_line: 99 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 51, end_line: 100 }] }, DuplicationBlock { hash: "1c417fa21f96e5098b72bb01a6cde5fc1472ce79c534e1e49c1e680f8cefcc18", lines: 50, locations: [DuplicationLocation { file: "./src/debt/duplication.rs", start_line: 33, end_line: 82 }, DuplicationLocation { file: "./src/debt/duplication.rs", start_line: 34, end_line: 83 }] }, DuplicationBlock { hash: "8eae70f33a0e09d99a5d3296f63214a9c7ac357dcd60a6b013633d1f7ed87d8e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 99, end_line: 148 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 100, end_line: 149 }] }, DuplicationBlock { hash: "8d1ca5a80e2ad8138d90cf8b1b5a1e39f88c6b51939660237e5c22b89734b547", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 256, end_line: 305 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 257, end_line: 306 }] }, DuplicationBlock { hash: "0a00e53cd8fd712fd7a03e26072c24515859eb82d5979ca6002d0c86b578c0ad", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 882, end_line: 931 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 883, end_line: 932 }] }, DuplicationBlock { hash: "a41443d59867c111e1e4b04766f5f93bff3c8fed80df629c1d3ad845e1ea8ecd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 348, end_line: 397 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 349, end_line: 398 }] }, DuplicationBlock { hash: "738e538e44d5dec716ae5c464a3d0ba9242718f4c667da7e1166efac90a3a9d0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 156, end_line: 205 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 157, end_line: 206 }] }, DuplicationBlock { hash: "467ff1f354b45ed4b043a77a5d6162a9f348b27f882a9bafb0014f33c8c58750", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 294, end_line: 343 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 295, end_line: 344 }] }, DuplicationBlock { hash: "620bb107fcdbfffc927a4eade9be89577ff9a2740b237378d1390185cde561b1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 999, end_line: 1048 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 1000, end_line: 1049 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 1001, end_line: 1050 }] }, DuplicationBlock { hash: "1c7e1152310393a77ae10aa294af2178f8b160d74e3b28e2f1b7bc3938a066fd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 89, end_line: 138 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 90, end_line: 139 }] }, DuplicationBlock { hash: "9652cc14bd49b5cb984f02279e15238d71b7a44ef8da82afb9fc9deb459ebfe0", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 204, end_line: 253 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 205, end_line: 254 }] }, DuplicationBlock { hash: "e7b1a4d718f7067810e5c3d285578862db20efaf1ab8933531ce97408b1d1b18", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "eb5c23c7b1260fb74434bdb6fa05481597cfba33d28987e6d10c87823ce63be0", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 110, end_line: 159 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 111, end_line: 160 }] }, DuplicationBlock { hash: "0eafaaf486c53260c94e7f8f1bdb74bb976ce68f2c0124fbdee917fcf607e293", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "677f1c9059255b6408edf4b5f09eb3e74d4a2370a93dc6711a04a251592484f1", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 146, end_line: 195 }, DuplicationLocation { file: "./src/cli.rs", start_line: 147, end_line: 196 }] }, DuplicationBlock { hash: "d97e8d5b33606a5d47b2ab6485589f197b15675993b115999ef4ddb647a69c2e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "76037990e227e27966344fe43652c3a0e0c4eb7f28ccaef35b52e2ba6a2c59f5", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 302, end_line: 351 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 303, end_line: 352 }] }, DuplicationBlock { hash: "7b11cba7ad7466590797d24e480951212844c0702b2b850d7e091ca56cbdf6a3", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 168, end_line: 217 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 169, end_line: 218 }] }, DuplicationBlock { hash: "5eab500440e0c708f642a41c7896b7bcdc931010c6af75cd1b7843641055d061", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 264, end_line: 313 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 265, end_line: 314 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 266, end_line: 315 }] }, DuplicationBlock { hash: "0f968b2a666709affadb0c9430028e8f94d87641f1bb1a26a03c8f45bebace27", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "08d1753d654eda576de7b6037502be41788445e25053129c13763fe88052829e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 358, end_line: 407 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 359, end_line: 408 }] }, DuplicationBlock { hash: "99e461aa4bcb374d5a5b08fd7152d0b1842f25d5e79b517448d70f3824e9eb95", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "43e153850dd731ed1bfe6e87cf8681efd2321dcf18a4bc25f0fd6923f68c5d5b", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 42, end_line: 91 }] }, DuplicationBlock { hash: "71f34d92166c72c64e7136a5f32578d19075a6abde3514b162b7063e3e889e31", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 43, end_line: 92 }, DuplicationLocation { file: "./src/cli.rs", start_line: 44, end_line: 93 }] }, DuplicationBlock { hash: "6b4f933bcac2815934e0ad5de61bd91ea69789c7ca537b27fe704e72490616d1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 519, end_line: 568 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 520, end_line: 569 }] }, DuplicationBlock { hash: "ac6147eddd52169f2107641d3dca8c1614abea2bd9e6b74828c02b7b8ac29412", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "fbffa4c71835158ded38967c518d46fd0c451f3a74a193b84dece4eb7a02e3ef", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 44, end_line: 93 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 45, end_line: 94 }] }, DuplicationBlock { hash: "6af3cf8c9852cb3826b7637b9d2380c7fe93c25e18b7a0462ef4974ea589b8d3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 91, end_line: 140 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 93, end_line: 142 }] }, DuplicationBlock { hash: "43cddec76b47160a9a5d4ece508327e13536083e0ea964436937a84c08cd184b", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 139, end_line: 188 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 140, end_line: 189 }] }, DuplicationBlock { hash: "1f40400817e4ae333a9ea5f37bfdb3dd52a6c7f781c435fbc9764e64817d7d7d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 93, end_line: 142 }] }, DuplicationBlock { hash: "14a30b105bafd97bef8636e6e59c4e4e0d3b831c4fdf73b4a0377eb2e8524e1c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 126, end_line: 175 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 127, end_line: 176 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 128, end_line: 177 }] }, DuplicationBlock { hash: "26df3c02fc4f78a7d2f97d412db0f557924ef9ef6e4abae06a44cc22f32ba2fa", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 36, end_line: 85 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 37, end_line: 86 }] }, DuplicationBlock { hash: "ac26b9451d759934822746d1e57732874ee5b5f12a0250377f6b3c33c9daf869", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./src/cli.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "71dceeacdbdf81325b885f8bc27fb5cc442bbec7112c8e90097ca35302d7fcd3", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 17, end_line: 66 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 18, end_line: 67 }] }, DuplicationBlock { hash: "d86de563551e47430a4e267564580548fe8fbe80e6895be1b88c6aadc07d69b7", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 353, end_line: 402 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 354, end_line: 403 }] }, DuplicationBlock { hash: "eff36507bf0c78066dd64a7c91d03359380e48ebf76efb2cfce5ecb74f9f0a10", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "f62f59e550ff146f735b9cc55da5e9a3d2b623d6fc26ebf75e13cb202e2fe942", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 236, end_line: 285 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 237, end_line: 286 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 238, end_line: 287 }] }, DuplicationBlock { hash: "7ea84068f0ab27fa72c6aa241ac095389e8aad77952dea146c9feef6f7074b9c", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 102, end_line: 151 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 103, end_line: 152 }] }, DuplicationBlock { hash: "211e0c754ac835bb6581a44ebd56a75179c0d0525ef9b4db39a1269bf53fe5c7", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 240, end_line: 289 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 241, end_line: 290 }] }, DuplicationBlock { hash: "371f77f1abeb56bfd8e590dbed8bb0e5394f8ca6e6d854ffb57a140141077861", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 73, end_line: 122 }] }, DuplicationBlock { hash: "c4d6258063f2f4e9ba07b5dfc4cf2ac08be3d06aec8178454156ca6c07daf620", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 178, end_line: 227 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 179, end_line: 228 }] }, DuplicationBlock { hash: "30190ae90ada8ee68f645524a6d34dd98b72cacb42416e7b784a5955251b041e", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "d27ee1884ef69cb6ffc96e1fb4fb532df788a5d3c9ee9f8c683a86f3ee33fd9a", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 120, end_line: 169 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 121, end_line: 170 }] }, DuplicationBlock { hash: "6027cec6ddf7edcacb2703d9d1620f266790e8b1f53dd8b448c02f2b7a8aac53", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "93bafb71117715540f48fe6c6a6abffd05aec173888f8d3f26df4665d30fb1d8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 719, end_line: 768 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 720, end_line: 769 }] }, DuplicationBlock { hash: "0f25ba97e3f131fa901ca050038f38f52b27014104d93d0a1e98bccd0e2f77ca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "d5c571c373d643192b316dffc081ece2d20ccede38e46b125231cda408e07a1b", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 390, end_line: 439 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 391, end_line: 440 }] }, DuplicationBlock { hash: "5135acffb13df194f3b10eacd0c54da58dc43c4405846fb8ff2b8f61204d0011", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 389, end_line: 438 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 390, end_line: 439 }] }, DuplicationBlock { hash: "cbb96d8827de488d7b199b2b6154f8be48c5f5952a343d814b1469ab0aabf439", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 181, end_line: 230 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 182, end_line: 231 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 183, end_line: 232 }] }, DuplicationBlock { hash: "ab960ff404b0c83c07d67f8450d1aa51e7d66e296357596c82b9f4e7a5ad6d04", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 215, end_line: 264 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 216, end_line: 265 }] }, DuplicationBlock { hash: "de9492b748f909bca5668c72fa361484eee065145ab99854fbb21e423e87ab83", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "5e17fa2f176bfe32d769561c2dea9a907652d88d0a63afdba48af8e2ce71a1f3", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 187, end_line: 236 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 188, end_line: 237 }] }, DuplicationBlock { hash: "803f074b715862735f8f4d36dfb8391583841e97265a98437b68857e5c7627c2", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "92a6c3534d0a7103aebb0389f788e45bf653cd0482eac8e9e991ff9a60558bff", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 274, end_line: 323 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 275, end_line: 324 }] }, DuplicationBlock { hash: "437ff20d9983466f9d46a25624329cdcd6bff26e425bd065de25d63c4dae54cb", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 68, end_line: 117 }] }, DuplicationBlock { hash: "205f88ec24b9bdd79ca17191ad7400798e6ca6ff3c93b94000d101d32af86c02", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 442, end_line: 491 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 443, end_line: 492 }] }, DuplicationBlock { hash: "9106dcb2f9b6b44044617b49e4dea39c99263fb79ff204047262215737ed6934", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 693, end_line: 742 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 694, end_line: 743 }] }, DuplicationBlock { hash: "5eeb688e9e1820390aed9722f144112d954a1dff4147143e019155ea2f57a257", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "5fabd446a1c78afaa1723732f7b357bfdf3a6f7c3fffe16f1232363ea81f9cda", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "55a9c57f16a0f1ba0fbe4d68f058de8abbac4ac1ec9153af1c17af0076cc58f3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 376, end_line: 425 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 377, end_line: 426 }] }, DuplicationBlock { hash: "485d76930d6281dd5f7f4e43c0a046c1d2a54bdb5f0fa5acca1141f5f0760c2a", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "4e5dbe747017267068353a854be0e21186727d02d4951d8a25e53f4cb06a2369", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "46829d42c336d6de7d499844515fde0b3e99f99adbb1a67b117872b86f3931a4", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 138, end_line: 187 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 139, end_line: 188 }] }, DuplicationBlock { hash: "dac4bcb7f2cd926643af8f10c59cebeed73eaacba384d573c654e1b5088b21a7", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 144, end_line: 193 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 145, end_line: 194 }] }, DuplicationBlock { hash: "4e196224ba3a462099b0c3ed1af6229a3296d36c7e2ed8a2fcd9a5c5b78e87bc", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 336, end_line: 385 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 337, end_line: 386 }] }, DuplicationBlock { hash: "448b43017f3670f3af2983164976a0b9e46e308729bf9b7210c19679309a33d8", lines: 50, locations: [DuplicationLocation { file: "./src/io/walker.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/io/walker.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "8e0e33e9d9dcb5ffd4e8044bae97edbb8f394ca301bd98b107d39e6c89f893e3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "9b862bd0f54447823a513ccaff1bfaf7afa09e9b24be51cafd68f80aa33f7a3a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 142, end_line: 191 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 143, end_line: 192 }] }, DuplicationBlock { hash: "cb71e1978ff5a210603dd3c2db1a83ae1554177ab30b04dc969595c31b746498", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 374, end_line: 423 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 375, end_line: 424 }] }, DuplicationBlock { hash: "b82f917c8ed011735a2e44f09a4f0699818d6228415fa10ec069c9deb608b3fa", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 647, end_line: 696 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 648, end_line: 697 }] }, DuplicationBlock { hash: "35f41e811f7d20c6e8c5791a3d623e9712fb5b2d2d40ed1617587e8acf238640", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "106b778ac0d10b7b011ea54bd7bde274b130885c44d51e74a99fd60987a6d260", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 296, end_line: 345 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 297, end_line: 346 }] }, DuplicationBlock { hash: "bb5b4b7c68e71f468487fcc067cf9fac17371568c99a5ed57709f3d789ab20fd", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 90, end_line: 139 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 91, end_line: 140 }] }, DuplicationBlock { hash: "a5c51339fae42e202af978bd2692d8fc2bce29f7cfd6180c8141d90bbb1f5426", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "5bb6ea49f4ce6d745d66983365ed6be97b38fb624209298cef3e7ebc55123dd7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 472, end_line: 521 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 473, end_line: 522 }] }, DuplicationBlock { hash: "b78d47a7bb3e45b3ae7417e5c30009972ca7317e5ce528bb300252578fe66834", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "f39bce20eb8b1c650033aac536c6f4b0fab9b026573df60da17111eb73de728d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 426, end_line: 475 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 427, end_line: 476 }] }, DuplicationBlock { hash: "85cdd9f9db08cdc531b81b90e523a29a91441dd877b6e677c6bcffbf5dcce44b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 23, end_line: 72 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "92b47c0afe34a6084a06242b0c3e9b1ca3e052a1ed3af8ab306b5922ed3e9ba2", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "7a0f3f244f55f9a8bf4bf9ab826dda4aecc3957c2d4db78d8c342fa3cf3190af", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 27, end_line: 76 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 28, end_line: 77 }] }, DuplicationBlock { hash: "e5ae04c77c7ff0ff852620cb99e40d923e596a52d76e1cf72df464dbce863b32", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 118, end_line: 167 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 119, end_line: 168 }] }, DuplicationBlock { hash: "59ce58dd4a7da5d5e52fe55135813729bac4019c660c850ed76ffde89990f8cf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "8382b2df58c6e5d1ca5bac8ba5693c022695f3032fc573ea769460b64a8d4f82", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "7538bedae45b55c8dd42e7088f70ae7e4e559237ddad6bbfba868d9499c60ba8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 154, end_line: 203 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 155, end_line: 204 }] }, DuplicationBlock { hash: "ec34d3f00bdff90c9ddc33ec8d4dfd08080f9886743f61d95daf783a5a99ac90", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "ce64422575b69337088c281e0abeb570c6a96842f7426cda7dcde42b4b92f3e7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "9d4745091d5322c9afc144a13a3289740d007de294ce9ae99dd253172556bc15", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 184, end_line: 233 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 185, end_line: 234 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 186, end_line: 235 }] }, DuplicationBlock { hash: "d3b2d3dcdec6d32a8ceee45af9c3f2528ef48483830627be5726f281f8011798", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/cli.rs", start_line: 73, end_line: 122 }, DuplicationLocation { file: "./src/cli.rs", start_line: 74, end_line: 123 }] }, DuplicationBlock { hash: "bc90be45120a73569a6adba15932b65c30fa35f93254869e8a85c7598fddb175", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 343, end_line: 392 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 344, end_line: 393 }] }, DuplicationBlock { hash: "4cb3b0191d8b2a9cf482da7991ef28e08e70eb712bf23dce0da4db7eba00a6c1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 185, end_line: 234 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 186, end_line: 235 }] }, DuplicationBlock { hash: "b29867f3ae8d149add43a5ea3db67276c177cb988a387fdec553dd91a42bd478", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "fb5a5b960ca75401820394e44571fadc02fa84dbf91e478bbe905eba9bd84739", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "31bed1c9ad012429a0a57b3905b2134d5d53a89fd0437ec30ce68b5d705f8e72", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 365, end_line: 414 }, DuplicationLocation { file: "./src/main.rs", start_line: 366, end_line: 415 }] }, DuplicationBlock { hash: "c0d0d502151e5e0375fad8cabee6bdac73f3b7e42432affefcbbf2eecb0a76bf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 228, end_line: 277 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 229, end_line: 278 }] }, DuplicationBlock { hash: "b1ad6660b5ce7277c3d4d39ccc78d94c4f94d3d856f3ef1757afeffb3f6654c8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "e2235fd6e3e46f8e01a4b88ad8b47ac7d0ddbe7c439e8713054b02dcff736cad", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 45, end_line: 94 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 46, end_line: 95 }] }, DuplicationBlock { hash: "5cb5fc8b8390be1cdd0ca8ce1e0b0fa27f55729acbc15efca9547e4e1f5d1f27", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 210, end_line: 259 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 211, end_line: 260 }] }, DuplicationBlock { hash: "7f23b601085205e286f072c37b0231b5c181146b95368b9d01307b86fd349846", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 33, end_line: 82 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 34, end_line: 83 }] }, DuplicationBlock { hash: "4a7e4d8f4a9a5a41719203b1d803782474361f0f2730e13c73a9d48aace2a06a", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 53, end_line: 102 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 54, end_line: 103 }] }, DuplicationBlock { hash: "6db5719436c493dc26fc81d0787cc3f757e6eccc46d44cc06ebc652463644045", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 309, end_line: 358 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 310, end_line: 359 }] }, DuplicationBlock { hash: "cd82b995ca1b4b4e655745c75a9cb3a4a249f177b603076eeca592405d350a1d", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 78, end_line: 127 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 79, end_line: 128 }] }, DuplicationBlock { hash: "f49535324cfd04f6beb59e42d2f1f648fb84804d640f20ab89dd33f6fc2e8f49", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "47625f95cc74dd62728afcf997181d347c9779cbc99cc5b426cc626163aa19c0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 373, end_line: 422 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 374, end_line: 423 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 375, end_line: 424 }] }, DuplicationBlock { hash: "80793afeb1c98464ebaf2cf0bcc327cd928cbb503aba59f06d238e6db77b4494", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 47, end_line: 96 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 48, end_line: 97 }] }, DuplicationBlock { hash: "5d24894306c343f6472e65ca979180c322099837a8ea1b45fdf09b181c48cfda", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 368, end_line: 417 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 369, end_line: 418 }] }, DuplicationBlock { hash: "1b5b83cc97d204178014466e3453e778c42f768fdad9cc4bc2cd84acd7122f65", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 158, end_line: 207 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 159, end_line: 208 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 160, end_line: 209 }] }, DuplicationBlock { hash: "f9372e7e19721a1381a0ee904092111a7c8d5f3b91d9f214c52f5af41cc93ba3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 99, end_line: 148 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 100, end_line: 149 }] }, DuplicationBlock { hash: "d6ba35eb56c2ceeac343d2792330e11127bb5a08b53b6ba8ef4be0587b21180d", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "0ce0123bb5f3c05065fc198305c0b04c75397c5fbdc9a7a8cd09de35ee0859f6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 113, end_line: 162 }] }, DuplicationBlock { hash: "9c7c9352eadc6abd5dc59376a1782c2c7b0692852f8a8b412401d8da83761204", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 154, end_line: 203 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 155, end_line: 204 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 156, end_line: 205 }] }, DuplicationBlock { hash: "5b87b7221162373e38455f77a69dd3f28dc2ac587aa8c8dfd4359629c3063101", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 71, end_line: 120 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 72, end_line: 121 }] }, DuplicationBlock { hash: "e391d2c7eb941abf49f621a1419730946e74f63ade9571229dc1aaa6544097cb", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 105, end_line: 154 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 106, end_line: 155 }] }, DuplicationBlock { hash: "c7854604c7dc06babf4cb62b54571432f6dbe7e09134887001c85013f082a0e6", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 200, end_line: 249 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 201, end_line: 250 }] }, DuplicationBlock { hash: "d66cbe54c37301ff2fc3cb88c034e9271d8bbda6a33a908d851b0d10fc18a6ca", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 297, end_line: 346 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 298, end_line: 347 }] }, DuplicationBlock { hash: "1ff852be0b495b7549df5f67126fcfb7644f5ae45c90de034d36c65d8f179d22", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 94, end_line: 143 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 95, end_line: 144 }] }, DuplicationBlock { hash: "74182759d51a2b4a303238a8b2858a034b1b24632e2f3945578c37ef2c87d07d", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 115, end_line: 164 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 116, end_line: 165 }] }, DuplicationBlock { hash: "db6b6cca392d96c9b1b88d82c8cc1ede6a27db6e2be7e5b535ca468f7b050757", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "91bbe54c1fec68244318bd6ac9fd0d2fa5edbf388e3817c386c4a6368a3df32a", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 34, end_line: 83 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 35, end_line: 84 }] }, DuplicationBlock { hash: "97632a8ce3b274c0e654b0693317264e9ce89a9d4672ed2559cd48404d3c4363", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./src/main.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "cf1f4dbc7f4cabdcbe72478334933e597dfa8d6971d3d29fde60a3cc52973744", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 312, end_line: 361 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 313, end_line: 362 }] }, DuplicationBlock { hash: "6d85c3b5287cac35814defa29cbbfab36c570d4c93eb2edc873fc44b37e0da17", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 26, end_line: 75 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 27, end_line: 76 }] }, DuplicationBlock { hash: "6913cb9cca7a0f4c6028bf277f0a86b01f02f79436f1563eb911990a46fefa90", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 284, end_line: 333 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 285, end_line: 334 }] }, DuplicationBlock { hash: "b26614fe9f272408fc5ac96be1d28be4fa3d34aba69b6c21df497ec45cce00f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 53, end_line: 102 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 54, end_line: 103 }] }, DuplicationBlock { hash: "86b0c493f4efd6b074b3d7feb598a1d4d91b9d909122fd6de561aa720e7e97e3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 85, end_line: 134 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 86, end_line: 135 }] }, DuplicationBlock { hash: "1d546c1c7dbc64ec84928f79743b38fb89bc1fe2e54090bae9216cce0955fa27", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 254, end_line: 303 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 255, end_line: 304 }] }, DuplicationBlock { hash: "ffbd6a9f11ee21ea8a9e9810d1ce7311355d9b86659bec99b72d539bcf199a18", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 234, end_line: 283 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 235, end_line: 284 }] }, DuplicationBlock { hash: "0cd0163fdba883aa28035181bf005d5067164ed6b1fda29b896a2740d4acf2bd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "1978dd6341a9c8a1823cb1970de5d67e5d5ca6f4f6c42a12b011fa5d0a9ad42d", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 12, end_line: 61 }, DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 13, end_line: 62 }] }, DuplicationBlock { hash: "c4033abf63033a6acfa53d61290e5e4d80b429a29229ee5388aab2a7efb170d3", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 142, end_line: 191 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 143, end_line: 192 }] }, DuplicationBlock { hash: "4945ceac3a40736928b06bd6ac083e82bbe1965e4ac7fa933f5303fc7fb60c3a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 320, end_line: 369 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 321, end_line: 370 }] }, DuplicationBlock { hash: "b1d5afc42e48ca6610581cc5fbfbe136f6a4aa202526b7422a4c038790f72f65", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "d5f6e5b356cd17d349a8bc33347ff479045f4d1330513aee213ba73d5a17df46", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/cli.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "fe8b35bc84814dbd6b7d6519b279852355dcd5101b2aa6f292abe4de6086325c", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 26, end_line: 75 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 27, end_line: 76 }] }, DuplicationBlock { hash: "95c79b28f62753c22e8371f7d1b8ccacb76832f42708200b14e2d2c068e4842f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "1fea41ac859c6e1ca328973301b1cdb0a062815a1d0d0fff8d03d398e7723dd7", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "ffd16eb1558eed00748d2bbdfb2869a646b4eee9ca0d19845f64ca7674f676e5", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 167, end_line: 216 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 168, end_line: 217 }] }, DuplicationBlock { hash: "9c5dd23c8b5b2165024e91ec393882b805a2543439dde0c9e4aba23c3ffce57b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 111, end_line: 160 }, DuplicationLocation { file: "./src/main.rs", start_line: 112, end_line: 161 }] }, DuplicationBlock { hash: "0c578bf9c20089873618690a97889dfa2d786f1a8673996c36b65aabc594042e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 98, end_line: 147 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 99, end_line: 148 }] }, DuplicationBlock { hash: "fe1c592df21d9b26fb71002504725d7202f05de08da3377d3ad645c222b1a287", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 171, end_line: 220 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 172, end_line: 221 }] }, DuplicationBlock { hash: "1926c82f68c0ef2c4a89b5be866194ca59451ed92675fab4b9886c63041f4aa1", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "5c6b51498b99a391d7f694d8cd74100f03dcfd235d9dfdec1bc65dd69fa78f69", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 55, end_line: 104 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 56, end_line: 105 }] }, DuplicationBlock { hash: "3f564181103848434713f5b7c9cd065eeff9fd2f2cef64d3edc8e7cfa1201fd9", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 340, end_line: 389 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 341, end_line: 390 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 342, end_line: 391 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 343, end_line: 392 }] }, DuplicationBlock { hash: "d31ce1c92d37d15d426dcafcf037a2eeab4307210fa2d0439159e92dccdaec4d", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 114, end_line: 163 }, DuplicationLocation { file: "./src/cli.rs", start_line: 115, end_line: 164 }] }, DuplicationBlock { hash: "a5152a2dc225bf384098fa7f2bf787e7fbbd331011f4a87b8a9b6c9a6cfe65f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 465, end_line: 514 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 466, end_line: 515 }] }, DuplicationBlock { hash: "9b4d08f780adbba5591ab01fc4ea65739db79f4942e20ca0af40f8cb54594aca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 278, end_line: 327 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 279, end_line: 328 }] }, DuplicationBlock { hash: "2a79a3d9110d541c1aeaa9f0d3e91097fc9605fd1bf86905a9acafe915f36f24", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 7, end_line: 56 }] }, DuplicationBlock { hash: "b8420e7b59d935fb16db0dd53a3c21c35c653e47e417ed324e1bae6809088387", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "c73a968c6dc0fade056c6e5c62eb4b0747d51a3294c77a7a66f2b00f5511a883", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 34, end_line: 83 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 35, end_line: 84 }] }, DuplicationBlock { hash: "d00dc9abe75dc8318b4054f4188ea7067393aaea32def7d6c1cf0adcf2fc3e04", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "70b95365feaa14012e24a8c8f2eaec1f5e488af33b4b00533ace38bd9062da24", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 275, end_line: 324 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 276, end_line: 325 }] }, DuplicationBlock { hash: "e83e579c46c492985262a24cfda7af86d071b43bb3e88075494c62bd63e4f59c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 162, end_line: 211 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 163, end_line: 212 }] }, DuplicationBlock { hash: "57844ecbcc3f818e10894e970ee6f73682a6bf7960b882c5e56f8e83f820df4a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 135, end_line: 184 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 136, end_line: 185 }] }, DuplicationBlock { hash: "67a0020fdf2cd90516f282eb15387d80d9ae4ccdc9191c2742ad33b0e15e0fc3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 46, end_line: 95 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 47, end_line: 96 }] }, DuplicationBlock { hash: "b576886164fbee904b884fd0a09e131b21a74e7470b72595cf7197c1aeb05a3e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "f8c1ba6900b88a2e3d238bd23936f0254c3c792a24236987d8781a64670c62a6", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 104, end_line: 153 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 105, end_line: 154 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 106, end_line: 155 }] }, DuplicationBlock { hash: "030ef2eff70f82a0ca72daa844217470ce2ccfcc6601946cd349a130e289b89d", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 10, end_line: 59 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 11, end_line: 60 }] }, DuplicationBlock { hash: "3132c89c0168a62388b2a29c76e127a2a84cee2a848c9fa6189456fd0e8c83bd", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 74, end_line: 123 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 75, end_line: 124 }] }, DuplicationBlock { hash: "a5cd458db236a7f31280726328f1fa5177759ed3e0e9cffcd059cc1d4689d8b8", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "a8fad185eecc2bfdf9e5d62691b115f817f7a2f615101aa2205c04a3937c0c7d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 479, end_line: 528 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 480, end_line: 529 }] }, DuplicationBlock { hash: "6befcbfa9bf6e5ab1ef18fa4445df19938374b052c50d376d09d036a9d3ea996", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "771ecabc6346fad0ade8546cc3aa3212085e46e64fa7485a892bb95a4bb71168", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 271, end_line: 320 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 272, end_line: 321 }] }, DuplicationBlock { hash: "d89e1d4633affec0e38d3392d992ffc3a7a248bae3a7b116ac407fa57c3aba65", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 56, end_line: 105 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 57, end_line: 106 }] }, DuplicationBlock { hash: "11b041e1f1ddcbacf94195a8069d778a835c9976e4fcd3dbc1dd0012cf6d9205", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 14, end_line: 63 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 15, end_line: 64 }] }, DuplicationBlock { hash: "bdf4eff918a35768d4ff4225950f3382130637045ee2bb2a3ee867881d44f7a9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 159, end_line: 208 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 160, end_line: 209 }] }, DuplicationBlock { hash: "281648ff03573c18a5090c00b0a1f699d157e096dd24409c07cadc1bc9474def", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 23, end_line: 72 }, DuplicationLocation { file: "./src/cli.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/cli.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "13474af578fc6ad3e17d0535375cab50052c81e6afb2ddf1f65751806420b979", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 457, end_line: 506 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 458, end_line: 507 }] }, DuplicationBlock { hash: "25e3204f2b11c8586e30b58e81677d96e82ccc14f13f3504ebb4b58eb79336b7", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "0f6725988188f80d4b37febfe0af00a17f61a8094b63e12198fe44d73b2fb330", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 384, end_line: 433 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 385, end_line: 434 }] }, DuplicationBlock { hash: "edbc6e3f90f3a9fa85d28c338b1f4a6013a0f6d00dfab3004a5aef06095cdb50", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 125, end_line: 174 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 126, end_line: 175 }] }, DuplicationBlock { hash: "b6e1df01164a12ba6970996ade2dc390db2f5b782f47bd04856b551e920b0a24", lines: 50, locations: [DuplicationLocation { file: "./src/io/walker.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/io/walker.rs", start_line: 31, end_line: 80 }] }, DuplicationBlock { hash: "7c417da5471a63b5c98b44be06b71dd51017e2029db89d4004f1b71499de735f", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "309e6900014194da204669c5e25426659e39fe584e5e3b0b318d8a24aa19492d", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 259, end_line: 308 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 260, end_line: 309 }] }, DuplicationBlock { hash: "dfb01c5f865bfdae76958c3b157a85035b001a8593a48b910fc379af956d1ab4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 327, end_line: 376 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 328, end_line: 377 }] }, DuplicationBlock { hash: "b91863811a7d563bbe30e9ad66b835b05badd65b58a38d65255927831a8dd653", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 151, end_line: 200 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 152, end_line: 201 }] }, DuplicationBlock { hash: "30399d5bef130cdd7971dd94dbf5a5a903901b1e353e9c3dbd5edab7ab67b4be", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 143, end_line: 192 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 144, end_line: 193 }] }, DuplicationBlock { hash: "8f9cfa0d3b2906ef83207705b3376f96e6906931f321eda563606ac261326f27", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 335, end_line: 384 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 336, end_line: 385 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 337, end_line: 386 }] }, DuplicationBlock { hash: "490fa2c58bd71ec7625964d50e602391750e1f18065ec91c5cd06ea90a6b0105", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 235, end_line: 284 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 236, end_line: 285 }] }, DuplicationBlock { hash: "c0f72e81c397d1b357348db99e2e1c6c49e3798aec454b6e9fab87f05fa2c391", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 522, end_line: 571 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 523, end_line: 572 }] }, DuplicationBlock { hash: "aa05017a84d5514bd68e77bf7ebd3431e892d785cb7b7b39d8fdd128800a9b3d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "f21f45188ae7345fc573a6c4bd9def4668a9e1b1d3da3c1aef70b37434e74ed4", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 320, end_line: 369 }, DuplicationLocation { file: "./src/main.rs", start_line: 321, end_line: 370 }] }, DuplicationBlock { hash: "4af1b4a0435a1573bb484c004232fe1bb96b8003d965d34dd28ec470a5416884", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 196, end_line: 245 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 197, end_line: 246 }] }, DuplicationBlock { hash: "09db0a635645bb979c89ac177a07063bedea3478bac368d6c92f4a3e3394b267", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 21, end_line: 70 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 22, end_line: 71 }] }, DuplicationBlock { hash: "99d377467ebc5f2529df5b1f5dd843fc37f8e5474596c49513d9ba6ad1278491", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 242, end_line: 291 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 243, end_line: 292 }] }, DuplicationBlock { hash: "d07b0c57b7e196d4dace6ce49426375306b45ebda0b298f14131471a8873756b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 381, end_line: 430 }, DuplicationLocation { file: "./src/main.rs", start_line: 382, end_line: 431 }] }, DuplicationBlock { hash: "2898fac88f8a1373c94091f7b8dba7084685431019737d9d2350df5a2359c1e3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "7cceb68ec68068ce13808618479408caaeed7675ce45bb87af6fc341ea1478e7", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 219, end_line: 268 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 220, end_line: 269 }] }, DuplicationBlock { hash: "ff0c4e5ec57e7fabf528ca0b482e0810bc2825835282b7ed29df1c538bc0fd68", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "fedeaddcf2044d0cdda677cb41b25272095a79545ee450341d6fe796dc4171d7", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 9, end_line: 58 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 10, end_line: 59 }] }, DuplicationBlock { hash: "8ad8c9fd0725828c1eec0578f336f7a275e772e469bd19afd87dfa189feec975", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 291, end_line: 340 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 292, end_line: 341 }] }, DuplicationBlock { hash: "57c7173162d77c90f83b136521017c46ebd7d565eccf61e650b09e5c2dff5940", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 355, end_line: 404 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 356, end_line: 405 }] }, DuplicationBlock { hash: "0bf9e92eb74ce51b9cc4e0dad7446141810ed6b79ab1f86eaa5e97dd1b6bc61e", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 161, end_line: 210 }, DuplicationLocation { file: "./src/cli.rs", start_line: 162, end_line: 211 }] }, DuplicationBlock { hash: "35a1cbef1404bc74932cab79f832dcd8846502c7019fb47d64f24a3359543016", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "957e1df9c10c5658e40ebd72c267ca3bfc149143d0591736d1f2b28c5d98171c", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 48, end_line: 97 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 49, end_line: 98 }] }, DuplicationBlock { hash: "e4e2c21ce28c43149f3486a1fdc8fb49c7e45ae4a042d01c2f5e4a299f8cc97f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 683, end_line: 732 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 684, end_line: 733 }] }, DuplicationBlock { hash: "53b0faa4af49504b00409d97d009b8393f8a46ec08bc16e2091992c314086274", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "33027071a430b16b958c42db83c98c27cd631112db3d8984cd2dbd7d63ab8d02", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 25, end_line: 74 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 26, end_line: 75 }] }, DuplicationBlock { hash: "864929ba29704d7b4a6a0d5f688e8466617d3d5c3a7779f6f72c4eeb200a7f01", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 294, end_line: 343 }, DuplicationLocation { file: "./src/main.rs", start_line: 295, end_line: 344 }] }, DuplicationBlock { hash: "d15ceb2d2203032b78825f5238baf5890bb9eb6f3e42a120309795f415e381cb", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 107, end_line: 156 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 108, end_line: 157 }] }, DuplicationBlock { hash: "72df5ee7f8aac5195bd2d4a84b9aa77719a48b3619f37fff11a6f132cd06a582", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "96dc1d7d538788fae136be980c8f5a896c607e3a73e6922ab6b79fc07135c205", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 439, end_line: 488 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 440, end_line: 489 }] }, DuplicationBlock { hash: "d8c7376292321adff08547bb0ab6b4b882c9f3de8250fe234c1b6e567475fae1", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 213, end_line: 262 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 214, end_line: 263 }] }, DuplicationBlock { hash: "3d9405a281ad78b547b93191cd98d500e7c9c7f2724315f1cb1091c41fa4be6f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 37, end_line: 86 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 38, end_line: 87 }] }, DuplicationBlock { hash: "eef830477610c32fb781d0f22630832c6ad6636d7aa413cfaa9d62519198df61", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 68, end_line: 117 }] }, DuplicationBlock { hash: "b1d4adcdec9d6e9c2ceea441dd3f10fffd30ad3988ae6f8213bd148389a1dfd2", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 48, end_line: 97 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 49, end_line: 98 }] }, DuplicationBlock { hash: "6458ad26fa364434b6d98155f5ec293959558ad84236939b9fa54e681c3cbe64", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 6, end_line: 55 }] }, DuplicationBlock { hash: "77e84474c6adc19dbe5957ab0eaf79b3149ca06bfae48f6961521b354e913f3c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 62, end_line: 111 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 63, end_line: 112 }] }, DuplicationBlock { hash: "796d2784d708d95aef06e57693c0178d243a921d34aae20d6f8b2281c7b57370", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 324, end_line: 373 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 325, end_line: 374 }] }, DuplicationBlock { hash: "eabcc35b9ba33aae0ff8ce2c139a8a9d5d2bd194b3dad887fbcc33aad2cf0631", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 108, end_line: 157 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 109, end_line: 158 }] }, DuplicationBlock { hash: "c75f4e70b94664bddef36150b98ff9a5bba77eceabc3bae66f40a3a4e8fb9c51", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "e57ba4fe4977cdf9adbac8fd0ab48cdbd00ff233ec9daf43582d9e61a097b79e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 531, end_line: 580 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 532, end_line: 581 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 533, end_line: 582 }] }, DuplicationBlock { hash: "9d6363932d609dff98e7449291900d27ab8979cea95f3ec60be3b2935f07d766", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "befa576c6b92996d5787d9642dc18185c819111fadf05f77e559a144e6274b3d", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "ac7b77ad797b7ac5cc155cc47f50d2a7317385f54c9a478b0c35d2464d2554ab", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 44, end_line: 93 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 45, end_line: 94 }] }, DuplicationBlock { hash: "51b471c9f108d5531a6bfd9c7ef8a7324504708317122b360b8d6637a9421aef", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 163, end_line: 212 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 164, end_line: 213 }] }, DuplicationBlock { hash: "30446123108e89ce7dd339cbd93b3767f4f410783948aa0f11d1863dca0a7299", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "908f14e1854d770addd714ca345ddb25d6b119a69cd4bc3e0057159db0cdd790", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 124, end_line: 173 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 125, end_line: 174 }] }, DuplicationBlock { hash: "64c8679dd66e7f8f1446b7711bc7142b9ef31d3075db6e9aaa4a7e3617478757", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/cli.rs", start_line: 36, end_line: 85 }, DuplicationLocation { file: "./src/cli.rs", start_line: 37, end_line: 86 }] }, DuplicationBlock { hash: "79fe68d2adb5048b943b08ff194594b01eeb4392cda598ee3f14338446f1e2bd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "671b3b6cf343e8ad7423664235417733fda69bce9558279173c168ae4ee8b71f", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 94, end_line: 143 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 95, end_line: 144 }] }, DuplicationBlock { hash: "b65bdf474fda47aa3de944ca47d747b8246f3dbdfa33a79f0499685bbbbc47b9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/cyclomatic.rs", start_line: 11, end_line: 60 }, DuplicationLocation { file: "./src/complexity/cyclomatic.rs", start_line: 12, end_line: 61 }] }, DuplicationBlock { hash: "b3ce6fcca4579d080cfe279132d933d262a19a52bcb97c57c9a9a0d87b6d402c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 176, end_line: 225 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 177, end_line: 226 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 178, end_line: 227 }] }, DuplicationBlock { hash: "35511f77fce5778315eb86432654bfa8b61dae56c4e7b673275e0c47db6ef3bf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 151, end_line: 200 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 152, end_line: 201 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 153, end_line: 202 }] }, DuplicationBlock { hash: "43f294ca939842f4aaf14951a0f6730ea4092d6fe125016d092e8feb60ac7316", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 133, end_line: 182 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 134, end_line: 183 }] }, DuplicationBlock { hash: "fe89d311833045a34bc22d5bb21be066c6fbc7c5c3cfc0b028c6466c1f485664", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 183, end_line: 232 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 184, end_line: 233 }] }, DuplicationBlock { hash: "6d7084e6e0158587caa51bc80a6474e975901a15a1b3c2e44245d5a881f81c0b", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 46, end_line: 95 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 47, end_line: 96 }] }, DuplicationBlock { hash: "d91c2e38724ceef2ae3e872c6f652c7c7e5443c1e11830e47dcbd420aaa4d387", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "4b20aa133f1ae9fa6c3127ef9965702c500ba6ee0c109141f55dea2c427a5744", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "4f325e6d4780d5a762760dc63e66139970d1826600f84a0e9dbda0d30d349151", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 19, end_line: 68 }, DuplicationLocation { file: "./src/main.rs", start_line: 20, end_line: 69 }] }, DuplicationBlock { hash: "6639c00a05396433a202fd9ff6a7e6ee34b1f6c084dfb81b2a8865f7bc2c0d98", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 280, end_line: 329 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 281, end_line: 330 }] }, DuplicationBlock { hash: "c7dad2084378191df5f1726515ce895a02747ca0ae1b5572f957d11817bf45fd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 338, end_line: 387 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 339, end_line: 388 }] }, DuplicationBlock { hash: "023bd1e16765d27a67a9dbd0a3d7654d5b850c9f88e30f610d7777a3b96e9f4b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 354, end_line: 403 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 355, end_line: 404 }] }, DuplicationBlock { hash: "769124e4faa8abb98a7a27998ea090879b8710a08f15b7a8238aafe3bac2748f", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 160, end_line: 209 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 161, end_line: 210 }] }, DuplicationBlock { hash: "c18aa4a49354437afe081d5a8c5544a7d0e0f31568c445fa639c4c68f49cc3bd", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 66, end_line: 115 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 67, end_line: 116 }] }, DuplicationBlock { hash: "bc227ecb0cd78960a239b708a98b18323fe8c11e816c1ed828a02270133724d9", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 117, end_line: 166 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 118, end_line: 167 }] }, DuplicationBlock { hash: "7661fbd6cf5cd5f1c94e257863b4f5675a70685f55e1fe0a4a10542322210789", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/main.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "a96ab487232f6121701490fc5a032f8d8b83291f16eac775428a959b05c887ed", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "c523a091058c762461c7c7eb691464416150b331f6c572e7307a11af1674cacb", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "d46e577f53bfc14965db0eb025e6c203ae332629a24f784b374aa80d3b0da868", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 492, end_line: 541 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 493, end_line: 542 }] }, DuplicationBlock { hash: "2d255fb3bd600dce85ab9277b5406dfc06032df69aea539d501c305864e4a8d0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 347, end_line: 396 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 348, end_line: 397 }] }, DuplicationBlock { hash: "8cd809e654ee9bb8b84636fdfa4d83587dc0b9c412c09d4bd9bcee0e582228a9", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "293bb4f509369010bf25547f40130cb46abcbc97a8b98ea82a5849902e043584", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "04a0102255e8e19f0335b94dd3699135d1078b127084226e16d3ba3e194b0a2c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 61, end_line: 110 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 62, end_line: 111 }] }, DuplicationBlock { hash: "0d53f5dc5e506f7160bbda123dbfa0223708d09d9cccc05c9274f0a839b551db", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 180, end_line: 229 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 181, end_line: 230 }] }, DuplicationBlock { hash: "3aef6e3af64afd641bcbe55b95edbdaba29a73be96f01393557e3fe9d3174626", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 318, end_line: 367 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 319, end_line: 368 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 320, end_line: 369 }] }, DuplicationBlock { hash: "da2de5e5b80992b4cb3249db7c2856f5439fc0f10c91e43e6bc2506c14de2ec8", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 203, end_line: 252 }, DuplicationLocation { file: "./src/cli.rs", start_line: 204, end_line: 253 }] }, DuplicationBlock { hash: "ad777bb4c3de8bf096ccc73ea87b7f5a757990766564d38df6ea829831442bcb", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 173, end_line: 222 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 174, end_line: 223 }] }, DuplicationBlock { hash: "0b36187318610826b708c84881f0d5fb3d3adcc1b4b52c7abbf30c957ef69147", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/learning.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/risk/roi/learning.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "4687eeefac02f7dee6e2b69d8fd60ca57fcf79cbfec0fb8029d4ad9842608c1f", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "56d87bd527cdf0b1953ac6c151b7251bd3db1d9cbac7f2e04d75128cc1da2319", lines: 50, locations: [DuplicationLocation { file: "./src/io/output.rs", start_line: 108, end_line: 157 }, DuplicationLocation { file: "./src/io/output.rs", start_line: 109, end_line: 158 }] }, DuplicationBlock { hash: "1370446ce340749b7e805b9de3289232e6a6e5de5ab6234ac0363a49752134dc", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 125, end_line: 174 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 126, end_line: 175 }] }, DuplicationBlock { hash: "e7dd4572776d2c9bde103b1b969a4e8740629cf87b594450343c1a2c427715de", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 136, end_line: 185 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 137, end_line: 186 }] }, DuplicationBlock { hash: "efc68a74d4152a59a8e52d22bb4628fbe680e79705ca0478ae19c3c2062f0aa4", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/cli.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "6495d56b0be378aceb1afbb7e7874abcd7f7ce4cda958b6801e8cc878bf3f9a0", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 170, end_line: 219 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 171, end_line: 220 }] }, DuplicationBlock { hash: "ee6a12e8980970c8fbfd64acaa0587b797a218e02788d0191e7fd2a88a1454b2", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 195, end_line: 244 }, DuplicationLocation { file: "./src/cli.rs", start_line: 196, end_line: 245 }] }, DuplicationBlock { hash: "c78b5ca8bd3cb25bde0525b03ebcce669831b654de653f948fb92c1cd58024ff", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "a6a9f69fcf96a159a0e90206f1305c08514bd3602b55cfb84b365e5942c2d1db", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 19, end_line: 68 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 20, end_line: 69 }] }, DuplicationBlock { hash: "bf337071198b2ab477ac7e45753f4e392fa8a8e060ff850603c05b3d94bf3745", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 128, end_line: 177 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 129, end_line: 178 }] }, DuplicationBlock { hash: "51f14432ed52e76f651b4f1a061f22d58826f5ecfdb00bd8e3d2e0c98f52849a", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 278, end_line: 327 }, DuplicationLocation { file: "./src/main.rs", start_line: 279, end_line: 328 }] }, DuplicationBlock { hash: "da41ca23bbcd7d841efbd945521e508070d888acb9186094eed338cab8c963c4", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 368, end_line: 417 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 369, end_line: 418 }] }, DuplicationBlock { hash: "84a6cea383cb2681e4019d5bc834d07e92abc3404d5759a5a95453be2e702e14", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 171, end_line: 220 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 172, end_line: 221 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 173, end_line: 222 }] }, DuplicationBlock { hash: "ba6a9e64333fa55eeffac543e77e5cde313a9c6744e616b4c37d7208c77e71f2", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 42, end_line: 91 }] }, DuplicationBlock { hash: "bbf554892f88ca7b60b140a7afddf6b8fe1142dd24cdc9c49f3cc9ac7b4a7035", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 192, end_line: 241 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 193, end_line: 242 }] }, DuplicationBlock { hash: "fe20b0f4469bf40f313e273bd6239191dc3e0b84a52cde5efa3f4701ee018e0c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 637, end_line: 686 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 638, end_line: 687 }] }, DuplicationBlock { hash: "4175916afa495f5140eadaca5583266eb15f8ecc6276e9e5753d75b2a5ad04b9", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "5d9fb44998682b529c97576ca4c80f7fb7ee71bc23c7c908990aae153405ac5c", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "e7b8df6f15a97f04df7492c58be2d268c05fb74f6fb5e3b280fd539bb37d8dd5", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 263, end_line: 312 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 264, end_line: 313 }] }, DuplicationBlock { hash: "355bd6efc7a3f7179e798b06cb46f25b27dc81e1b727d757172f19dc40b0a6e4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 6, end_line: 55 }] }, DuplicationBlock { hash: "63bfa4b958a9be36ea9b42438594cb68519aa848f053451d00d626a6410fe15c", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "441b39b06c934a195d2c8f293827629d1dc95b222268fdc88d24ff4b7bdcb374", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 113, end_line: 162 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 114, end_line: 163 }] }, DuplicationBlock { hash: "ed07f4a5226c0a9dafde95df52b2db7df0311d03fad420d76a9803774f6231c0", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 86, end_line: 135 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 87, end_line: 136 }] }, DuplicationBlock { hash: "2f4fe6d67b4619f8aa4804f26df11478da10233c448d87a54e14b4f5eb6aecd7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "d83035a59423291d742f2676c6f21c487363478ac1c8282df747bc7b5b7e7b3e", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 347, end_line: 396 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 348, end_line: 397 }] }, DuplicationBlock { hash: "3edbec51b9285e04779317294fe9a37ea91e0bb78e6047c60f01b2e152cb637b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 662, end_line: 711 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 663, end_line: 712 }] }, DuplicationBlock { hash: "c20619666de65b6cb0fc3e968bd77f59301d2c76837cd5cf98cbeacdec423a32", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 274, end_line: 323 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 275, end_line: 324 }] }, DuplicationBlock { hash: "10d0d24cad46040241404cf091c155065580aeea933b355740cbb500571cdd78", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 59, end_line: 108 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 60, end_line: 109 }] }, DuplicationBlock { hash: "b5e6c6d7ebb0eda44ead753b68d3667a968775493046f999e7c857d81a8c8c28", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/cli.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "c621599311c9222cf8dad58e5dca7c510c0b2c1627a7c03e667ad61592ff9626", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 80, end_line: 129 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 81, end_line: 130 }] }, DuplicationBlock { hash: "30f31ed72f01b4c7ebcafbd84ae4f85c73cf91e756358bb0be84ac1ac2b04b7a", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "9fa46cfe0d1d11302ac69ac0d31751a560df7023f518e556769b683ae95f1d36", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "5421535eea6e971c08ee9a96481fe8ec220a56a66600d1ce3ba90134dd54c259", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 31, end_line: 80 }] }, DuplicationBlock { hash: "ec0e8e640ddaeb51b25b6c95cecf3723ae52a198e45a42a6966cff8aafcaf752", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 632, end_line: 681 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 633, end_line: 682 }] }, DuplicationBlock { hash: "c835d177d63085fb33d21f090060671c64a342040d7a99dedd8644ba41925256", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 120, end_line: 169 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 121, end_line: 170 }] }, DuplicationBlock { hash: "c8bfe1b67b3a4597e613b1c068a1b70f60ba9893697806afcda0233a11d40f44", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 175, end_line: 224 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 176, end_line: 225 }] }, DuplicationBlock { hash: "344c18f54963c3e0c82987258182c24543c62ec86f4fc4521bccc7972506c9a4", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 166, end_line: 215 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 167, end_line: 216 }] }, DuplicationBlock { hash: "1ac569e28499acede332c50b5a8a270ec2ad206bbc9e7f6af9eea377067e53ce", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 150, end_line: 199 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 151, end_line: 200 }] }, DuplicationBlock { hash: "9df996bbdcaa6f49a6383df7d2e1a5dd00e95ab65f8477d8235c8dcde3353a15", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 70, end_line: 119 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 71, end_line: 120 }] }, DuplicationBlock { hash: "df78deb2eb71162adb5bb7a6257af0fc3b271ed5f438aef6fc2a5f768ab78dbc", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 117, end_line: 166 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 118, end_line: 167 }] }, DuplicationBlock { hash: "aeab758e30dda713fb9ce7e056123fa6c45126e7ee6b086eacb1a5e7da0913e2", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 133, end_line: 182 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 134, end_line: 183 }] }, DuplicationBlock { hash: "3fce88900933edbf97543ed902ad4bf0633e44b30a786d3a4f3f4fdd55e0ac29", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 193, end_line: 242 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 194, end_line: 243 }] }, DuplicationBlock { hash: "1b5e06958f1212aa5d84bd97257d8b8b5afa075715ebb70da3a388b7e6647418", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 60, end_line: 109 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 61, end_line: 110 }] }, DuplicationBlock { hash: "fe42ae062189bb7362faaa94b24d8fcc507907d5531188ce33d3bfcc09c99f3e", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 271, end_line: 320 }, DuplicationLocation { file: "./src/main.rs", start_line: 272, end_line: 321 }] }, DuplicationBlock { hash: "75bc31610186fbba5500509cfb3674fc9d3b95f74861833ee6def31d59b3088a", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./src/cli.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "c4e73dd737c0c471f4dd5ed1c250d733e8fa897e009134a7d3c6721fd5c6d307", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 107, end_line: 156 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 108, end_line: 157 }] }, DuplicationBlock { hash: "9f69a7a797f8f794a2c3a85bab0773b5c3abf77cb06bc5aa38b89c81b685fe0d", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 259, end_line: 308 }, DuplicationLocation { file: "./src/main.rs", start_line: 260, end_line: 309 }] }, DuplicationBlock { hash: "322042949e6b5138e31c940cf83655e1e0701eaa29294e4bede3cae552005337", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 244, end_line: 293 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 245, end_line: 294 }] }, DuplicationBlock { hash: "a25adf4a9165253dc9e1c76b9b21150452893c3f4ca6734b2199b74d0d4ba90b", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 9, end_line: 58 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 10, end_line: 59 }] }, DuplicationBlock { hash: "2af238f1e07fb4ae33ce9fe4a2dceb905fd079faa3849d88f24cff4d0077d61a", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 397, end_line: 446 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 398, end_line: 447 }] }, DuplicationBlock { hash: "66f0a2eed21ca35af8dd0897c62d6a193c1c0d0bd7b7ffb979053f6b679f9ae0", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 190, end_line: 239 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 191, end_line: 240 }] }, DuplicationBlock { hash: "686f31584996fccabf2ccb8157895794ca5369f3a6ab3b768426e9594eeee158", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/filters.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/transformers/filters.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "f96b3b9298a01ee76c9e0584c4ea917114a2114aba84e06360996d7611254318", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 314, end_line: 363 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 315, end_line: 364 }] }, DuplicationBlock { hash: "299d356f1df5db8c5bac39c1dc34354ff52d46d988c365fad1d2af23c9ed4404", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "7082133bec5bb63ed8cd343d4607adf65d674c66704999fda991c9d122626658", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 162, end_line: 211 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 163, end_line: 212 }] }, DuplicationBlock { hash: "e7a9db9837f111ca93087a330c74f382a08ea2d05a1382dded767540de7fc23d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 247, end_line: 296 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 248, end_line: 297 }] }, DuplicationBlock { hash: "36896984a06f77b6ac6679fea78272c2a8ea923b37f218e046d08204c3a293a5", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 119, end_line: 168 }, DuplicationLocation { file: "./src/main.rs", start_line: 120, end_line: 169 }] }, DuplicationBlock { hash: "d26d691b55b5a927cc4a48f8098740565da8ea3dc1ed653c4d12467ca872a39c", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 201, end_line: 250 }, DuplicationLocation { file: "./src/cli.rs", start_line: 202, end_line: 251 }] }, DuplicationBlock { hash: "a6fe95fd406494becd5305f7952f43ce29d8e1345c02ed77ac52d8ac6e95b7e2", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 7, end_line: 56 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 8, end_line: 57 }] }, DuplicationBlock { hash: "b8bd1d55b2c9f72d6f93ed6568d852d62aa954ab876c16b714fc9ba012a792f5", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 82, end_line: 131 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 83, end_line: 132 }] }, DuplicationBlock { hash: "b67b3fc8caa02abba2f47895794007c7343303e1a381df0e9152969503d534fe", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "4ef8715c3ed6a023dbccb22dbb5b8b836c08f7522f479c2d8f558bffbd78a0f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 168, end_line: 217 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 169, end_line: 218 }] }, DuplicationBlock { hash: "1102cad029f788ac4ed5639631a6d1cfdb5fb61879955509a92ea856a43f20fc", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 14, end_line: 63 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 15, end_line: 64 }] }, DuplicationBlock { hash: "c4ccc74366ed46acc69dc7393c7c15b178a9569287d9371705056c16c8216a5a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "acdbd904771bd277cddc55a06cb1018a65f93d7c93054fa8f7f9c621f5b8790b", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 96, end_line: 145 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 97, end_line: 146 }] }, DuplicationBlock { hash: "802580e459593c891182858bfd27eb2365bbe29d03a8332d6bb6c117847f88e2", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 334, end_line: 383 }, DuplicationLocation { file: "./src/main.rs", start_line: 335, end_line: 384 }, DuplicationLocation { file: "./src/main.rs", start_line: 336, end_line: 385 }] }, DuplicationBlock { hash: "7d648b0297df2b652be0301d257ce631680ea761e5b0383b723075da2e3c57a7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 121, end_line: 170 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 122, end_line: 171 }] }, DuplicationBlock { hash: "5ab6f757e9fbc21f324d382640cc5714500d720dd6ce87ac24ad4b4d3940de1f", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 55, end_line: 104 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 56, end_line: 105 }] }, DuplicationBlock { hash: "226b98fef7692dccfab866590a0c27f77ee2565d0a5ae3e93ace9b2b9886be66", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 118, end_line: 167 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 119, end_line: 168 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 120, end_line: 169 }] }, DuplicationBlock { hash: "a924d7775dddd05c4e5f02b9e9995c4ccd16821b1aea878599f91eaf0f5f66ee", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "228c129ca8f07ba9efbf4b0df149870582d8c02bc51604c9da0823e230ebe65c", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "44a6e07aa79de3861bd4ba7c6125273b5f4203bca904e2a0311b47dfb0ae0d80", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 150, end_line: 199 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 151, end_line: 200 }] }, DuplicationBlock { hash: "6cd278e56024052027081c79799629aebea497cd03df7e37be4a11e127e57531", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "24fb5512d22292a47345603eedab5be38387bf8ee7bf86a33615102529746be3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 230, end_line: 279 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 231, end_line: 280 }] }, DuplicationBlock { hash: "fe72a2a657fa339358b613d5fa066da7c33e65861499ac63a61762c47671e826", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 407, end_line: 456 }, DuplicationLocation { file: "./src/main.rs", start_line: 408, end_line: 457 }] }, DuplicationBlock { hash: "f0d0af287865c6a4bf8623496d5f4a510a758cbd5be6bebd814a2dc21d8423f1", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 146, end_line: 195 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 147, end_line: 196 }] }, DuplicationBlock { hash: "96f3f07f6b312c09616d5380ff4e71710146568b02bbe4fa06d4901e9a48f413", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 495, end_line: 544 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 496, end_line: 545 }] }, DuplicationBlock { hash: "28364c292979674417f4b5e230e42b711302bbf9a208625c1469ff6cb0cb2c1f", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./src/cli.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "7a8094f3675a13d45f6e74c7d49e57c84b386dc956cab70b0454779d98a871d6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "1118be5d361d44f5251feaf182c536ba64a7ec7549f8a0cede5824a9ca567e25", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 43, end_line: 92 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 44, end_line: 93 }] }, DuplicationBlock { hash: "ad0274f289168bca0bc7bc2a25a1597c18c526c3318c83849719f3a4bd38440b", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 223, end_line: 272 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 224, end_line: 273 }] }, DuplicationBlock { hash: "0f2089257b9a396b82e06536007b21c84a5907788e0deb171e5b49bfa508e351", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "94fa9db664f882695d8f2e3f9ced027ade6376303898bd9154920bc76679ab49", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 113, end_line: 162 }] }, DuplicationBlock { hash: "f678c1a4de0c642b98341743e178ce0a1743695b5bf44743ddd21b2375f47c77", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "d91de4c65ae2e7046141fa13967b9862aed17fd19a4a6a5283944d55bce448e1", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "cb4671bdd54b0566e400f48137bcf79c8423c6f549a8c07be94ae2b108efd3d8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 344, end_line: 393 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 345, end_line: 394 }] }, DuplicationBlock { hash: "4a0fa4b29524af75c8d1d1b7db288434ecc61dc832e18e89cde75b1f02204104", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 28, end_line: 77 }, DuplicationLocation { file: "./src/cli.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/cli.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "dd28c5fbaae86771d869d5314a9565de7b289abf6f3db8f4c011119e43b4bfdd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 158, end_line: 207 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 159, end_line: 208 }] }, DuplicationBlock { hash: "a0493da8d5af20a2a466ee202f1aa9984c2396aa1e97e7b0f1ff5a982a67ec14", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 7, end_line: 56 }] }, DuplicationBlock { hash: "aa3968cb8f1cca6aeb0811e062079a1edc7812298e17d920bc43f53df410b1e9", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 51, end_line: 100 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 52, end_line: 101 }] }, DuplicationBlock { hash: "2ad44ba935d5e05e9703aa1a7a2cb187b61cdd7ea9a03e36f2a7414caba22b84", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 136, end_line: 185 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 137, end_line: 186 }] }, DuplicationBlock { hash: "f1d3ed1d91c3416efbdacf6cee81dd9b520e0ad3b5b96097b4d6565ffff1a44e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "327344b72fc96309dcf045d4d5febd146069851e8b86c614c5aca8c65d55fdd1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 71, end_line: 120 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 72, end_line: 121 }] }, DuplicationBlock { hash: "c2ccc07bf2ec41adc38dd0d617960b0b716b21cfbb643867f0aa57402fe5c3aa", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 497, end_line: 546 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 498, end_line: 547 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 499, end_line: 548 }] }, DuplicationBlock { hash: "d7ee98ce1e48cd3cee6d5f41905e05e92cc921829eca867a48b937afc183a3f9", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 17, end_line: 66 }, DuplicationLocation { file: "./src/cli.rs", start_line: 18, end_line: 67 }] }, DuplicationBlock { hash: "506768e5853cbda1b0a4b5862e3ff0206726ec029daecc4f331069adb9d8d9ac", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 174, end_line: 223 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 175, end_line: 224 }] }] }, dependencies: DependencyReport { modules: [ModuleDependency { module: "javascript_typescript_test", dependencies: ["debtmap", "debtmap", "std"], dependents: [] }, ModuleDependency { module: "debtmap", dependencies: [], dependents: ["dependency_and_coupling_tests", "cyclomatic_complexity_tests", "smell_tests", "javascript_typescript_test", "suppression_tests", "cognitive_complexity_tests", "complexity_module_tests", "main", "output_format_tests", "complexity_tests", "debt_tests", "lcov_tests"] }, ModuleDependency { module: "std", dependencies: [], dependents: ["coupling", "smells", "json", "cli", "dependency_and_coupling_tests", "ast", "cascade", "critical_path", "patterns", "smell_tests", "lcov", "output", "learning", "javascript_typescript_test", "python", "suppression", "git_history", "priority", "duplication", "tests", "suppression_tests", "complexity_module_tests", "cache", "lazy", "monadic", "walker", "complexity", "main", "output_format_tests", "mod", "rust", "metrics", "circular", "complexity_tests", "debt_tests", "dependency", "lcov_tests", "strategy", "markdown"] }, ModuleDependency { module: "lcov_tests", dependencies: ["debtmap", "std", "std", "tempfile"], dependents: [] }, ModuleDependency { module: "tempfile", dependencies: [], dependents: ["dependency_and_coupling_tests", "lcov_tests"] }, ModuleDependency { module: "dependency_and_coupling_tests", dependencies: ["debtmap", "std", "tempfile"], dependents: [] }, ModuleDependency { module: "suppression_tests", dependencies: ["debtmap", "std"], dependents: [] }, ModuleDependency { module: "output_format_tests", dependencies: ["chrono", "debtmap", "std", "std"], dependents: [] }, ModuleDependency { module: "chrono", dependencies: [], dependents: ["learning", "git_history", "cache", "main", "output_format_tests", "mod"] }, ModuleDependency { module: "complexity_tests", dependencies: ["debtmap", "std"], dependents: [] }, ModuleDependency { module: "cyclomatic_complexity_tests", dependencies: ["debtmap", "syn"], dependents: [] }, ModuleDependency { module: "syn", dependencies: [], dependents: ["cyclomatic_complexity_tests", "cognitive", "patterns", "cyclomatic", "cognitive_complexity_tests", "rust"] }, ModuleDependency { module: "smell_tests", dependencies: ["debtmap", "std"], dependents: [] }, ModuleDependency { module: "debt_tests", dependencies: ["debtmap", "std"], dependents: [] }, ModuleDependency { module: "complexity_module_tests", dependencies: ["debtmap", "debtmap", "std"], dependents: [] }, ModuleDependency { module: "cognitive_complexity_tests", dependencies: ["debtmap", "syn"], dependents: [] }, ModuleDependency { module: "mod", dependencies: ["crate", "anyhow", "crate", "crate", "crate", "crate", "crate", "anyhow", "std", "std", "tree_sitter", "chrono", "serde", "std", "std", "crate", "json", "markdown", "terminal", "anyhow", "std", "std", "crate", "std", "std", "crate", "crate", "im", "std", "cascade", "effort", "learning", "models", "reduction", "super", "super", "anyhow", "im", "serde", "std", "crate", "im", "serde", "std", "self", "self"], dependents: [] }, ModuleDependency { module: "crate", dependencies: [], dependents: ["coupling", "smells", "json", "terminal", "filters", "patterns", "insights", "lib", "output", "python", "suppression", "priority", "dependencies", "duplication", "tests", "cache", "walker", "complexity", "mod", "rust", "metrics", "circular", "strategy", "markdown"] }, ModuleDependency { module: "anyhow", dependencies: [], dependents: ["critical_path", "lcov", "python", "git_history", "cache", "monadic", "walker", "main", "mod", "rust", "dependency"] }, ModuleDependency { module: "rust", dependencies: ["crate", "crate", "crate", "crate", "crate", "crate", "anyhow", "std", "syn", "syn"], dependents: [] }, ModuleDependency { module: "complexity", dependencies: ["crate", "std", "tree_sitter"], dependents: [] }, ModuleDependency { module: "tree_sitter", dependencies: [], dependents: ["dependencies", "complexity", "mod"] }, ModuleDependency { module: "dependencies", dependencies: ["crate", "tree_sitter"], dependents: [] }, ModuleDependency { module: "python", dependencies: ["crate", "crate", "crate", "crate", "crate", "crate", "anyhow", "rustpython_parser", "std"], dependents: [] }, ModuleDependency { module: "rustpython_parser", dependencies: [], dependents: ["python", "python_patterns"] }, ModuleDependency { module: "cache", dependencies: ["anyhow", "chrono", "im", "serde", "sha2", "std", "crate"], dependents: [] }, ModuleDependency { module: "im", dependencies: [], dependents: ["critical_path", "insights", "git_history", "priority", "tests", "cache", "correlation", "mod", "dependency"] }, ModuleDependency { module: "serde", dependencies: [], dependents: ["critical_path", "learning", "git_history", "cache", "mod", "dependency", "strategy"] }, ModuleDependency { module: "sha2", dependencies: [], dependents: ["duplication", "cache"] }, ModuleDependency { module: "metrics", dependencies: ["crate", "std"], dependents: [] }, ModuleDependency { module: "monadic", dependencies: ["anyhow", "std"], dependents: [] }, ModuleDependency { module: "lazy", dependencies: ["std"], dependents: [] }, ModuleDependency { module: "ast", dependencies: ["std"], dependents: [] }, ModuleDependency { module: "lib", dependencies: ["crate", "crate", "crate", "crate", "crate", "crate"], dependents: [] }, ModuleDependency { module: "patterns", dependencies: ["syn", "crate", "crate", "regex", "std", "std"], dependents: [] }, ModuleDependency { module: "cognitive", dependencies: ["super", "syn"], dependents: [] }, ModuleDependency { module: "super", dependencies: [], dependents: ["cascade", "critical_path", "cognitive", "insights", "learning", "git_history", "priority", "effort", "tests", "correlation", "models", "reduction", "mod", "dependency", "strategy"] }, ModuleDependency { module: "python_patterns", dependencies: ["rustpython_parser"], dependents: [] }, ModuleDependency { module: "cyclomatic", dependencies: ["syn"], dependents: [] }, ModuleDependency { module: "terminal", dependencies: ["crate", "crate", "crate", "crate", "colored"], dependents: ["mod"] }, ModuleDependency { module: "colored", dependencies: [], dependents: ["terminal"] }, ModuleDependency { module: "json", dependencies: ["crate", "crate", "crate", "serde_json", "std"], dependents: ["mod"] }, ModuleDependency { module: "serde_json", dependencies: [], dependents: ["json"] }, ModuleDependency { module: "markdown", dependencies: ["crate", "crate", "crate", "crate", "std"], dependents: ["mod"] }, ModuleDependency { module: "walker", dependencies: ["crate", "anyhow", "ignore", "std"], dependents: [] }, ModuleDependency { module: "ignore", dependencies: [], dependents: ["walker"] }, ModuleDependency { module: "output", dependencies: ["crate", "crate", "crate", "std"], dependents: [] }, ModuleDependency { module: "coupling", dependencies: ["crate", "std", "std"], dependents: [] }, ModuleDependency { module: "duplication", dependencies: ["crate", "sha2", "std", "std"], dependents: [] }, ModuleDependency { module: "regex", dependencies: [], dependents: ["patterns", "suppression"] }, ModuleDependency { module: "suppression", dependencies: ["crate", "once_cell", "regex", "std", "std"], dependents: [] }, ModuleDependency { module: "once_cell", dependencies: [], dependents: ["suppression"] }, ModuleDependency { module: "circular", dependencies: ["crate", "std"], dependents: [] }, ModuleDependency { module: "smells", dependencies: ["crate", "std"], dependents: [] }, ModuleDependency { module: "filters", dependencies: ["crate"], dependents: [] }, ModuleDependency { module: "main", dependencies: ["debtmap", "debtmap", "debtmap", "debtmap", "debtmap", "debtmap", "anyhow", "chrono", "cli", "core", "debt", "rayon", "std", "std"], dependents: [] }, ModuleDependency { module: "cli", dependencies: ["clap", "std"], dependents: ["main"] }, ModuleDependency { module: "core", dependencies: [], dependents: ["main"] }, ModuleDependency { module: "debt", dependencies: [], dependents: ["main"] }, ModuleDependency { module: "rayon", dependencies: [], dependents: ["main"] }, ModuleDependency { module: "strategy", dependencies: ["super", "crate", "serde", "std"], dependents: [] }, ModuleDependency { module: "reduction", dependencies: ["super", "super"], dependents: ["mod"] }, ModuleDependency { module: "models", dependencies: ["super"], dependents: ["mod"] }, ModuleDependency { module: "cascade", dependencies: ["super", "super", "std"], dependents: ["mod"] }, ModuleDependency { module: "effort", dependencies: ["super"], dependents: ["mod"] }, ModuleDependency { module: "learning", dependencies: ["super", "chrono", "serde", "std"], dependents: ["mod"] }, ModuleDependency { module: "tests", dependencies: ["super", "crate", "crate", "crate", "crate", "crate", "crate", "im", "std"], dependents: [] }, ModuleDependency { module: "lcov", dependencies: ["anyhow", "std", "std", "std", "std"], dependents: [] }, ModuleDependency { module: "priority", dependencies: ["super", "crate", "im", "std", "super"], dependents: [] }, ModuleDependency { module: "git_history", dependencies: ["super", "anyhow", "chrono", "im", "serde", "std", "std"], dependents: [] }, ModuleDependency { module: "critical_path", dependencies: ["super", "anyhow", "im", "serde", "std"], dependents: [] }, ModuleDependency { module: "dependency", dependencies: ["super", "anyhow", "im", "serde", "std"], dependents: [] }, ModuleDependency { module: "self", dependencies: [], dependents: ["mod"] }, ModuleDependency { module: "correlation", dependencies: ["super", "im"], dependents: [] }, ModuleDependency { module: "insights", dependencies: ["super", "crate", "crate", "im"], dependents: [] }, ModuleDependency { module: "clap", dependencies: [], dependents: ["cli"] }], circular: [] }, duplications: [DuplicationBlock { hash: "e5760cd204fd559e4d1067fc79831532274605237d55c598e8b4d74d9a30d1ec", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 113, end_line: 162 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 114, end_line: 163 }] }, DuplicationBlock { hash: "be2bd7a98ad273f3ec47801d3b9e01df2da111e2cf717e9d70b9b83622c69259", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 87, end_line: 136 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 88, end_line: 137 }] }, DuplicationBlock { hash: "d10d87d782f28b7bd326f3d556ea41b5b72082508291640dff7a94651ecd748b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./src/main.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "33078724ba13de9e6380d773074311b48b3d600266976912866c3965501a9ca7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "29cdd365564b0548a67435d9eba229e0ccbb17efe23525e44df609b223f02d99", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 361, end_line: 410 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 362, end_line: 411 }] }, DuplicationBlock { hash: "98c02c7ab82fc16293cacbdf8ad49d288d818c5f7b534d1dd590df6262dae5ba", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 353, end_line: 402 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 354, end_line: 403 }] }, DuplicationBlock { hash: "52cb1397062647fbe0130e49f6a15af20c0edd374b705fe6c031d642232f59fc", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 319, end_line: 368 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 320, end_line: 369 }] }, DuplicationBlock { hash: "2e1faa23ddcaf6869175ca82072b701b2d9394861eee7f3feb1ae0ac324f4d83", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "0906fce575344c5aeba2e2e0e9003309e04fafab93c18fd985aa5c154118faa1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 581, end_line: 630 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 582, end_line: 631 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 583, end_line: 632 }] }, DuplicationBlock { hash: "d83a4f402033da843769cbb23575fced437b36d70c60365e8aebd17b529c4ab6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 371, end_line: 420 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 372, end_line: 421 }] }, DuplicationBlock { hash: "27f646ff5b0b5d6324bc1aedb92cb7694f3205a9bf4d236925fa0c8783a2358a", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 231, end_line: 280 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 232, end_line: 281 }] }, DuplicationBlock { hash: "569589a497393231f623945c83575ea9f0756d921b434fb864c2079916983a81", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "59d465736e963fdcd941e4cd7ce572188c406d3127e777b9bcea86342b105d7a", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 167, end_line: 216 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 168, end_line: 217 }] }, DuplicationBlock { hash: "48e64b648e0b143ccbf87e874632ff98272221c51bdd1885795fa70fba60b523", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 311, end_line: 360 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 312, end_line: 361 }] }, DuplicationBlock { hash: "f7fb833516bb635e1b19d5b6671e5967f5236b400022965bf1a7e5abcf507664", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "319a67f52df74220dd4ee822bd9ca05245a54b8609d14bd403f7b6b122bd6727", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 102, end_line: 151 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 103, end_line: 152 }] }, DuplicationBlock { hash: "fb3ab8f01bc79cb2bac638c760674f6b317e60e4ee7a39ba6c6b6d877748f6f9", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 201, end_line: 250 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 202, end_line: 251 }] }, DuplicationBlock { hash: "835e9d9b6b1a8449f23cbd03425f26180bebef29dbaa1e22c85ed7167c219f40", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 554, end_line: 603 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 555, end_line: 604 }] }, DuplicationBlock { hash: "f2ec550a02ffe2baabe4aa792bc6fae357c20fe82f9e2e767ea3cded59216e5a", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 18, end_line: 67 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 19, end_line: 68 }] }, DuplicationBlock { hash: "d1ccd35147d1461863170eea3491f3e44250006b86273b68a9475ed2f6fa8b36", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "33c38a8a2f58fbabc96d87a51563b225aa20865ac5e7bdd48e985197cedcd418", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "8470cae8fb8c87a80b9c22c42e9c2816084e0d1d7ba9b1f3cebdf84065a053bd", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "a51d4f048083d7cad99530836d67c6a061c00655942b59d24480a1e8edf2407e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 328, end_line: 377 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 329, end_line: 378 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 330, end_line: 379 }] }, DuplicationBlock { hash: "f60c80cc050f5a40890e45571e2a79e6a5633292c142e984e28c96e4648ff2fe", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 180, end_line: 229 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 181, end_line: 230 }] }, DuplicationBlock { hash: "0041abeba144a7fc8caee6442ca494b2a79320bef90f5302b8cd8d3386a13cce", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 407, end_line: 456 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 408, end_line: 457 }] }, DuplicationBlock { hash: "832c184cf3807c182c214423b1e5b5ff608bcb2edb173bf456c22eeacc4863cd", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "cebc8bd5acf9bc2598f67e1b3a37746fa319fbb45cfa8697fa74bd740fe72827", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 480, end_line: 529 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 481, end_line: 530 }] }, DuplicationBlock { hash: "ebade17eae06eeeaa8099ecb4499d8f935c204dbfb64eb4842cf13c576aea54f", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 80, end_line: 129 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 81, end_line: 130 }] }, DuplicationBlock { hash: "d2f45acd296316d6e5a35f3f4c052b16ad539da51f2305ba3d58a8248cbec9b8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 338, end_line: 387 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 339, end_line: 388 }] }, DuplicationBlock { hash: "d5adcaff1e6e335e144cb5d38565d91aaed1a8a22e3b176cb35611b36662a2fa", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "d93cfc6da2762aa97263ee640c6439db3fa1a3e402761be9b82fe51bcc423cfd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "e5208dd06d3222584c93d3e871ecc8efa7d43f1f80b897460b6d26204439767a", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "bcbb5823a5da1151e098713bc26a704066250eed993dbe1a34abfaaba1efde60", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 190, end_line: 239 }, DuplicationLocation { file: "./src/main.rs", start_line: 191, end_line: 240 }] }, DuplicationBlock { hash: "cdcafaa1d3ef250a86a96e7c90ef671df08ab54e97e0aa0de8a5adf231df0a56", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 101, end_line: 150 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 102, end_line: 151 }] }, DuplicationBlock { hash: "e415ff951de041d83431e8769440ff8870b06a1681386ce96381495635076aa0", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "456435efa6f9b314ccb78ac3e651962990a92f6abbfe8bc3718307a1c2d02e97", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 166, end_line: 215 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 167, end_line: 216 }] }, DuplicationBlock { hash: "da8978ee755aa5f872c84770f8b18165f9546554ac3514fbe0a5f9235d578ee8", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 254, end_line: 303 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 255, end_line: 304 }] }, DuplicationBlock { hash: "3a934c821472ad4271a6fa8ed248324a9b077893a2293329e697b3ee83d2e8b6", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 110, end_line: 159 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 111, end_line: 160 }] }, DuplicationBlock { hash: "b067813ce343df50f14ae8a6d7aca501fb830ee2dd00c2dd322efac6af199825", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "0be8f4a4af424dd74e54a944d225af3f2ac1e39deaa1c79da8106200026873b7", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 226, end_line: 275 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 227, end_line: 276 }] }, DuplicationBlock { hash: "9b30fa40fe338f1ea14a565e8fa8dafd835f6c242d6b8c54892415295127ab68", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "586f8a330edec08968dcc2bd11d732742c7ab0318553a5c20ab189c7355803a4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "c4d68bc92ca5945d911a696a370639543757e952b43f69649c2984020a3dc76d", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 145, end_line: 194 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 146, end_line: 195 }] }, DuplicationBlock { hash: "eced40cffadf38bc2e740963f070d0df710aec0f9427ed72c9e11783b24bf4ca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 290, end_line: 339 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 291, end_line: 340 }] }, DuplicationBlock { hash: "9a289e3517d2866a1387af94c0a1b90b3d62b01c88e5752b5b2ab482092f93eb", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "ec0a7af726ada7d41332bd5d218ed96cc35cec4a2a2d327bdc8272b379c09a2e", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 47, end_line: 96 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 48, end_line: 97 }] }, DuplicationBlock { hash: "d0183371fef793a4beb9121fb27fc4724b7405872c8afea1e98f9d5eb6b67f6a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 357, end_line: 406 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 358, end_line: 407 }] }, DuplicationBlock { hash: "16b3150621b983b3f2c99e5a09cd80b87abb8b4e04b4d44130aefebde15d2229", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 273, end_line: 322 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 274, end_line: 323 }] }, DuplicationBlock { hash: "287642f0a75942a9a5e831cb33b0192f6a0c8342e853a05a059255c7db465b65", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/main.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "7b2314cfdef226e1a1d3dd6a016a6bc85a8fe20197c0c73b003341cf1a83ca61", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./src/cli.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/cli.rs", start_line: 7, end_line: 56 }, DuplicationLocation { file: "./src/cli.rs", start_line: 8, end_line: 57 }] }, DuplicationBlock { hash: "d88718af8d320b8b3c7a93f9a910ab19c0c3f788d44c50b6df9d40180dc66d43", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 308, end_line: 357 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 309, end_line: 358 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 310, end_line: 359 }] }, DuplicationBlock { hash: "c524382a5ed40bb73751d9309138931f7b969911533f052d72a057443ec810cc", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 73, end_line: 122 }] }, DuplicationBlock { hash: "2abc301bdbaa3fa236646b66039f330d59046ff260a0624834d2af0e34dbf650", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 63, end_line: 112 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 64, end_line: 113 }] }, DuplicationBlock { hash: "5cf3b97d6d1997270feafc2759d4eb7ed960ce3373dbb517ae7f1ad4b2395bdd", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 25, end_line: 74 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 26, end_line: 75 }] }, DuplicationBlock { hash: "019ca2d2666c36de65f02bbe07fbab2b6ded45744e72db89d0af722f06c71101", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/cognitive.rs", start_line: 10, end_line: 59 }, DuplicationLocation { file: "./src/complexity/cognitive.rs", start_line: 11, end_line: 60 }] }, DuplicationBlock { hash: "da8bcf03443dcee33c6bebfc4b4aa61c377c4800024354562996204c5229fe36", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 420, end_line: 469 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 421, end_line: 470 }] }, DuplicationBlock { hash: "0067f73be0e00e277b788e9d881bcd8c48c9b028a7f2ce7bb90e3e9278af8d19", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 76, end_line: 125 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 77, end_line: 126 }] }, DuplicationBlock { hash: "b70a25454f44726224fcb10b1f301006c9c82238d12e64addb909e579601cb63", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 244, end_line: 293 }, DuplicationLocation { file: "./src/main.rs", start_line: 245, end_line: 294 }] }, DuplicationBlock { hash: "084f043f6376ed11fbaacc3f55177fe1b06bf1e0198c5f3df7e05470c4f570d6", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 62, end_line: 111 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 63, end_line: 112 }] }, DuplicationBlock { hash: "cf19d36358d4f8459e8ae74fbebba200a9b9b5d0b9f845ab13b04f5093946573", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 224, end_line: 273 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 225, end_line: 274 }] }, DuplicationBlock { hash: "1425ff162b724c7eca0e40510d309a9cd578effacfbcb9aebd4a6a8bcb33c63f", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 90, end_line: 139 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 91, end_line: 140 }] }, DuplicationBlock { hash: "93055ba834279ee1f831e05a2874ba0e0416c5030a8e1db410145eac3a91438c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 832, end_line: 881 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 833, end_line: 882 }] }, DuplicationBlock { hash: "2e68812209ca864f8f5de53f58362f2f760294fe1bf2f1d17a68eef2b92ebded", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "92348feefcd51ad39cc8ebc94facedfb6acf6f63619fed0c20d4ee16a627a1e9", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "cbb8439f46ed9b10644c1a9ede0bde58bff328e38cedbb65538ecacb4b473975", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "3de5cf20b3cfd2765b9913c286cd8e8ffb60b82a15f4f2adf52d96d5fe7b3af3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 88, end_line: 137 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 89, end_line: 138 }] }, DuplicationBlock { hash: "ca9029dfc065df651accd6d77b12c4c4f3cbb13b964b5291e464568515eb6d54", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "f34c4099dcd12f33220091a41dca7739bc8be7621160ea8129eab540bc8e87ba", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 249, end_line: 298 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 250, end_line: 299 }] }, DuplicationBlock { hash: "f24168b60582a57832b117651d4d26ffe5dd2e412c4cc78f59e09a8ce4b62033", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 122, end_line: 171 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 123, end_line: 172 }] }, DuplicationBlock { hash: "72efaf7f69405a123955451b46938b2b86c9d08c7f35ef3f081a6c839206f24b", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 314, end_line: 363 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 315, end_line: 364 }] }, DuplicationBlock { hash: "1ec75f0dfc3be9221980c5301cdee8cff4386127b957f5efd947b688de215f00", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 50, end_line: 99 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 51, end_line: 100 }] }, DuplicationBlock { hash: "18c581f1bb4eaf60bbcc2a2bae2d9d8af4044cea246ae17e57f1deeab9f31fcf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 179, end_line: 228 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 180, end_line: 229 }] }, DuplicationBlock { hash: "f1d0e3d5ca3d5ef7f92657304d4139edccdcdc96e9c69b2c3f51fb5aaa63308b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 82, end_line: 131 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 83, end_line: 132 }] }, DuplicationBlock { hash: "71482ed2bd6813fc102e0aae04d5d13a4e23b9e3da1768fdc5bde8c6102c0efd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 181, end_line: 230 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 182, end_line: 231 }] }, DuplicationBlock { hash: "49a03b204cb6c9e51079d0843aed8af56a25f4431d2b92cae9e18b2f5b8861ee", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 411, end_line: 460 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 412, end_line: 461 }] }, DuplicationBlock { hash: "df4bca2d1c570c5445a989c05898269c220ccd4ea4ac586d0a9c665546d67b1f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 489, end_line: 538 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 490, end_line: 539 }] }, DuplicationBlock { hash: "051284550a89dce0d2942ce96108a3b8cc60aa9d969b471a9608a66bdc14b5a4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 345, end_line: 394 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 346, end_line: 395 }] }, DuplicationBlock { hash: "1a77a479623d3097646384057abcb82cadedcb35d1d2198af1165e22afb9d086", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 235, end_line: 284 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 236, end_line: 285 }] }, DuplicationBlock { hash: "9b60012c68eb63c4d1adc6301c4ba0376682a4a139a30fd5792b70ace8d43402", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 324, end_line: 373 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 325, end_line: 374 }] }, DuplicationBlock { hash: "29b6a76693e76da71b34a25c0f690dc554d54daf0e28d36c4a61cdba6c0d768a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 238, end_line: 287 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 239, end_line: 288 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 240, end_line: 289 }] }, DuplicationBlock { hash: "26c2c266a4dafbe3f7e450674d0522f0f691ab03f7424bfdeb7fb3b881257185", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "dfa8eb62338022b0a2758715afd92d06587427463a3ea4c448443a231cec7209", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 174, end_line: 223 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 175, end_line: 224 }] }, DuplicationBlock { hash: "264e3bd67ab03fe554ca366d81a5647e73e680f3fedc9fc5449b0daaced400dd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 121, end_line: 170 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 122, end_line: 171 }] }, DuplicationBlock { hash: "fd4563f09b1cff6aa6d604e74c38e08495b618b37d381ec7c66f75cb6fac7057", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 273, end_line: 322 }, DuplicationLocation { file: "./src/main.rs", start_line: 274, end_line: 323 }] }, DuplicationBlock { hash: "33730cc312940438768dc07566ebf15172365cf7939f21ead570c8573cdb5c17", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 89, end_line: 138 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 90, end_line: 139 }] }, DuplicationBlock { hash: "9b540bb1d98a540d717495418639e5bc12d1d229dfc149c115c1fbf10f974ec9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "408f74b12489123d7ff0e92a8af411258efdd97be0aa70324cb70e41ce3790a8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "a0b4727194965cd37ae8c310e6feb21be4a8b24e04a985ab57d769472e78809d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "630671283eb6c5f5453d71c0b6467eb9af4d497dffad45002c92126d3576694c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 61, end_line: 110 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 62, end_line: 111 }] }, DuplicationBlock { hash: "c0b2d3b9a083dc82de05c4bcf98a34f7d592badf5b2dc37c7fb64b9898a66a6f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 106, end_line: 155 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 107, end_line: 156 }] }, DuplicationBlock { hash: "c14a1be95a65372d931c73bbf23bc966981a199a579b8a0e6ea06ed9654abac4", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 2, end_line: 51 }, DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 3, end_line: 52 }] }, DuplicationBlock { hash: "12316ac9111ee010b94043f59e7859183d51afb64e59fec9a12498c5d715b9c6", lines: 50, locations: [DuplicationLocation { file: "./src/core/mod.rs", start_line: 104, end_line: 153 }, DuplicationLocation { file: "./src/core/mod.rs", start_line: 105, end_line: 154 }] }, DuplicationBlock { hash: "9a230f208c15c4b0d4fa56beb76c5a386111cd73eabad39b7f69bfcdab63b3c5", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 22, end_line: 71 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 23, end_line: 72 }] }, DuplicationBlock { hash: "9c50659dc11741b4f25a4f495e0d4876e59a3ddb6378441dae7a85cd08ef7718", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 321, end_line: 370 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 322, end_line: 371 }] }, DuplicationBlock { hash: "91e3bca1203a5b33910aeb20d08fb4e8d468a7ac7ba11135cb246d50a393bbec", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./src/cli.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "ca9016bd8a157af3ad6ee871c5dea2630b862a7edf2bac59736635f5c4576b61", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 164, end_line: 213 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 165, end_line: 214 }] }, DuplicationBlock { hash: "0426e2980130641d493f6ebaaae574cd87f7ca2b54263945ce2127e476e3d4f4", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 155, end_line: 204 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 156, end_line: 205 }] }, DuplicationBlock { hash: "f5b57f114b46a5bd070f7c13abddb9b956727b8d7b3a50118c5ef4bdfdddfce8", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 153, end_line: 202 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 154, end_line: 203 }] }, DuplicationBlock { hash: "be882a53912b781b64781b8eaf579505d06d8ce94a6998e878abe1871f053b92", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 4, end_line: 53 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 5, end_line: 54 }] }, DuplicationBlock { hash: "889298ad9749e3e40bc8d5992b8f0dc7c67102b1a367a79f060aad5da3a65eec", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 404, end_line: 453 }, DuplicationLocation { file: "./src/main.rs", start_line: 405, end_line: 454 }] }, DuplicationBlock { hash: "4fafc97888b5743cb0b73f7b062b10200bfbdabe63222e3258b8e4c6b414797d", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 50, end_line: 99 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 51, end_line: 100 }] }, DuplicationBlock { hash: "1c417fa21f96e5098b72bb01a6cde5fc1472ce79c534e1e49c1e680f8cefcc18", lines: 50, locations: [DuplicationLocation { file: "./src/debt/duplication.rs", start_line: 33, end_line: 82 }, DuplicationLocation { file: "./src/debt/duplication.rs", start_line: 34, end_line: 83 }] }, DuplicationBlock { hash: "8eae70f33a0e09d99a5d3296f63214a9c7ac357dcd60a6b013633d1f7ed87d8e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 99, end_line: 148 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 100, end_line: 149 }] }, DuplicationBlock { hash: "8d1ca5a80e2ad8138d90cf8b1b5a1e39f88c6b51939660237e5c22b89734b547", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 256, end_line: 305 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 257, end_line: 306 }] }, DuplicationBlock { hash: "0a00e53cd8fd712fd7a03e26072c24515859eb82d5979ca6002d0c86b578c0ad", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 882, end_line: 931 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 883, end_line: 932 }] }, DuplicationBlock { hash: "a41443d59867c111e1e4b04766f5f93bff3c8fed80df629c1d3ad845e1ea8ecd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 348, end_line: 397 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 349, end_line: 398 }] }, DuplicationBlock { hash: "738e538e44d5dec716ae5c464a3d0ba9242718f4c667da7e1166efac90a3a9d0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 156, end_line: 205 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 157, end_line: 206 }] }, DuplicationBlock { hash: "467ff1f354b45ed4b043a77a5d6162a9f348b27f882a9bafb0014f33c8c58750", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 294, end_line: 343 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 295, end_line: 344 }] }, DuplicationBlock { hash: "620bb107fcdbfffc927a4eade9be89577ff9a2740b237378d1390185cde561b1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 999, end_line: 1048 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 1000, end_line: 1049 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 1001, end_line: 1050 }] }, DuplicationBlock { hash: "1c7e1152310393a77ae10aa294af2178f8b160d74e3b28e2f1b7bc3938a066fd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 89, end_line: 138 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 90, end_line: 139 }] }, DuplicationBlock { hash: "9652cc14bd49b5cb984f02279e15238d71b7a44ef8da82afb9fc9deb459ebfe0", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 204, end_line: 253 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 205, end_line: 254 }] }, DuplicationBlock { hash: "e7b1a4d718f7067810e5c3d285578862db20efaf1ab8933531ce97408b1d1b18", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "eb5c23c7b1260fb74434bdb6fa05481597cfba33d28987e6d10c87823ce63be0", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 110, end_line: 159 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 111, end_line: 160 }] }, DuplicationBlock { hash: "0eafaaf486c53260c94e7f8f1bdb74bb976ce68f2c0124fbdee917fcf607e293", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "677f1c9059255b6408edf4b5f09eb3e74d4a2370a93dc6711a04a251592484f1", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 146, end_line: 195 }, DuplicationLocation { file: "./src/cli.rs", start_line: 147, end_line: 196 }] }, DuplicationBlock { hash: "d97e8d5b33606a5d47b2ab6485589f197b15675993b115999ef4ddb647a69c2e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "76037990e227e27966344fe43652c3a0e0c4eb7f28ccaef35b52e2ba6a2c59f5", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 302, end_line: 351 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 303, end_line: 352 }] }, DuplicationBlock { hash: "7b11cba7ad7466590797d24e480951212844c0702b2b850d7e091ca56cbdf6a3", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 168, end_line: 217 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 169, end_line: 218 }] }, DuplicationBlock { hash: "5eab500440e0c708f642a41c7896b7bcdc931010c6af75cd1b7843641055d061", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 264, end_line: 313 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 265, end_line: 314 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 266, end_line: 315 }] }, DuplicationBlock { hash: "0f968b2a666709affadb0c9430028e8f94d87641f1bb1a26a03c8f45bebace27", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "08d1753d654eda576de7b6037502be41788445e25053129c13763fe88052829e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 358, end_line: 407 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 359, end_line: 408 }] }, DuplicationBlock { hash: "99e461aa4bcb374d5a5b08fd7152d0b1842f25d5e79b517448d70f3824e9eb95", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "43e153850dd731ed1bfe6e87cf8681efd2321dcf18a4bc25f0fd6923f68c5d5b", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 42, end_line: 91 }] }, DuplicationBlock { hash: "71f34d92166c72c64e7136a5f32578d19075a6abde3514b162b7063e3e889e31", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 43, end_line: 92 }, DuplicationLocation { file: "./src/cli.rs", start_line: 44, end_line: 93 }] }, DuplicationBlock { hash: "6b4f933bcac2815934e0ad5de61bd91ea69789c7ca537b27fe704e72490616d1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 519, end_line: 568 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 520, end_line: 569 }] }, DuplicationBlock { hash: "ac6147eddd52169f2107641d3dca8c1614abea2bd9e6b74828c02b7b8ac29412", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "fbffa4c71835158ded38967c518d46fd0c451f3a74a193b84dece4eb7a02e3ef", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 44, end_line: 93 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 45, end_line: 94 }] }, DuplicationBlock { hash: "6af3cf8c9852cb3826b7637b9d2380c7fe93c25e18b7a0462ef4974ea589b8d3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 91, end_line: 140 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 93, end_line: 142 }] }, DuplicationBlock { hash: "43cddec76b47160a9a5d4ece508327e13536083e0ea964436937a84c08cd184b", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 139, end_line: 188 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 140, end_line: 189 }] }, DuplicationBlock { hash: "1f40400817e4ae333a9ea5f37bfdb3dd52a6c7f781c435fbc9764e64817d7d7d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 93, end_line: 142 }] }, DuplicationBlock { hash: "14a30b105bafd97bef8636e6e59c4e4e0d3b831c4fdf73b4a0377eb2e8524e1c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 126, end_line: 175 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 127, end_line: 176 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 128, end_line: 177 }] }, DuplicationBlock { hash: "26df3c02fc4f78a7d2f97d412db0f557924ef9ef6e4abae06a44cc22f32ba2fa", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 36, end_line: 85 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 37, end_line: 86 }] }, DuplicationBlock { hash: "ac26b9451d759934822746d1e57732874ee5b5f12a0250377f6b3c33c9daf869", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./src/cli.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "71dceeacdbdf81325b885f8bc27fb5cc442bbec7112c8e90097ca35302d7fcd3", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 17, end_line: 66 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 18, end_line: 67 }] }, DuplicationBlock { hash: "d86de563551e47430a4e267564580548fe8fbe80e6895be1b88c6aadc07d69b7", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 353, end_line: 402 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 354, end_line: 403 }] }, DuplicationBlock { hash: "eff36507bf0c78066dd64a7c91d03359380e48ebf76efb2cfce5ecb74f9f0a10", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "f62f59e550ff146f735b9cc55da5e9a3d2b623d6fc26ebf75e13cb202e2fe942", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 236, end_line: 285 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 237, end_line: 286 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 238, end_line: 287 }] }, DuplicationBlock { hash: "7ea84068f0ab27fa72c6aa241ac095389e8aad77952dea146c9feef6f7074b9c", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 102, end_line: 151 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 103, end_line: 152 }] }, DuplicationBlock { hash: "211e0c754ac835bb6581a44ebd56a75179c0d0525ef9b4db39a1269bf53fe5c7", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 240, end_line: 289 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 241, end_line: 290 }] }, DuplicationBlock { hash: "371f77f1abeb56bfd8e590dbed8bb0e5394f8ca6e6d854ffb57a140141077861", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 73, end_line: 122 }] }, DuplicationBlock { hash: "c4d6258063f2f4e9ba07b5dfc4cf2ac08be3d06aec8178454156ca6c07daf620", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 178, end_line: 227 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 179, end_line: 228 }] }, DuplicationBlock { hash: "30190ae90ada8ee68f645524a6d34dd98b72cacb42416e7b784a5955251b041e", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "d27ee1884ef69cb6ffc96e1fb4fb532df788a5d3c9ee9f8c683a86f3ee33fd9a", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 120, end_line: 169 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 121, end_line: 170 }] }, DuplicationBlock { hash: "6027cec6ddf7edcacb2703d9d1620f266790e8b1f53dd8b448c02f2b7a8aac53", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "93bafb71117715540f48fe6c6a6abffd05aec173888f8d3f26df4665d30fb1d8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 719, end_line: 768 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 720, end_line: 769 }] }, DuplicationBlock { hash: "0f25ba97e3f131fa901ca050038f38f52b27014104d93d0a1e98bccd0e2f77ca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "d5c571c373d643192b316dffc081ece2d20ccede38e46b125231cda408e07a1b", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 390, end_line: 439 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 391, end_line: 440 }] }, DuplicationBlock { hash: "5135acffb13df194f3b10eacd0c54da58dc43c4405846fb8ff2b8f61204d0011", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 389, end_line: 438 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 390, end_line: 439 }] }, DuplicationBlock { hash: "cbb96d8827de488d7b199b2b6154f8be48c5f5952a343d814b1469ab0aabf439", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 181, end_line: 230 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 182, end_line: 231 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 183, end_line: 232 }] }, DuplicationBlock { hash: "ab960ff404b0c83c07d67f8450d1aa51e7d66e296357596c82b9f4e7a5ad6d04", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 215, end_line: 264 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 216, end_line: 265 }] }, DuplicationBlock { hash: "de9492b748f909bca5668c72fa361484eee065145ab99854fbb21e423e87ab83", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "5e17fa2f176bfe32d769561c2dea9a907652d88d0a63afdba48af8e2ce71a1f3", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 187, end_line: 236 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 188, end_line: 237 }] }, DuplicationBlock { hash: "803f074b715862735f8f4d36dfb8391583841e97265a98437b68857e5c7627c2", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "92a6c3534d0a7103aebb0389f788e45bf653cd0482eac8e9e991ff9a60558bff", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 274, end_line: 323 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 275, end_line: 324 }] }, DuplicationBlock { hash: "437ff20d9983466f9d46a25624329cdcd6bff26e425bd065de25d63c4dae54cb", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 68, end_line: 117 }] }, DuplicationBlock { hash: "205f88ec24b9bdd79ca17191ad7400798e6ca6ff3c93b94000d101d32af86c02", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 442, end_line: 491 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 443, end_line: 492 }] }, DuplicationBlock { hash: "9106dcb2f9b6b44044617b49e4dea39c99263fb79ff204047262215737ed6934", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 693, end_line: 742 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 694, end_line: 743 }] }, DuplicationBlock { hash: "5eeb688e9e1820390aed9722f144112d954a1dff4147143e019155ea2f57a257", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "5fabd446a1c78afaa1723732f7b357bfdf3a6f7c3fffe16f1232363ea81f9cda", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "55a9c57f16a0f1ba0fbe4d68f058de8abbac4ac1ec9153af1c17af0076cc58f3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 376, end_line: 425 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 377, end_line: 426 }] }, DuplicationBlock { hash: "485d76930d6281dd5f7f4e43c0a046c1d2a54bdb5f0fa5acca1141f5f0760c2a", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "4e5dbe747017267068353a854be0e21186727d02d4951d8a25e53f4cb06a2369", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "46829d42c336d6de7d499844515fde0b3e99f99adbb1a67b117872b86f3931a4", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 138, end_line: 187 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 139, end_line: 188 }] }, DuplicationBlock { hash: "dac4bcb7f2cd926643af8f10c59cebeed73eaacba384d573c654e1b5088b21a7", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 144, end_line: 193 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 145, end_line: 194 }] }, DuplicationBlock { hash: "4e196224ba3a462099b0c3ed1af6229a3296d36c7e2ed8a2fcd9a5c5b78e87bc", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 336, end_line: 385 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 337, end_line: 386 }] }, DuplicationBlock { hash: "448b43017f3670f3af2983164976a0b9e46e308729bf9b7210c19679309a33d8", lines: 50, locations: [DuplicationLocation { file: "./src/io/walker.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/io/walker.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "8e0e33e9d9dcb5ffd4e8044bae97edbb8f394ca301bd98b107d39e6c89f893e3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "9b862bd0f54447823a513ccaff1bfaf7afa09e9b24be51cafd68f80aa33f7a3a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 142, end_line: 191 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 143, end_line: 192 }] }, DuplicationBlock { hash: "cb71e1978ff5a210603dd3c2db1a83ae1554177ab30b04dc969595c31b746498", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 374, end_line: 423 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 375, end_line: 424 }] }, DuplicationBlock { hash: "b82f917c8ed011735a2e44f09a4f0699818d6228415fa10ec069c9deb608b3fa", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 647, end_line: 696 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 648, end_line: 697 }] }, DuplicationBlock { hash: "35f41e811f7d20c6e8c5791a3d623e9712fb5b2d2d40ed1617587e8acf238640", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 132, end_line: 181 }] }, DuplicationBlock { hash: "106b778ac0d10b7b011ea54bd7bde274b130885c44d51e74a99fd60987a6d260", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 296, end_line: 345 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 297, end_line: 346 }] }, DuplicationBlock { hash: "bb5b4b7c68e71f468487fcc067cf9fac17371568c99a5ed57709f3d789ab20fd", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 90, end_line: 139 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 91, end_line: 140 }] }, DuplicationBlock { hash: "a5c51339fae42e202af978bd2692d8fc2bce29f7cfd6180c8141d90bbb1f5426", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "5bb6ea49f4ce6d745d66983365ed6be97b38fb624209298cef3e7ebc55123dd7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 472, end_line: 521 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 473, end_line: 522 }] }, DuplicationBlock { hash: "b78d47a7bb3e45b3ae7417e5c30009972ca7317e5ce528bb300252578fe66834", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "f39bce20eb8b1c650033aac536c6f4b0fab9b026573df60da17111eb73de728d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 426, end_line: 475 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 427, end_line: 476 }] }, DuplicationBlock { hash: "85cdd9f9db08cdc531b81b90e523a29a91441dd877b6e677c6bcffbf5dcce44b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 23, end_line: 72 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "92b47c0afe34a6084a06242b0c3e9b1ca3e052a1ed3af8ab306b5922ed3e9ba2", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "7a0f3f244f55f9a8bf4bf9ab826dda4aecc3957c2d4db78d8c342fa3cf3190af", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 27, end_line: 76 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 28, end_line: 77 }] }, DuplicationBlock { hash: "e5ae04c77c7ff0ff852620cb99e40d923e596a52d76e1cf72df464dbce863b32", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 118, end_line: 167 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 119, end_line: 168 }] }, DuplicationBlock { hash: "59ce58dd4a7da5d5e52fe55135813729bac4019c660c850ed76ffde89990f8cf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "8382b2df58c6e5d1ca5bac8ba5693c022695f3032fc573ea769460b64a8d4f82", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 131, end_line: 180 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "7538bedae45b55c8dd42e7088f70ae7e4e559237ddad6bbfba868d9499c60ba8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 154, end_line: 203 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 155, end_line: 204 }] }, DuplicationBlock { hash: "ec34d3f00bdff90c9ddc33ec8d4dfd08080f9886743f61d95daf783a5a99ac90", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "ce64422575b69337088c281e0abeb570c6a96842f7426cda7dcde42b4b92f3e7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "9d4745091d5322c9afc144a13a3289740d007de294ce9ae99dd253172556bc15", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 184, end_line: 233 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 185, end_line: 234 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 186, end_line: 235 }] }, DuplicationBlock { hash: "d3b2d3dcdec6d32a8ceee45af9c3f2528ef48483830627be5726f281f8011798", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 72, end_line: 121 }, DuplicationLocation { file: "./src/cli.rs", start_line: 73, end_line: 122 }, DuplicationLocation { file: "./src/cli.rs", start_line: 74, end_line: 123 }] }, DuplicationBlock { hash: "bc90be45120a73569a6adba15932b65c30fa35f93254869e8a85c7598fddb175", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 343, end_line: 392 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 344, end_line: 393 }] }, DuplicationBlock { hash: "4cb3b0191d8b2a9cf482da7991ef28e08e70eb712bf23dce0da4db7eba00a6c1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 185, end_line: 234 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 186, end_line: 235 }] }, DuplicationBlock { hash: "b29867f3ae8d149add43a5ea3db67276c177cb988a387fdec553dd91a42bd478", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "fb5a5b960ca75401820394e44571fadc02fa84dbf91e478bbe905eba9bd84739", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "31bed1c9ad012429a0a57b3905b2134d5d53a89fd0437ec30ce68b5d705f8e72", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 365, end_line: 414 }, DuplicationLocation { file: "./src/main.rs", start_line: 366, end_line: 415 }] }, DuplicationBlock { hash: "c0d0d502151e5e0375fad8cabee6bdac73f3b7e42432affefcbbf2eecb0a76bf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 228, end_line: 277 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 229, end_line: 278 }] }, DuplicationBlock { hash: "b1ad6660b5ce7277c3d4d39ccc78d94c4f94d3d856f3ef1757afeffb3f6654c8", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "e2235fd6e3e46f8e01a4b88ad8b47ac7d0ddbe7c439e8713054b02dcff736cad", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 45, end_line: 94 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 46, end_line: 95 }] }, DuplicationBlock { hash: "5cb5fc8b8390be1cdd0ca8ce1e0b0fa27f55729acbc15efca9547e4e1f5d1f27", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 210, end_line: 259 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 211, end_line: 260 }] }, DuplicationBlock { hash: "7f23b601085205e286f072c37b0231b5c181146b95368b9d01307b86fd349846", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 33, end_line: 82 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 34, end_line: 83 }] }, DuplicationBlock { hash: "4a7e4d8f4a9a5a41719203b1d803782474361f0f2730e13c73a9d48aace2a06a", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 53, end_line: 102 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 54, end_line: 103 }] }, DuplicationBlock { hash: "6db5719436c493dc26fc81d0787cc3f757e6eccc46d44cc06ebc652463644045", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 309, end_line: 358 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 310, end_line: 359 }] }, DuplicationBlock { hash: "cd82b995ca1b4b4e655745c75a9cb3a4a249f177b603076eeca592405d350a1d", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 78, end_line: 127 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 79, end_line: 128 }] }, DuplicationBlock { hash: "f49535324cfd04f6beb59e42d2f1f648fb84804d640f20ab89dd33f6fc2e8f49", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 129, end_line: 178 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 130, end_line: 179 }] }, DuplicationBlock { hash: "47625f95cc74dd62728afcf997181d347c9779cbc99cc5b426cc626163aa19c0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 373, end_line: 422 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 374, end_line: 423 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 375, end_line: 424 }] }, DuplicationBlock { hash: "80793afeb1c98464ebaf2cf0bcc327cd928cbb503aba59f06d238e6db77b4494", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 47, end_line: 96 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 48, end_line: 97 }] }, DuplicationBlock { hash: "5d24894306c343f6472e65ca979180c322099837a8ea1b45fdf09b181c48cfda", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 368, end_line: 417 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 369, end_line: 418 }] }, DuplicationBlock { hash: "1b5b83cc97d204178014466e3453e778c42f768fdad9cc4bc2cd84acd7122f65", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 158, end_line: 207 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 159, end_line: 208 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 160, end_line: 209 }] }, DuplicationBlock { hash: "f9372e7e19721a1381a0ee904092111a7c8d5f3b91d9f214c52f5af41cc93ba3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 99, end_line: 148 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 100, end_line: 149 }] }, DuplicationBlock { hash: "d6ba35eb56c2ceeac343d2792330e11127bb5a08b53b6ba8ef4be0587b21180d", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "0ce0123bb5f3c05065fc198305c0b04c75397c5fbdc9a7a8cd09de35ee0859f6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 113, end_line: 162 }] }, DuplicationBlock { hash: "9c7c9352eadc6abd5dc59376a1782c2c7b0692852f8a8b412401d8da83761204", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 154, end_line: 203 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 155, end_line: 204 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 156, end_line: 205 }] }, DuplicationBlock { hash: "5b87b7221162373e38455f77a69dd3f28dc2ac587aa8c8dfd4359629c3063101", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 71, end_line: 120 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 72, end_line: 121 }] }, DuplicationBlock { hash: "e391d2c7eb941abf49f621a1419730946e74f63ade9571229dc1aaa6544097cb", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 105, end_line: 154 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 106, end_line: 155 }] }, DuplicationBlock { hash: "c7854604c7dc06babf4cb62b54571432f6dbe7e09134887001c85013f082a0e6", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 200, end_line: 249 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 201, end_line: 250 }] }, DuplicationBlock { hash: "d66cbe54c37301ff2fc3cb88c034e9271d8bbda6a33a908d851b0d10fc18a6ca", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 297, end_line: 346 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 298, end_line: 347 }] }, DuplicationBlock { hash: "1ff852be0b495b7549df5f67126fcfb7644f5ae45c90de034d36c65d8f179d22", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 94, end_line: 143 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 95, end_line: 144 }] }, DuplicationBlock { hash: "74182759d51a2b4a303238a8b2858a034b1b24632e2f3945578c37ef2c87d07d", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 115, end_line: 164 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 116, end_line: 165 }] }, DuplicationBlock { hash: "db6b6cca392d96c9b1b88d82c8cc1ede6a27db6e2be7e5b535ca468f7b050757", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "91bbe54c1fec68244318bd6ac9fd0d2fa5edbf388e3817c386c4a6368a3df32a", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 34, end_line: 83 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 35, end_line: 84 }] }, DuplicationBlock { hash: "97632a8ce3b274c0e654b0693317264e9ce89a9d4672ed2559cd48404d3c4363", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./src/main.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "cf1f4dbc7f4cabdcbe72478334933e597dfa8d6971d3d29fde60a3cc52973744", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 312, end_line: 361 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 313, end_line: 362 }] }, DuplicationBlock { hash: "6d85c3b5287cac35814defa29cbbfab36c570d4c93eb2edc873fc44b37e0da17", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 26, end_line: 75 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 27, end_line: 76 }] }, DuplicationBlock { hash: "6913cb9cca7a0f4c6028bf277f0a86b01f02f79436f1563eb911990a46fefa90", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 284, end_line: 333 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 285, end_line: 334 }] }, DuplicationBlock { hash: "b26614fe9f272408fc5ac96be1d28be4fa3d34aba69b6c21df497ec45cce00f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 53, end_line: 102 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 54, end_line: 103 }] }, DuplicationBlock { hash: "86b0c493f4efd6b074b3d7feb598a1d4d91b9d909122fd6de561aa720e7e97e3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 85, end_line: 134 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 86, end_line: 135 }] }, DuplicationBlock { hash: "1d546c1c7dbc64ec84928f79743b38fb89bc1fe2e54090bae9216cce0955fa27", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 254, end_line: 303 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 255, end_line: 304 }] }, DuplicationBlock { hash: "ffbd6a9f11ee21ea8a9e9810d1ce7311355d9b86659bec99b72d539bcf199a18", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 234, end_line: 283 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 235, end_line: 284 }] }, DuplicationBlock { hash: "0cd0163fdba883aa28035181bf005d5067164ed6b1fda29b896a2740d4acf2bd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "1978dd6341a9c8a1823cb1970de5d67e5d5ca6f4f6c42a12b011fa5d0a9ad42d", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 12, end_line: 61 }, DuplicationLocation { file: "./src/transformers/mod.rs", start_line: 13, end_line: 62 }] }, DuplicationBlock { hash: "c4033abf63033a6acfa53d61290e5e4d80b429a29229ee5388aab2a7efb170d3", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 142, end_line: 191 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 143, end_line: 192 }] }, DuplicationBlock { hash: "4945ceac3a40736928b06bd6ac083e82bbe1965e4ac7fa933f5303fc7fb60c3a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 320, end_line: 369 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 321, end_line: 370 }] }, DuplicationBlock { hash: "b1d5afc42e48ca6610581cc5fbfbe136f6a4aa202526b7422a4c038790f72f65", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 186, end_line: 235 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 187, end_line: 236 }] }, DuplicationBlock { hash: "d5f6e5b356cd17d349a8bc33347ff479045f4d1330513aee213ba73d5a17df46", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/cli.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "fe8b35bc84814dbd6b7d6519b279852355dcd5101b2aa6f292abe4de6086325c", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 26, end_line: 75 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 27, end_line: 76 }] }, DuplicationBlock { hash: "95c79b28f62753c22e8371f7d1b8ccacb76832f42708200b14e2d2c068e4842f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "1fea41ac859c6e1ca328973301b1cdb0a062815a1d0d0fff8d03d398e7723dd7", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "ffd16eb1558eed00748d2bbdfb2869a646b4eee9ca0d19845f64ca7674f676e5", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 167, end_line: 216 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 168, end_line: 217 }] }, DuplicationBlock { hash: "9c5dd23c8b5b2165024e91ec393882b805a2543439dde0c9e4aba23c3ffce57b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 111, end_line: 160 }, DuplicationLocation { file: "./src/main.rs", start_line: 112, end_line: 161 }] }, DuplicationBlock { hash: "0c578bf9c20089873618690a97889dfa2d786f1a8673996c36b65aabc594042e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 98, end_line: 147 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 99, end_line: 148 }] }, DuplicationBlock { hash: "fe1c592df21d9b26fb71002504725d7202f05de08da3377d3ad645c222b1a287", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 171, end_line: 220 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 172, end_line: 221 }] }, DuplicationBlock { hash: "1926c82f68c0ef2c4a89b5be866194ca59451ed92675fab4b9886c63041f4aa1", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 65, end_line: 114 }] }, DuplicationBlock { hash: "5c6b51498b99a391d7f694d8cd74100f03dcfd235d9dfdec1bc65dd69fa78f69", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 55, end_line: 104 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 56, end_line: 105 }] }, DuplicationBlock { hash: "3f564181103848434713f5b7c9cd065eeff9fd2f2cef64d3edc8e7cfa1201fd9", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 340, end_line: 389 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 341, end_line: 390 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 342, end_line: 391 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 343, end_line: 392 }] }, DuplicationBlock { hash: "d31ce1c92d37d15d426dcafcf037a2eeab4307210fa2d0439159e92dccdaec4d", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 114, end_line: 163 }, DuplicationLocation { file: "./src/cli.rs", start_line: 115, end_line: 164 }] }, DuplicationBlock { hash: "a5152a2dc225bf384098fa7f2bf787e7fbbd331011f4a87b8a9b6c9a6cfe65f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 465, end_line: 514 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 466, end_line: 515 }] }, DuplicationBlock { hash: "9b4d08f780adbba5591ab01fc4ea65739db79f4942e20ca0af40f8cb54594aca", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 278, end_line: 327 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 279, end_line: 328 }] }, DuplicationBlock { hash: "2a79a3d9110d541c1aeaa9f0d3e91097fc9605fd1bf86905a9acafe915f36f24", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 7, end_line: 56 }] }, DuplicationBlock { hash: "b8420e7b59d935fb16db0dd53a3c21c35c653e47e417ed324e1bae6809088387", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 49, end_line: 98 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 50, end_line: 99 }] }, DuplicationBlock { hash: "c73a968c6dc0fade056c6e5c62eb4b0747d51a3294c77a7a66f2b00f5511a883", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 34, end_line: 83 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 35, end_line: 84 }] }, DuplicationBlock { hash: "d00dc9abe75dc8318b4054f4188ea7067393aaea32def7d6c1cf0adcf2fc3e04", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 392, end_line: 441 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 393, end_line: 442 }] }, DuplicationBlock { hash: "70b95365feaa14012e24a8c8f2eaec1f5e488af33b4b00533ace38bd9062da24", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 275, end_line: 324 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 276, end_line: 325 }] }, DuplicationBlock { hash: "e83e579c46c492985262a24cfda7af86d071b43bb3e88075494c62bd63e4f59c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 162, end_line: 211 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 163, end_line: 212 }] }, DuplicationBlock { hash: "57844ecbcc3f818e10894e970ee6f73682a6bf7960b882c5e56f8e83f820df4a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 135, end_line: 184 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 136, end_line: 185 }] }, DuplicationBlock { hash: "67a0020fdf2cd90516f282eb15387d80d9ae4ccdc9191c2742ad33b0e15e0fc3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 46, end_line: 95 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 47, end_line: 96 }] }, DuplicationBlock { hash: "b576886164fbee904b884fd0a09e131b21a74e7470b72595cf7197c1aeb05a3e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "f8c1ba6900b88a2e3d238bd23936f0254c3c792a24236987d8781a64670c62a6", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 104, end_line: 153 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 105, end_line: 154 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 106, end_line: 155 }] }, DuplicationBlock { hash: "030ef2eff70f82a0ca72daa844217470ce2ccfcc6601946cd349a130e289b89d", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 10, end_line: 59 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 11, end_line: 60 }] }, DuplicationBlock { hash: "3132c89c0168a62388b2a29c76e127a2a84cee2a848c9fa6189456fd0e8c83bd", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 74, end_line: 123 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 75, end_line: 124 }] }, DuplicationBlock { hash: "a5cd458db236a7f31280726328f1fa5177759ed3e0e9cffcd059cc1d4689d8b8", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 116, end_line: 165 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 117, end_line: 166 }] }, DuplicationBlock { hash: "a8fad185eecc2bfdf9e5d62691b115f817f7a2f615101aa2205c04a3937c0c7d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 479, end_line: 528 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 480, end_line: 529 }] }, DuplicationBlock { hash: "6befcbfa9bf6e5ab1ef18fa4445df19938374b052c50d376d09d036a9d3ea996", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "771ecabc6346fad0ade8546cc3aa3212085e46e64fa7485a892bb95a4bb71168", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 271, end_line: 320 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 272, end_line: 321 }] }, DuplicationBlock { hash: "d89e1d4633affec0e38d3392d992ffc3a7a248bae3a7b116ac407fa57c3aba65", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 56, end_line: 105 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 57, end_line: 106 }] }, DuplicationBlock { hash: "11b041e1f1ddcbacf94195a8069d778a835c9976e4fcd3dbc1dd0012cf6d9205", lines: 50, locations: [DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 14, end_line: 63 }, DuplicationLocation { file: "./src/risk/lcov.rs", start_line: 15, end_line: 64 }] }, DuplicationBlock { hash: "bdf4eff918a35768d4ff4225950f3382130637045ee2bb2a3ee867881d44f7a9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 159, end_line: 208 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 160, end_line: 209 }] }, DuplicationBlock { hash: "281648ff03573c18a5090c00b0a1f699d157e096dd24409c07cadc1bc9474def", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 23, end_line: 72 }, DuplicationLocation { file: "./src/cli.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/cli.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "13474af578fc6ad3e17d0535375cab50052c81e6afb2ddf1f65751806420b979", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 457, end_line: 506 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 458, end_line: 507 }] }, DuplicationBlock { hash: "25e3204f2b11c8586e30b58e81677d96e82ccc14f13f3504ebb4b58eb79336b7", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "0f6725988188f80d4b37febfe0af00a17f61a8094b63e12198fe44d73b2fb330", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 384, end_line: 433 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 385, end_line: 434 }] }, DuplicationBlock { hash: "edbc6e3f90f3a9fa85d28c338b1f4a6013a0f6d00dfab3004a5aef06095cdb50", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 125, end_line: 174 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 126, end_line: 175 }] }, DuplicationBlock { hash: "b6e1df01164a12ba6970996ade2dc390db2f5b782f47bd04856b551e920b0a24", lines: 50, locations: [DuplicationLocation { file: "./src/io/walker.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/io/walker.rs", start_line: 31, end_line: 80 }] }, DuplicationBlock { hash: "7c417da5471a63b5c98b44be06b71dd51017e2029db89d4004f1b71499de735f", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 140, end_line: 189 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 141, end_line: 190 }] }, DuplicationBlock { hash: "309e6900014194da204669c5e25426659e39fe584e5e3b0b318d8a24aa19492d", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 259, end_line: 308 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 260, end_line: 309 }] }, DuplicationBlock { hash: "dfb01c5f865bfdae76958c3b157a85035b001a8593a48b910fc379af956d1ab4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 327, end_line: 376 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 328, end_line: 377 }] }, DuplicationBlock { hash: "b91863811a7d563bbe30e9ad66b835b05badd65b58a38d65255927831a8dd653", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 151, end_line: 200 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 152, end_line: 201 }] }, DuplicationBlock { hash: "30399d5bef130cdd7971dd94dbf5a5a903901b1e353e9c3dbd5edab7ab67b4be", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 143, end_line: 192 }, DuplicationLocation { file: "./src/io/writers/terminal.rs", start_line: 144, end_line: 193 }] }, DuplicationBlock { hash: "8f9cfa0d3b2906ef83207705b3376f96e6906931f321eda563606ac261326f27", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 335, end_line: 384 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 336, end_line: 385 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 337, end_line: 386 }] }, DuplicationBlock { hash: "490fa2c58bd71ec7625964d50e602391750e1f18065ec91c5cd06ea90a6b0105", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 235, end_line: 284 }, DuplicationLocation { file: "./src/analyzers/python.rs", start_line: 236, end_line: 285 }] }, DuplicationBlock { hash: "c0f72e81c397d1b357348db99e2e1c6c49e3798aec454b6e9fab87f05fa2c391", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 522, end_line: 571 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 523, end_line: 572 }] }, DuplicationBlock { hash: "aa05017a84d5514bd68e77bf7ebd3431e892d785cb7b7b39d8fdd128800a9b3d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/mod.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./src/risk/mod.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "f21f45188ae7345fc573a6c4bd9def4668a9e1b1d3da3c1aef70b37434e74ed4", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 320, end_line: 369 }, DuplicationLocation { file: "./src/main.rs", start_line: 321, end_line: 370 }] }, DuplicationBlock { hash: "4af1b4a0435a1573bb484c004232fe1bb96b8003d965d34dd28ec470a5416884", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 196, end_line: 245 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 197, end_line: 246 }] }, DuplicationBlock { hash: "09db0a635645bb979c89ac177a07063bedea3478bac368d6c92f4a3e3394b267", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 21, end_line: 70 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 22, end_line: 71 }] }, DuplicationBlock { hash: "99d377467ebc5f2529df5b1f5dd843fc37f8e5474596c49513d9ba6ad1278491", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 242, end_line: 291 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 243, end_line: 292 }] }, DuplicationBlock { hash: "d07b0c57b7e196d4dace6ce49426375306b45ebda0b298f14131471a8873756b", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 381, end_line: 430 }, DuplicationLocation { file: "./src/main.rs", start_line: 382, end_line: 431 }] }, DuplicationBlock { hash: "2898fac88f8a1373c94091f7b8dba7084685431019737d9d2350df5a2359c1e3", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "7cceb68ec68068ce13808618479408caaeed7675ce45bb87af6fc341ea1478e7", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 219, end_line: 268 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 220, end_line: 269 }] }, DuplicationBlock { hash: "ff0c4e5ec57e7fabf528ca0b482e0810bc2825835282b7ed29df1c538bc0fd68", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "fedeaddcf2044d0cdda677cb41b25272095a79545ee450341d6fe796dc4171d7", lines: 50, locations: [DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 9, end_line: 58 }, DuplicationLocation { file: "./src/io/writers/markdown.rs", start_line: 10, end_line: 59 }] }, DuplicationBlock { hash: "8ad8c9fd0725828c1eec0578f336f7a275e772e469bd19afd87dfa189feec975", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 291, end_line: 340 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 292, end_line: 341 }] }, DuplicationBlock { hash: "57c7173162d77c90f83b136521017c46ebd7d565eccf61e650b09e5c2dff5940", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 355, end_line: 404 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 356, end_line: 405 }] }, DuplicationBlock { hash: "0bf9e92eb74ce51b9cc4e0dad7446141810ed6b79ab1f86eaa5e97dd1b6bc61e", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 161, end_line: 210 }, DuplicationLocation { file: "./src/cli.rs", start_line: 162, end_line: 211 }] }, DuplicationBlock { hash: "35a1cbef1404bc74932cab79f832dcd8846502c7019fb47d64f24a3359543016", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "957e1df9c10c5658e40ebd72c267ca3bfc149143d0591736d1f2b28c5d98171c", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 48, end_line: 97 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 49, end_line: 98 }] }, DuplicationBlock { hash: "e4e2c21ce28c43149f3486a1fdc8fb49c7e45ae4a042d01c2f5e4a299f8cc97f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 683, end_line: 732 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 684, end_line: 733 }] }, DuplicationBlock { hash: "53b0faa4af49504b00409d97d009b8393f8a46ec08bc16e2091992c314086274", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 103, end_line: 152 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 104, end_line: 153 }] }, DuplicationBlock { hash: "33027071a430b16b958c42db83c98c27cd631112db3d8984cd2dbd7d63ab8d02", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 25, end_line: 74 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 26, end_line: 75 }] }, DuplicationBlock { hash: "864929ba29704d7b4a6a0d5f688e8466617d3d5c3a7779f6f72c4eeb200a7f01", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 294, end_line: 343 }, DuplicationLocation { file: "./src/main.rs", start_line: 295, end_line: 344 }] }, DuplicationBlock { hash: "d15ceb2d2203032b78825f5238baf5890bb9eb6f3e42a120309795f415e381cb", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 107, end_line: 156 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 108, end_line: 157 }] }, DuplicationBlock { hash: "72df5ee7f8aac5195bd2d4a84b9aa77719a48b3619f37fff11a6f132cd06a582", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "96dc1d7d538788fae136be980c8f5a896c607e3a73e6922ab6b79fc07135c205", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 439, end_line: 488 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 440, end_line: 489 }] }, DuplicationBlock { hash: "d8c7376292321adff08547bb0ab6b4b882c9f3de8250fe234c1b6e567475fae1", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 213, end_line: 262 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 214, end_line: 263 }] }, DuplicationBlock { hash: "3d9405a281ad78b547b93191cd98d500e7c9c7f2724315f1cb1091c41fa4be6f", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 37, end_line: 86 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 38, end_line: 87 }] }, DuplicationBlock { hash: "eef830477610c32fb781d0f22630832c6ad6636d7aa413cfaa9d62519198df61", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 68, end_line: 117 }] }, DuplicationBlock { hash: "b1d4adcdec9d6e9c2ceea441dd3f10fffd30ad3988ae6f8213bd148389a1dfd2", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 48, end_line: 97 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 49, end_line: 98 }] }, DuplicationBlock { hash: "6458ad26fa364434b6d98155f5ec293959558ad84236939b9fa54e681c3cbe64", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 6, end_line: 55 }] }, DuplicationBlock { hash: "77e84474c6adc19dbe5957ab0eaf79b3149ca06bfae48f6961521b354e913f3c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 62, end_line: 111 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 63, end_line: 112 }] }, DuplicationBlock { hash: "796d2784d708d95aef06e57693c0178d243a921d34aae20d6f8b2281c7b57370", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 324, end_line: 373 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 325, end_line: 374 }] }, DuplicationBlock { hash: "eabcc35b9ba33aae0ff8ce2c139a8a9d5d2bd194b3dad887fbcc33aad2cf0631", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 108, end_line: 157 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 109, end_line: 158 }] }, DuplicationBlock { hash: "c75f4e70b94664bddef36150b98ff9a5bba77eceabc3bae66f40a3a4e8fb9c51", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 31, end_line: 80 }, DuplicationLocation { file: "./src/risk/roi/mod.rs", start_line: 32, end_line: 81 }] }, DuplicationBlock { hash: "e57ba4fe4977cdf9adbac8fd0ab48cdbd00ff233ec9daf43582d9e61a097b79e", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 531, end_line: 580 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 532, end_line: 581 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 533, end_line: 582 }] }, DuplicationBlock { hash: "9d6363932d609dff98e7449291900d27ab8979cea95f3ec60be3b2935f07d766", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "befa576c6b92996d5787d9642dc18185c819111fadf05f77e559a144e6274b3d", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 134, end_line: 183 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 135, end_line: 184 }] }, DuplicationBlock { hash: "ac7b77ad797b7ac5cc155cc47f50d2a7317385f54c9a478b0c35d2464d2554ab", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 44, end_line: 93 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 45, end_line: 94 }] }, DuplicationBlock { hash: "51b471c9f108d5531a6bfd9c7ef8a7324504708317122b360b8d6637a9421aef", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 163, end_line: 212 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 164, end_line: 213 }] }, DuplicationBlock { hash: "30446123108e89ce7dd339cbd93b3767f4f410783948aa0f11d1863dca0a7299", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 67, end_line: 116 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "908f14e1854d770addd714ca345ddb25d6b119a69cd4bc3e0057159db0cdd790", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 124, end_line: 173 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 125, end_line: 174 }] }, DuplicationBlock { hash: "64c8679dd66e7f8f1446b7711bc7142b9ef31d3075db6e9aaa4a7e3617478757", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/cli.rs", start_line: 36, end_line: 85 }, DuplicationLocation { file: "./src/cli.rs", start_line: 37, end_line: 86 }] }, DuplicationBlock { hash: "79fe68d2adb5048b943b08ff194594b01eeb4392cda598ee3f14338446f1e2bd", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 190, end_line: 239 }] }, DuplicationBlock { hash: "671b3b6cf343e8ad7423664235417733fda69bce9558279173c168ae4ee8b71f", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 94, end_line: 143 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 95, end_line: 144 }] }, DuplicationBlock { hash: "b65bdf474fda47aa3de944ca47d747b8246f3dbdfa33a79f0499685bbbbc47b9", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/cyclomatic.rs", start_line: 11, end_line: 60 }, DuplicationLocation { file: "./src/complexity/cyclomatic.rs", start_line: 12, end_line: 61 }] }, DuplicationBlock { hash: "b3ce6fcca4579d080cfe279132d933d262a19a52bcb97c57c9a9a0d87b6d402c", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 176, end_line: 225 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 177, end_line: 226 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 178, end_line: 227 }] }, DuplicationBlock { hash: "35511f77fce5778315eb86432654bfa8b61dae56c4e7b673275e0c47db6ef3bf", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 151, end_line: 200 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 152, end_line: 201 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 153, end_line: 202 }] }, DuplicationBlock { hash: "43f294ca939842f4aaf14951a0f6730ea4092d6fe125016d092e8feb60ac7316", lines: 50, locations: [DuplicationLocation { file: "./src/risk/insights.rs", start_line: 133, end_line: 182 }, DuplicationLocation { file: "./src/risk/insights.rs", start_line: 134, end_line: 183 }] }, DuplicationBlock { hash: "fe89d311833045a34bc22d5bb21be066c6fbc7c5c3cfc0b028c6466c1f485664", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 183, end_line: 232 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 184, end_line: 233 }] }, DuplicationBlock { hash: "6d7084e6e0158587caa51bc80a6474e975901a15a1b3c2e44245d5a881f81c0b", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 46, end_line: 95 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 47, end_line: 96 }] }, DuplicationBlock { hash: "d91c2e38724ceef2ae3e872c6f652c7c7e5443c1e11830e47dcbd420aaa4d387", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "4b20aa133f1ae9fa6c3127ef9965702c500ba6ee0c109141f55dea2c427a5744", lines: 50, locations: [DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/risk/correlation.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "4f325e6d4780d5a762760dc63e66139970d1826600f84a0e9dbda0d30d349151", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 19, end_line: 68 }, DuplicationLocation { file: "./src/main.rs", start_line: 20, end_line: 69 }] }, DuplicationBlock { hash: "6639c00a05396433a202fd9ff6a7e6ee34b1f6c084dfb81b2a8865f7bc2c0d98", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 280, end_line: 329 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 281, end_line: 330 }] }, DuplicationBlock { hash: "c7dad2084378191df5f1726515ce895a02747ca0ae1b5572f957d11817bf45fd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 338, end_line: 387 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 339, end_line: 388 }] }, DuplicationBlock { hash: "023bd1e16765d27a67a9dbd0a3d7654d5b850c9f88e30f610d7777a3b96e9f4b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 354, end_line: 403 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 355, end_line: 404 }] }, DuplicationBlock { hash: "769124e4faa8abb98a7a27998ea090879b8710a08f15b7a8238aafe3bac2748f", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 160, end_line: 209 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 161, end_line: 210 }] }, DuplicationBlock { hash: "c18aa4a49354437afe081d5a8c5544a7d0e0f31568c445fa639c4c68f49cc3bd", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 66, end_line: 115 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 67, end_line: 116 }] }, DuplicationBlock { hash: "bc227ecb0cd78960a239b708a98b18323fe8c11e816c1ed828a02270133724d9", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 117, end_line: 166 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 118, end_line: 167 }] }, DuplicationBlock { hash: "7661fbd6cf5cd5f1c94e257863b4f5675a70685f55e1fe0a4a10542322210789", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 69, end_line: 118 }, DuplicationLocation { file: "./src/main.rs", start_line: 70, end_line: 119 }] }, DuplicationBlock { hash: "a96ab487232f6121701490fc5a032f8d8b83291f16eac775428a959b05c887ed", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 351, end_line: 400 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 352, end_line: 401 }] }, DuplicationBlock { hash: "c523a091058c762461c7c7eb691464416150b331f6c572e7307a11af1674cacb", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 130, end_line: 179 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 131, end_line: 180 }] }, DuplicationBlock { hash: "d46e577f53bfc14965db0eb025e6c203ae332629a24f784b374aa80d3b0da868", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 492, end_line: 541 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 493, end_line: 542 }] }, DuplicationBlock { hash: "2d255fb3bd600dce85ab9277b5406dfc06032df69aea539d501c305864e4a8d0", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 347, end_line: 396 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 348, end_line: 397 }] }, DuplicationBlock { hash: "8cd809e654ee9bb8b84636fdfa4d83587dc0b9c412c09d4bd9bcee0e582228a9", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 39, end_line: 88 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 40, end_line: 89 }] }, DuplicationBlock { hash: "293bb4f509369010bf25547f40130cb46abcbc97a8b98ea82a5849902e043584", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 64, end_line: 113 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 65, end_line: 114 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 66, end_line: 115 }] }, DuplicationBlock { hash: "04a0102255e8e19f0335b94dd3699135d1078b127084226e16d3ba3e194b0a2c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 61, end_line: 110 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 62, end_line: 111 }] }, DuplicationBlock { hash: "0d53f5dc5e506f7160bbda123dbfa0223708d09d9cccc05c9274f0a839b551db", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 180, end_line: 229 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 181, end_line: 230 }] }, DuplicationBlock { hash: "3aef6e3af64afd641bcbe55b95edbdaba29a73be96f01393557e3fe9d3174626", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 318, end_line: 367 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 319, end_line: 368 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 320, end_line: 369 }] }, DuplicationBlock { hash: "da2de5e5b80992b4cb3249db7c2856f5439fc0f10c91e43e6bc2506c14de2ec8", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 203, end_line: 252 }, DuplicationLocation { file: "./src/cli.rs", start_line: 204, end_line: 253 }] }, DuplicationBlock { hash: "ad777bb4c3de8bf096ccc73ea87b7f5a757990766564d38df6ea829831442bcb", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 173, end_line: 222 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 174, end_line: 223 }] }, DuplicationBlock { hash: "0b36187318610826b708c84881f0d5fb3d3adcc1b4b52c7abbf30c957ef69147", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/learning.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/risk/roi/learning.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "4687eeefac02f7dee6e2b69d8fd60ca57fcf79cbfec0fb8029d4ad9842608c1f", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 84, end_line: 133 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 85, end_line: 134 }] }, DuplicationBlock { hash: "56d87bd527cdf0b1953ac6c151b7251bd3db1d9cbac7f2e04d75128cc1da2319", lines: 50, locations: [DuplicationLocation { file: "./src/io/output.rs", start_line: 108, end_line: 157 }, DuplicationLocation { file: "./src/io/output.rs", start_line: 109, end_line: 158 }] }, DuplicationBlock { hash: "1370446ce340749b7e805b9de3289232e6a6e5de5ab6234ac0363a49752134dc", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 125, end_line: 174 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 126, end_line: 175 }] }, DuplicationBlock { hash: "e7dd4572776d2c9bde103b1b969a4e8740629cf87b594450343c1a2c427715de", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 136, end_line: 185 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 137, end_line: 186 }] }, DuplicationBlock { hash: "efc68a74d4152a59a8e52d22bb4628fbe680e79705ca0478ae19c3c2062f0aa4", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/cli.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "6495d56b0be378aceb1afbb7e7874abcd7f7ce4cda958b6801e8cc878bf3f9a0", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 170, end_line: 219 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 171, end_line: 220 }] }, DuplicationBlock { hash: "ee6a12e8980970c8fbfd64acaa0587b797a218e02788d0191e7fd2a88a1454b2", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 195, end_line: 244 }, DuplicationLocation { file: "./src/cli.rs", start_line: 196, end_line: 245 }] }, DuplicationBlock { hash: "c78b5ca8bd3cb25bde0525b03ebcce669831b654de653f948fb92c1cd58024ff", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "a6a9f69fcf96a159a0e90206f1305c08514bd3602b55cfb84b365e5942c2d1db", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 19, end_line: 68 }, DuplicationLocation { file: "./src/risk/roi/reduction.rs", start_line: 20, end_line: 69 }] }, DuplicationBlock { hash: "bf337071198b2ab477ac7e45753f4e392fa8a8e060ff850603c05b3d94bf3745", lines: 50, locations: [DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 128, end_line: 177 }, DuplicationLocation { file: "./src/debt/coupling.rs", start_line: 129, end_line: 178 }] }, DuplicationBlock { hash: "51f14432ed52e76f651b4f1a061f22d58826f5ecfdb00bd8e3d2e0c98f52849a", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 278, end_line: 327 }, DuplicationLocation { file: "./src/main.rs", start_line: 279, end_line: 328 }] }, DuplicationBlock { hash: "da41ca23bbcd7d841efbd945521e508070d888acb9186094eed338cab8c963c4", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 368, end_line: 417 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 369, end_line: 418 }] }, DuplicationBlock { hash: "84a6cea383cb2681e4019d5bc834d07e92abc3404d5759a5a95453be2e702e14", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 171, end_line: 220 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 172, end_line: 221 }, DuplicationLocation { file: "./src/risk/context/dependency.rs", start_line: 173, end_line: 222 }] }, DuplicationBlock { hash: "ba6a9e64333fa55eeffac543e77e5cde313a9c6744e616b4c37d7208c77e71f2", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 41, end_line: 90 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 42, end_line: 91 }] }, DuplicationBlock { hash: "bbf554892f88ca7b60b140a7afddf6b8fe1142dd24cdc9c49f3cc9ac7b4a7035", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 192, end_line: 241 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 193, end_line: 242 }] }, DuplicationBlock { hash: "fe20b0f4469bf40f313e273bd6239191dc3e0b84a52cde5efa3f4701ee018e0c", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 637, end_line: 686 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 638, end_line: 687 }] }, DuplicationBlock { hash: "4175916afa495f5140eadaca5583266eb15f8ecc6276e9e5753d75b2a5ad04b9", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 100, end_line: 149 }, DuplicationLocation { file: "./src/analyzers/javascript/complexity.rs", start_line: 101, end_line: 150 }] }, DuplicationBlock { hash: "5d9fb44998682b529c97576ca4c80f7fb7ee71bc23c7c908990aae153405ac5c", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "e7b8df6f15a97f04df7492c58be2d268c05fb74f6fb5e3b280fd539bb37d8dd5", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 263, end_line: 312 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 264, end_line: 313 }] }, DuplicationBlock { hash: "355bd6efc7a3f7179e798b06cb46f25b27dc81e1b727d757172f19dc40b0a6e4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 5, end_line: 54 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 6, end_line: 55 }] }, DuplicationBlock { hash: "63bfa4b958a9be36ea9b42438594cb68519aa848f053451d00d626a6410fe15c", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 109, end_line: 158 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 110, end_line: 159 }] }, DuplicationBlock { hash: "441b39b06c934a195d2c8f293827629d1dc95b222268fdc88d24ff4b7bdcb374", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 113, end_line: 162 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 114, end_line: 163 }] }, DuplicationBlock { hash: "ed07f4a5226c0a9dafde95df52b2db7df0311d03fad420d76a9803774f6231c0", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 86, end_line: 135 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 87, end_line: 136 }] }, DuplicationBlock { hash: "2f4fe6d67b4619f8aa4804f26df11478da10233c448d87a54e14b4f5eb6aecd7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 77, end_line: 126 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 78, end_line: 127 }] }, DuplicationBlock { hash: "d83035a59423291d742f2676c6f21c487363478ac1c8282df747bc7b5b7e7b3e", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 347, end_line: 396 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 348, end_line: 397 }] }, DuplicationBlock { hash: "3edbec51b9285e04779317294fe9a37ea91e0bb78e6047c60f01b2e152cb637b", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 662, end_line: 711 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 663, end_line: 712 }] }, DuplicationBlock { hash: "c20619666de65b6cb0fc3e968bd77f59301d2c76837cd5cf98cbeacdec423a32", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 274, end_line: 323 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 275, end_line: 324 }] }, DuplicationBlock { hash: "10d0d24cad46040241404cf091c155065580aeea933b355740cbb500571cdd78", lines: 50, locations: [DuplicationLocation { file: "./src/core/ast.rs", start_line: 59, end_line: 108 }, DuplicationLocation { file: "./src/core/ast.rs", start_line: 60, end_line: 109 }] }, DuplicationBlock { hash: "b5e6c6d7ebb0eda44ead753b68d3667a968775493046f999e7c857d81a8c8c28", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 68, end_line: 117 }, DuplicationLocation { file: "./src/cli.rs", start_line: 69, end_line: 118 }] }, DuplicationBlock { hash: "c621599311c9222cf8dad58e5dca7c510c0b2c1627a7c03e667ad61592ff9626", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 80, end_line: 129 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 81, end_line: 130 }] }, DuplicationBlock { hash: "30f31ed72f01b4c7ebcafbd84ae4f85c73cf91e756358bb0be84ac1ac2b04b7a", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 15, end_line: 64 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 16, end_line: 65 }] }, DuplicationBlock { hash: "9fa46cfe0d1d11302ac69ac0d31751a560df7023f518e556769b683ae95f1d36", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 133, end_line: 182 }] }, DuplicationBlock { hash: "5421535eea6e971c08ee9a96481fe8ec220a56a66600d1ce3ba90134dd54c259", lines: 50, locations: [DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 30, end_line: 79 }, DuplicationLocation { file: "./src/debt/patterns.rs", start_line: 31, end_line: 80 }] }, DuplicationBlock { hash: "ec0e8e640ddaeb51b25b6c95cecf3723ae52a198e45a42a6966cff8aafcaf752", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 632, end_line: 681 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 633, end_line: 682 }] }, DuplicationBlock { hash: "c835d177d63085fb33d21f090060671c64a342040d7a99dedd8644ba41925256", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 120, end_line: 169 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 121, end_line: 170 }] }, DuplicationBlock { hash: "c8bfe1b67b3a4597e613b1c068a1b70f60ba9893697806afcda0233a11d40f44", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 175, end_line: 224 }, DuplicationLocation { file: "./src/risk/roi/tests.rs", start_line: 176, end_line: 225 }] }, DuplicationBlock { hash: "344c18f54963c3e0c82987258182c24543c62ec86f4fc4521bccc7972506c9a4", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 166, end_line: 215 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 167, end_line: 216 }] }, DuplicationBlock { hash: "1ac569e28499acede332c50b5a8a270ec2ad206bbc9e7f6af9eea377067e53ce", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 150, end_line: 199 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 151, end_line: 200 }] }, DuplicationBlock { hash: "9df996bbdcaa6f49a6383df7d2e1a5dd00e95ab65f8477d8235c8dcde3353a15", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 70, end_line: 119 }, DuplicationLocation { file: "./src/risk/context/mod.rs", start_line: 71, end_line: 120 }] }, DuplicationBlock { hash: "df78deb2eb71162adb5bb7a6257af0fc3b271ed5f438aef6fc2a5f768ab78dbc", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 117, end_line: 166 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 118, end_line: 167 }] }, DuplicationBlock { hash: "aeab758e30dda713fb9ce7e056123fa6c45126e7ee6b086eacb1a5e7da0913e2", lines: 50, locations: [DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 132, end_line: 181 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 133, end_line: 182 }, DuplicationLocation { file: "./tests/complexity_module_tests.rs", start_line: 134, end_line: 183 }] }, DuplicationBlock { hash: "3fce88900933edbf97543ed902ad4bf0633e44b30a786d3a4f3f4fdd55e0ac29", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 193, end_line: 242 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 194, end_line: 243 }] }, DuplicationBlock { hash: "1b5e06958f1212aa5d84bd97257d8b8b5afa075715ebb70da3a388b7e6647418", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 60, end_line: 109 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 61, end_line: 110 }] }, DuplicationBlock { hash: "fe42ae062189bb7362faaa94b24d8fcc507907d5531188ce33d3bfcc09c99f3e", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 271, end_line: 320 }, DuplicationLocation { file: "./src/main.rs", start_line: 272, end_line: 321 }] }, DuplicationBlock { hash: "75bc31610186fbba5500509cfb3674fc9d3b95f74861833ee6def31d59b3088a", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./src/cli.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "c4e73dd737c0c471f4dd5ed1c250d733e8fa897e009134a7d3c6721fd5c6d307", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 107, end_line: 156 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 108, end_line: 157 }] }, DuplicationBlock { hash: "9f69a7a797f8f794a2c3a85bab0773b5c3abf77cb06bc5aa38b89c81b685fe0d", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 259, end_line: 308 }, DuplicationLocation { file: "./src/main.rs", start_line: 260, end_line: 309 }] }, DuplicationBlock { hash: "322042949e6b5138e31c940cf83655e1e0701eaa29294e4bede3cae552005337", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 244, end_line: 293 }, DuplicationLocation { file: "./src/analyzers/rust.rs", start_line: 245, end_line: 294 }] }, DuplicationBlock { hash: "a25adf4a9165253dc9e1c76b9b21150452893c3f4ca6734b2199b74d0d4ba90b", lines: 50, locations: [DuplicationLocation { file: "./src/core/cache.rs", start_line: 9, end_line: 58 }, DuplicationLocation { file: "./src/core/cache.rs", start_line: 10, end_line: 59 }] }, DuplicationBlock { hash: "2af238f1e07fb4ae33ce9fe4a2dceb905fd079faa3849d88f24cff4d0077d61a", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 397, end_line: 446 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 398, end_line: 447 }] }, DuplicationBlock { hash: "66f0a2eed21ca35af8dd0897c62d6a193c1c0d0bd7b7ffb979053f6b679f9ae0", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 189, end_line: 238 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 190, end_line: 239 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 191, end_line: 240 }] }, DuplicationBlock { hash: "686f31584996fccabf2ccb8157895794ca5369f3a6ab3b768426e9594eeee158", lines: 50, locations: [DuplicationLocation { file: "./src/transformers/filters.rs", start_line: 35, end_line: 84 }, DuplicationLocation { file: "./src/transformers/filters.rs", start_line: 36, end_line: 85 }] }, DuplicationBlock { hash: "f96b3b9298a01ee76c9e0584c4ea917114a2114aba84e06360996d7611254318", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 314, end_line: 363 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 315, end_line: 364 }] }, DuplicationBlock { hash: "299d356f1df5db8c5bac39c1dc34354ff52d46d988c365fad1d2af23c9ed4404", lines: 50, locations: [DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./tests/cognitive_complexity_tests.rs", start_line: 14, end_line: 63 }] }, DuplicationBlock { hash: "7082133bec5bb63ed8cd343d4607adf65d674c66704999fda991c9d122626658", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 162, end_line: 211 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 163, end_line: 212 }] }, DuplicationBlock { hash: "e7a9db9837f111ca93087a330c74f382a08ea2d05a1382dded767540de7fc23d", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 247, end_line: 296 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 248, end_line: 297 }] }, DuplicationBlock { hash: "36896984a06f77b6ac6679fea78272c2a8ea923b37f218e046d08204c3a293a5", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 119, end_line: 168 }, DuplicationLocation { file: "./src/main.rs", start_line: 120, end_line: 169 }] }, DuplicationBlock { hash: "d26d691b55b5a927cc4a48f8098740565da8ea3dc1ed653c4d12467ca872a39c", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 201, end_line: 250 }, DuplicationLocation { file: "./src/cli.rs", start_line: 202, end_line: 251 }] }, DuplicationBlock { hash: "a6fe95fd406494becd5305f7952f43ce29d8e1345c02ed77ac52d8ac6e95b7e2", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 7, end_line: 56 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 8, end_line: 57 }] }, DuplicationBlock { hash: "b8bd1d55b2c9f72d6f93ed6568d852d62aa954ab876c16b714fc9ba012a792f5", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 82, end_line: 131 }, DuplicationLocation { file: "./src/analyzers/mod.rs", start_line: 83, end_line: 132 }] }, DuplicationBlock { hash: "b67b3fc8caa02abba2f47895794007c7343303e1a381df0e9152969503d534fe", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 54, end_line: 103 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 55, end_line: 104 }] }, DuplicationBlock { hash: "4ef8715c3ed6a023dbccb22dbb5b8b836c08f7522f479c2d8f558bffbd78a0f4", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 168, end_line: 217 }, DuplicationLocation { file: "./src/risk/roi/cascade.rs", start_line: 169, end_line: 218 }] }, DuplicationBlock { hash: "1102cad029f788ac4ed5639631a6d1cfdb5fb61879955509a92ea856a43f20fc", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 13, end_line: 62 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 14, end_line: 63 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 15, end_line: 64 }] }, DuplicationBlock { hash: "c4ccc74366ed46acc69dc7393c7c15b178a9569287d9371705056c16c8216a5a", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 79, end_line: 128 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 80, end_line: 129 }] }, DuplicationBlock { hash: "acdbd904771bd277cddc55a06cb1018a65f93d7c93054fa8f7f9c621f5b8790b", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 96, end_line: 145 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 97, end_line: 146 }] }, DuplicationBlock { hash: "802580e459593c891182858bfd27eb2365bbe29d03a8332d6bb6c117847f88e2", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 334, end_line: 383 }, DuplicationLocation { file: "./src/main.rs", start_line: 335, end_line: 384 }, DuplicationLocation { file: "./src/main.rs", start_line: 336, end_line: 385 }] }, DuplicationBlock { hash: "7d648b0297df2b652be0301d257ce631680ea761e5b0383b723075da2e3c57a7", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 121, end_line: 170 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 122, end_line: 171 }] }, DuplicationBlock { hash: "5ab6f757e9fbc21f324d382640cc5714500d720dd6ce87ac24ad4b4d3940de1f", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 55, end_line: 104 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 56, end_line: 105 }] }, DuplicationBlock { hash: "226b98fef7692dccfab866590a0c27f77ee2565d0a5ae3e93ace9b2b9886be66", lines: 50, locations: [DuplicationLocation { file: "./src/core/lazy.rs", start_line: 118, end_line: 167 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 119, end_line: 168 }, DuplicationLocation { file: "./src/core/lazy.rs", start_line: 120, end_line: 169 }] }, DuplicationBlock { hash: "a924d7775dddd05c4e5f02b9e9995c4ccd16821b1aea878599f91eaf0f5f66ee", lines: 50, locations: [DuplicationLocation { file: "./src/debt/circular.rs", start_line: 42, end_line: 91 }, DuplicationLocation { file: "./src/debt/circular.rs", start_line: 43, end_line: 92 }] }, DuplicationBlock { hash: "228c129ca8f07ba9efbf4b0df149870582d8c02bc51604c9da0823e230ebe65c", lines: 50, locations: [DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 20, end_line: 69 }, DuplicationLocation { file: "./tests/debt_tests.rs", start_line: 21, end_line: 70 }] }, DuplicationBlock { hash: "44a6e07aa79de3861bd4ba7c6125273b5f4203bca904e2a0311b47dfb0ae0d80", lines: 50, locations: [DuplicationLocation { file: "./src/debt/smells.rs", start_line: 150, end_line: 199 }, DuplicationLocation { file: "./src/debt/smells.rs", start_line: 151, end_line: 200 }] }, DuplicationBlock { hash: "6cd278e56024052027081c79799629aebea497cd03df7e37be4a11e127e57531", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 211, end_line: 260 }, DuplicationLocation { file: "./src/complexity/patterns.rs", start_line: 212, end_line: 261 }] }, DuplicationBlock { hash: "24fb5512d22292a47345603eedab5be38387bf8ee7bf86a33615102529746be3", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 230, end_line: 279 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 231, end_line: 280 }] }, DuplicationBlock { hash: "fe72a2a657fa339358b613d5fa066da7c33e65861499ac63a61762c47671e826", lines: 50, locations: [DuplicationLocation { file: "./src/main.rs", start_line: 407, end_line: 456 }, DuplicationLocation { file: "./src/main.rs", start_line: 408, end_line: 457 }] }, DuplicationBlock { hash: "f0d0af287865c6a4bf8623496d5f4a510a758cbd5be6bebd814a2dc21d8423f1", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 146, end_line: 195 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 147, end_line: 196 }] }, DuplicationBlock { hash: "96f3f07f6b312c09616d5380ff4e71710146568b02bbe4fa06d4901e9a48f413", lines: 50, locations: [DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 495, end_line: 544 }, DuplicationLocation { file: "./src/risk/strategy.rs", start_line: 496, end_line: 545 }] }, DuplicationBlock { hash: "28364c292979674417f4b5e230e42b711302bbf9a208625c1469ff6cb0cb2c1f", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./src/cli.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "7a8094f3675a13d45f6e74c7d49e57c84b386dc956cab70b0454779d98a871d6", lines: 50, locations: [DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 305, end_line: 354 }, DuplicationLocation { file: "./tests/javascript_typescript_test.rs", start_line: 306, end_line: 355 }] }, DuplicationBlock { hash: "1118be5d361d44f5251feaf182c536ba64a7ec7549f8a0cede5824a9ca567e25", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 43, end_line: 92 }, DuplicationLocation { file: "./src/risk/context/git_history.rs", start_line: 44, end_line: 93 }] }, DuplicationBlock { hash: "ad0274f289168bca0bc7bc2a25a1597c18c526c3318c83849719f3a4bd38440b", lines: 50, locations: [DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 223, end_line: 272 }, DuplicationLocation { file: "./src/complexity/python_patterns.rs", start_line: 224, end_line: 273 }] }, DuplicationBlock { hash: "0f2089257b9a396b82e06536007b21c84a5907788e0deb171e5b49bfa508e351", lines: 50, locations: [DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./tests/dependency_and_coupling_tests.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "94fa9db664f882695d8f2e3f9ced027ade6376303898bd9154920bc76679ab49", lines: 50, locations: [DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 112, end_line: 161 }, DuplicationLocation { file: "./tests/lcov_tests.rs", start_line: 113, end_line: 162 }] }, DuplicationBlock { hash: "f678c1a4de0c642b98341743e178ce0a1743695b5bf44743ddd21b2375f47c77", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 3, end_line: 52 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 4, end_line: 53 }] }, DuplicationBlock { hash: "d91de4c65ae2e7046141fa13967b9862aed17fd19a4a6a5283944d55bce448e1", lines: 50, locations: [DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 92, end_line: 141 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 93, end_line: 142 }, DuplicationLocation { file: "./tests/suppression_tests.rs", start_line: 94, end_line: 143 }] }, DuplicationBlock { hash: "cb4671bdd54b0566e400f48137bcf79c8423c6f549a8c07be94ae2b108efd3d8", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 344, end_line: 393 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 345, end_line: 394 }] }, DuplicationBlock { hash: "4a0fa4b29524af75c8d1d1b7db288434ecc61dc832e18e89cde75b1f02204104", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 28, end_line: 77 }, DuplicationLocation { file: "./src/cli.rs", start_line: 29, end_line: 78 }, DuplicationLocation { file: "./src/cli.rs", start_line: 30, end_line: 79 }] }, DuplicationBlock { hash: "dd28c5fbaae86771d869d5314a9565de7b289abf6f3db8f4c011119e43b4bfdd", lines: 50, locations: [DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 158, end_line: 207 }, DuplicationLocation { file: "./src/risk/context/critical_path.rs", start_line: 159, end_line: 208 }] }, DuplicationBlock { hash: "a0493da8d5af20a2a466ee202f1aa9984c2396aa1e97e7b0f1ff5a982a67ec14", lines: 50, locations: [DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 6, end_line: 55 }, DuplicationLocation { file: "./src/debt/suppression.rs", start_line: 7, end_line: 56 }] }, DuplicationBlock { hash: "aa3968cb8f1cca6aeb0811e062079a1edc7812298e17d920bc43f53df410b1e9", lines: 50, locations: [DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 51, end_line: 100 }, DuplicationLocation { file: "./tests/smell_tests.rs", start_line: 52, end_line: 101 }] }, DuplicationBlock { hash: "2ad44ba935d5e05e9703aa1a7a2cb187b61cdd7ea9a03e36f2a7414caba22b84", lines: 50, locations: [DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 136, end_line: 185 }, DuplicationLocation { file: "./tests/cyclomatic_complexity_tests.rs", start_line: 137, end_line: 186 }] }, DuplicationBlock { hash: "f1d3ed1d91c3416efbdacf6cee81dd9b520e0ad3b5b96097b4d6565ffff1a44e", lines: 50, locations: [DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 24, end_line: 73 }, DuplicationLocation { file: "./src/analyzers/javascript/mod.rs", start_line: 25, end_line: 74 }] }, DuplicationBlock { hash: "327344b72fc96309dcf045d4d5febd146069851e8b86c614c5aca8c65d55fdd1", lines: 50, locations: [DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 71, end_line: 120 }, DuplicationLocation { file: "./src/risk/roi/effort.rs", start_line: 72, end_line: 121 }] }, DuplicationBlock { hash: "c2ccc07bf2ec41adc38dd0d617960b0b716b21cfbb643867f0aa57402fe5c3aa", lines: 50, locations: [DuplicationLocation { file: "./src/risk/priority.rs", start_line: 497, end_line: 546 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 498, end_line: 547 }, DuplicationLocation { file: "./src/risk/priority.rs", start_line: 499, end_line: 548 }] }, DuplicationBlock { hash: "d7ee98ce1e48cd3cee6d5f41905e05e92cc921829eca867a48b937afc183a3f9", lines: 50, locations: [DuplicationLocation { file: "./src/cli.rs", start_line: 17, end_line: 66 }, DuplicationLocation { file: "./src/cli.rs", start_line: 18, end_line: 67 }] }, DuplicationBlock { hash: "506768e5853cbda1b0a4b5862e3ff0206726ec029daecc4f331069adb9d8d9ac", lines: 50, locations: [DuplicationLocation { file: "./src/core/monadic.rs", start_line: 174, end_line: 223 }, DuplicationLocation { file: "./src/core/monadic.rs", start_line: 175, end_line: 224 }] }] }