Coverage report: 75%

Files Functions Classes

coverage.py v7.10.4, created at 2025-08-20 03:53 +0000

File function statements missing excluded coverage
src/c2puml/__init__.py (no function) 23 0 0 100%
src/c2puml/config.py Config.__init__ 52 18 0 65%
src/c2puml/config.py Config.__post_init__ 1 1 0 0%
src/c2puml/config.py Config._compile_patterns 12 8 0 33%
src/c2puml/config.py Config.load 23 23 0 0%
src/c2puml/config.py Config.save 6 6 0 0%
src/c2puml/config.py Config.has_filters 2 2 0 0%
src/c2puml/config.py Config._should_include_file 9 6 0 33%
src/c2puml/config.py Config.__eq__ 3 3 0 0%
src/c2puml/config.py Config.__repr__ 0 0 5 100%
src/c2puml/config.py (no function) 34 0 1 100%
src/c2puml/core/__init__.py (no function) 6 0 0 100%
src/c2puml/core/generator.py Generator._clear_output_folder 8 3 0 62%
src/c2puml/core/generator.py Generator.generate 13 0 0 100%
src/c2puml/core/generator.py Generator.generate_diagram 18 0 0 100%
src/c2puml/core/generator.py Generator._generate_all_file_classes 10 1 0 90%
src/c2puml/core/generator.py Generator._generate_file_classes_by_extension 3 0 0 100%
src/c2puml/core/generator.py Generator._generate_typedef_classes_for_all_files 7 1 0 86%
src/c2puml/core/generator.py Generator._load_model 1 0 0 100%
src/c2puml/core/generator.py Generator._build_include_tree 27 13 0 52%
src/c2puml/core/generator.py Generator._build_include_tree.find_file_key 6 4 0 33%
src/c2puml/core/generator.py Generator._generate_uml_ids 19 1 0 95%
src/c2puml/core/generator.py Generator._format_macro 17 3 0 82%
src/c2puml/core/generator.py Generator._format_global_variable 1 0 0 100%
src/c2puml/core/generator.py Generator._format_function_signature 22 15 0 32%
src/c2puml/core/generator.py Generator._format_function_parameters 19 2 0 89%
src/c2puml/core/generator.py Generator._add_macros_section 4 0 0 100%
src/c2puml/core/generator.py Generator._add_globals_section 4 0 0 100%
src/c2puml/core/generator.py Generator._add_functions_section 7 2 0 71%
src/c2puml/core/generator.py Generator._generate_c_file_class 1 0 0 100%
src/c2puml/core/generator.py Generator._generate_header_class 1 0 0 100%
src/c2puml/core/generator.py Generator._generate_file_class_unified 24 9 0 62%
src/c2puml/core/generator.py Generator._add_globals_section_with_visibility 16 3 0 81%
src/c2puml/core/generator.py Generator._add_functions_section_with_visibility 21 3 0 86%
src/c2puml/core/generator.py Generator._generate_typedef_classes 4 0 0 100%
src/c2puml/core/generator.py Generator._generate_struct_classes 13 2 0 85%
src/c2puml/core/generator.py Generator._generate_enum_classes 11 0 0 100%
src/c2puml/core/generator.py Generator._generate_alias_classes 9 0 0 100%
src/c2puml/core/generator.py Generator._get_alias_stereotype 4 0 0 100%
src/c2puml/core/generator.py Generator._is_function_pointer_type 5 0 0 100%
src/c2puml/core/generator.py Generator._generate_union_classes 9 0 0 100%
src/c2puml/core/generator.py Generator._process_alias_content 3 0 0 100%
src/c2puml/core/generator.py Generator._generate_field_with_nested_structs 20 11 0 45%
src/c2puml/core/generator.py Generator._generate_relationships 4 0 0 100%
src/c2puml/core/generator.py Generator._generate_include_relationships 20 7 0 65%
src/c2puml/core/generator.py Generator._generate_declaration_relationships 16 1 0 94%
src/c2puml/core/generator.py Generator._get_file_uml_id 2 0 0 100%
src/c2puml/core/generator.py Generator._is_anonymous_structure_in_project 6 0 0 100%
src/c2puml/core/generator.py Generator._generate_uses_relationships 5 0 0 100%
src/c2puml/core/generator.py Generator._add_typedef_uses_relationships 14 1 0 93%
src/c2puml/core/generator.py Generator._generate_anonymous_relationships 19 1 0 95%
src/c2puml/core/generator.py Generator._get_anonymous_uml_id 10 2 0 80%
src/c2puml/core/generator.py Generator._is_anonymous_composition_pair 7 1 0 86%
src/c2puml/core/generator.py (no function) 58 0 0 100%
src/c2puml/core/parser.py CParser.__init__ 3 0 0 100%
src/c2puml/core/parser.py CParser.parse_project 71 38 0 46%
src/c2puml/core/parser.py CParser.parse_file 20 0 0 100%
src/c2puml/core/parser.py CParser._parse_structs_with_tokenizer 22 2 0 91%
src/c2puml/core/parser.py CParser._parse_enums_with_tokenizer 26 1 0 96%
src/c2puml/core/parser.py CParser._parse_unions_with_tokenizer 22 3 0 86%
src/c2puml/core/parser.py CParser._parse_functions_with_tokenizer 18 2 0 89%
src/c2puml/core/parser.py CParser._parse_globals_with_tokenizer 56 16 0 71%
src/c2puml/core/parser.py CParser._parse_includes_with_tokenizer 8 0 0 100%
src/c2puml/core/parser.py CParser._parse_macros_with_tokenizer 7 0 0 100%
src/c2puml/core/parser.py CParser._parse_aliases_with_tokenizer 12 0 0 100%
src/c2puml/core/parser.py CParser._extract_tag_name_for_struct 10 0 0 100%
src/c2puml/core/parser.py CParser._extract_tag_name_for_enum 10 0 0 100%
src/c2puml/core/parser.py CParser._extract_tag_name_for_union 10 0 0 100%
src/c2puml/core/parser.py CParser._extract_non_primitive_types 11 11 0 0%
src/c2puml/core/parser.py CParser._find_c_files 37 18 0 51%
src/c2puml/core/parser.py CParser._detect_encoding 1 0 0 100%
src/c2puml/core/parser.py CParser._find_original_token_pos 7 2 0 71%
src/c2puml/core/parser.py CParser._parse_single_typedef 124 13 0 90%
src/c2puml/core/parser.py CParser._parse_complex_typedef 23 2 0 91%
src/c2puml/core/parser.py CParser._extract_tag_name_from_typedef 14 2 0 86%
src/c2puml/core/parser.py CParser._looks_like_function 6 0 0 100%
src/c2puml/core/parser.py CParser._skip_function 18 1 0 94%
src/c2puml/core/parser.py CParser._skip_structure_definition 15 1 0 93%
src/c2puml/core/parser.py CParser._parse_global_variable 82 3 0 96%
src/c2puml/core/parser.py CParser._skip_to_semicolon 4 0 0 100%
src/c2puml/core/parser.py CParser._skip_preprocessor_directives 4 4 0 0%
src/c2puml/core/parser.py CParser._parse_function_parameters 51 4 0 92%
src/c2puml/core/parser.py CParser._parse_single_parameter 105 50 0 52%
src/c2puml/core/parser.py CParser._fix_array_bracket_spacing 5 0 0 100%
src/c2puml/core/parser.py CParser._fix_pointer_spacing 4 0 0 100%
src/c2puml/core/parser.py CParser._clean_type_string 7 1 0 86%
src/c2puml/core/parser.py CParser._clean_value_string 11 1 0 91%
src/c2puml/core/parser.py CParser._get_timestamp 2 2 0 0%
src/c2puml/core/parser.py Parser.__init__ 2 0 0 100%
src/c2puml/core/parser.py Parser.parse 55 18 0 67%
src/c2puml/core/parser.py (no function) 49 2 0 96%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor.__init__ 3 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor.process_file_model 10 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._process_all_entities 9 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._process_alias_for_anonymous_structs 15 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._process_struct_for_anonymous_structs 3 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._process_union_for_anonymous_structs 3 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._extract_anonymous_structs_from_text 32 2 0 94%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._generate_anonymous_name 1 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._generate_content_hash 6 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._find_existing_anonymous_structure 6 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._register_anonymous_structure 2 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._get_or_create_anonymous_structure 27 11 0 59%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._create_anonymous_struct 2 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._create_anonymous_union 2 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._parse_struct_fields 57 19 0 67%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._parse_comma_separated_fields 59 21 0 64%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._parse_single_field 28 28 0 0%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._is_too_complex_to_process 7 3 0 57%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._replace_anonymous_struct_with_reference 6 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._field_contains_anonymous_struct 6 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._extract_anonymous_from_field 69 38 0 45%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._update_field_references_to_extracted_entities 16 1 0 94%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._fix_flattened_fields_with_references 33 1 0 97%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._update_entity_field_references 5 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._field_should_reference_extracted_entity 7 0 0 100%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._find_extracted_entity_for_field 7 1 0 86%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._has_balanced_anonymous_pattern 21 2 0 90%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._has_balanced_anonymous_pattern_no_field_name 21 2 0 90%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._extract_balanced_anonymous_struct 25 3 0 88%
src/c2puml/core/parser_anonymous_processor.py AnonymousTypedefProcessor._extract_balanced_anonymous_struct_no_field_name 23 3 0 87%
src/c2puml/core/parser_anonymous_processor.py (no function) 34 0 0 100%
src/c2puml/core/parser_tokenizer.py Token.__repr__ 0 0 1 100%
src/c2puml/core/parser_tokenizer.py CTokenizer.__init__ 2 0 0 100%
src/c2puml/core/parser_tokenizer.py CTokenizer.tokenize 49 11 0 78%
src/c2puml/core/parser_tokenizer.py CTokenizer._tokenize_line 80 6 0 92%
src/c2puml/core/parser_tokenizer.py CTokenizer.filter_tokens 3 0 0 100%
src/c2puml/core/parser_tokenizer.py CTokenizer._merge_multiline_macros 18 1 0 94%
src/c2puml/core/parser_tokenizer.py StructureFinder.__init__ 3 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder.find_structs 13 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder.find_enums 13 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder.find_functions 7 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder.find_unions 13 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder._current_token_is 1 0 0 100%
src/c2puml/core/parser_tokenizer.py StructureFinder._peek_token 2 2 0 0%
src/c2puml/core/parser_tokenizer.py StructureFinder._advance 5 1 0 80%
src/c2puml/core/parser_tokenizer.py StructureFinder._find_matching_brace 11 1 0 91%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_struct 71 14 0 80%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_typedef_struct 35 6 0 83%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_enum 49 11 0 78%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_typedef_enum 12 1 0 92%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_function 41 4 0 90%
src/c2puml/core/parser_tokenizer.py StructureFinder._is_function_declaration 9 3 0 67%
src/c2puml/core/parser_tokenizer.py StructureFinder._find_function_end 21 4 0 81%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_union 24 6 0 75%
src/c2puml/core/parser_tokenizer.py StructureFinder._parse_typedef_union 29 7 0 76%
src/c2puml/core/parser_tokenizer.py extract_token_range 3 3 0 0%
src/c2puml/core/parser_tokenizer.py find_struct_fields 211 27 0 87%
src/c2puml/core/parser_tokenizer.py find_enum_values 28 1 0 96%
src/c2puml/core/parser_tokenizer.py _extract_brace_content 26 1 0 96%
src/c2puml/core/parser_tokenizer.py (no function) 86 0 1 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.__init__ 5 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.add_define 3 3 0 0%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.add_undef 2 2 0 0%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.is_defined 1 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.get_macro_value 1 1 0 0%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.evaluate_condition 5 1 0 80%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._expand_defined_operator 3 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._expand_defined_operator.replace_defined 2 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._expand_macros 4 2 0 50%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._evaluate_simple_expression 79 50 0 37%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._evaluate_operand 4 1 0 75%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.parse_preprocessor_blocks 35 6 0 83%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._parse_directive 18 5 0 72%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._extract_condition 14 1 0 93%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._parse_define 7 7 0 0%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._parse_undef 3 3 0 0%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._should_activate_block 25 5 0 80%
src/c2puml/core/preprocessor.py PreprocessorEvaluator.filter_tokens 11 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._is_token_in_active_block 4 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorEvaluator._is_token_in_block 6 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorManager.__init__ 2 0 0 100%
src/c2puml/core/preprocessor.py PreprocessorManager.process_file 6 2 0 67%
src/c2puml/core/preprocessor.py PreprocessorManager.add_defines_from_content 6 4 0 33%
src/c2puml/core/preprocessor.py (no function) 48 0 0 100%
src/c2puml/core/transformer.py Transformer.__init__ 1 0 0 100%
src/c2puml/core/transformer.py Transformer.transform 8 0 0 100%
src/c2puml/core/transformer.py Transformer._load_model 9 3 0 67%
src/c2puml/core/transformer.py Transformer._load_config 10 3 0 70%
src/c2puml/core/transformer.py Transformer._apply_transformations 9 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_transformation_containers 8 1 0 88%
src/c2puml/core/transformer.py Transformer._log_model_state_after_container 2 0 0 100%
src/c2puml/core/transformer.py Transformer._should_process_include_relations 7 5 0 29%
src/c2puml/core/transformer.py Transformer._discover_transformation_containers 4 0 0 100%
src/c2puml/core/transformer.py Transformer._ensure_backward_compatibility 7 4 0 43%
src/c2puml/core/transformer.py Transformer._is_legacy_transformation_format 1 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_single_transformation_container 6 0 0 100%
src/c2puml/core/transformer.py Transformer._get_target_files 10 2 0 80%
src/c2puml/core/transformer.py Transformer._match_files_by_patterns 6 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_remove_operations 9 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_rename_operations 4 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_add_operations 4 2 0 50%
src/c2puml/core/transformer.py Transformer._collect_typedef_names_for_removal 15 1 0 93%
src/c2puml/core/transformer.py Transformer._process_include_relations_simplified 15 0 0 100%
src/c2puml/core/transformer.py Transformer._process_root_c_file_includes 75 20 0 73%
src/c2puml/core/transformer.py Transformer._apply_file_filters 11 7 0 36%
src/c2puml/core/transformer.py Transformer._apply_include_filters 18 18 0 0%
src/c2puml/core/transformer.py Transformer._create_header_to_root_mapping 21 21 0 0%
src/c2puml/core/transformer.py Transformer._find_root_file_with_mapping 3 3 0 0%
src/c2puml/core/transformer.py Transformer._find_root_file 7 7 0 0%
src/c2puml/core/transformer.py Transformer._filter_include_relations 9 9 0 0%
src/c2puml/core/transformer.py Transformer._matches_any_pattern 1 0 0 100%
src/c2puml/core/transformer.py Transformer._matches_pattern 5 3 0 40%
src/c2puml/core/transformer.py Transformer._apply_model_transformations 23 23 0 0%
src/c2puml/core/transformer.py Transformer._apply_renaming 9 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_file_level_renaming 4 0 0 100%
src/c2puml/core/transformer.py Transformer._cleanup_type_references 52 52 0 0%
src/c2puml/core/transformer.py Transformer._contains_removed_type 6 2 0 67%
src/c2puml/core/transformer.py Transformer._remove_type_references 8 8 0 0%
src/c2puml/core/transformer.py Transformer._cleanup_type_references_by_names 42 24 0 43%
src/c2puml/core/transformer.py Transformer._update_type_references_for_renames 45 9 0 80%
src/c2puml/core/transformer.py Transformer._update_type_string_for_renames 7 1 0 86%
src/c2puml/core/transformer.py Transformer._rename_dict_elements 15 3 0 80%
src/c2puml/core/transformer.py Transformer._rename_list_elements 16 3 0 81%
src/c2puml/core/transformer.py Transformer._apply_rename_patterns 10 3 0 70%
src/c2puml/core/transformer.py Transformer._rename_typedefs 11 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_typedefs.create_renamed_alias 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_functions 5 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_functions.get_function_name 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_functions.create_renamed_function 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_macros 5 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_macros.get_macro_name 6 1 0 83%
src/c2puml/core/transformer.py Transformer._rename_macros.create_renamed_macro 11 1 0 91%
src/c2puml/core/transformer.py Transformer._rename_globals 5 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_globals.get_global_name 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_globals.create_renamed_global 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_includes 4 2 0 50%
src/c2puml/core/transformer.py Transformer._rename_set_elements 14 14 0 0%
src/c2puml/core/transformer.py Transformer._rename_include_relations 6 6 0 0%
src/c2puml/core/transformer.py Transformer._rename_structs 4 1 0 75%
src/c2puml/core/transformer.py Transformer._rename_structs.create_renamed_struct 1 0 0 100%
src/c2puml/core/transformer.py Transformer._rename_enums 4 4 0 0%
src/c2puml/core/transformer.py Transformer._rename_enums.create_renamed_enum 1 1 0 0%
src/c2puml/core/transformer.py Transformer._rename_unions 4 4 0 0%
src/c2puml/core/transformer.py Transformer._rename_unions.create_renamed_union 1 1 0 0%
src/c2puml/core/transformer.py Transformer._rename_files 29 27 0 7%
src/c2puml/core/transformer.py Transformer._apply_additions 5 5 0 0%
src/c2puml/core/transformer.py Transformer._apply_removals 7 0 0 100%
src/c2puml/core/transformer.py Transformer._apply_file_level_removals 4 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_dict_elements 13 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_list_elements 14 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_typedefs 1 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_functions 2 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_functions.get_function_name 1 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_macros 2 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_macros.get_macro_name 6 1 0 83%
src/c2puml/core/transformer.py Transformer._remove_globals 2 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_globals.get_global_name 1 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_includes 13 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_matching_include_relations 9 3 0 67%
src/c2puml/core/transformer.py Transformer._remove_structs 1 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_enums 1 0 0 100%
src/c2puml/core/transformer.py Transformer._remove_unions 1 0 0 100%
src/c2puml/core/transformer.py Transformer._should_include_file 7 7 0 0%
src/c2puml/core/transformer.py Transformer._compile_patterns 7 2 0 71%
src/c2puml/core/transformer.py Transformer._filter_dict 12 12 0 0%
src/c2puml/core/transformer.py Transformer._filter_list 13 13 0 0%
src/c2puml/core/transformer.py Transformer._dict_to_file_model 29 29 0 0%
src/c2puml/core/transformer.py Transformer._save_model 5 2 0 60%
src/c2puml/core/transformer.py (no function) 79 0 0 100%
src/c2puml/core/verifier.py ModelVerifier.__init__ 2 0 0 100%
src/c2puml/core/verifier.py ModelVerifier.verify_model 12 1 0 92%
src/c2puml/core/verifier.py ModelVerifier._verify_project_data 6 3 0 50%
src/c2puml/core/verifier.py ModelVerifier._verify_file 24 3 0 88%
src/c2puml/core/verifier.py ModelVerifier._verify_struct 6 2 0 67%
src/c2puml/core/verifier.py ModelVerifier._verify_enum 9 4 0 56%
src/c2puml/core/verifier.py ModelVerifier._verify_union 6 2 0 67%
src/c2puml/core/verifier.py ModelVerifier._verify_function 10 3 0 70%
src/c2puml/core/verifier.py ModelVerifier._verify_global 1 0 0 100%
src/c2puml/core/verifier.py ModelVerifier._verify_alias 6 3 0 50%
src/c2puml/core/verifier.py ModelVerifier._verify_filename_keys_and_relations 5 2 0 60%
src/c2puml/core/verifier.py ModelVerifier._verify_field 10 3 0 70%
src/c2puml/core/verifier.py ModelVerifier._is_valid_identifier 3 1 0 67%
src/c2puml/core/verifier.py ModelVerifier._is_suspicious_type 12 2 0 83%
src/c2puml/core/verifier.py ModelVerifier._is_suspicious_value 12 4 0 67%
src/c2puml/core/verifier.py ModelVerifier._has_unbalanced_brackets 9 1 0 89%
src/c2puml/core/verifier.py (no function) 21 0 0 100%
src/c2puml/main.py setup_logging 2 0 0 100%
src/c2puml/main.py load_config_from_path 12 8 0 33%
src/c2puml/main.py main 93 37 0 60%
src/c2puml/main.py (no function) 13 0 2 100%
src/c2puml/models.py Field.__repr__ 0 0 3 100%
src/c2puml/models.py Field.__post_init__ 8 4 0 50%
src/c2puml/models.py IncludeRelation.__post_init__ 6 3 0 50%
src/c2puml/models.py Function.__post_init__ 11 2 0 82%
src/c2puml/models.py Struct.__post_init__ 2 1 0 50%
src/c2puml/models.py EnumValue.__post_init__ 2 1 0 50%
src/c2puml/models.py Enum.__post_init__ 3 1 0 67%
src/c2puml/models.py Union.__post_init__ 2 1 0 50%
src/c2puml/models.py Alias.__post_init__ 4 2 0 50%
src/c2puml/models.py FileModel.__post_init__ 3 0 0 100%
src/c2puml/models.py FileModel.to_dict 24 0 0 100%
src/c2puml/models.py FileModel.from_dict 46 4 0 91%
src/c2puml/models.py ProjectModel.__post_init__ 4 2 0 50%
src/c2puml/models.py ProjectModel.save 6 2 0 67%
src/c2puml/models.py ProjectModel.from_dict 2 0 0 100%
src/c2puml/models.py ProjectModel.load 6 2 0 67%
src/c2puml/models.py ProjectModel.update_uses_fields 23 0 0 100%
src/c2puml/models.py ProjectModel._extract_non_primitive_types 11 0 0 100%
src/c2puml/models.py (no function) 88 0 1 100%
src/c2puml/utils.py detect_file_encoding 20 12 0 40%
src/c2puml/utils.py get_acceptable_encodings 1 1 0 0%
src/c2puml/utils.py is_acceptable_encoding 1 1 0 0%
src/c2puml/utils.py normalize_encoding 8 8 0 0%
src/c2puml/utils.py get_platform_default_encoding 4 4 0 0%
src/c2puml/utils.py (no function) 13 1 0 92%
Total   4740 1192 14 75%

No items found using the specified filter.