Branch Coverage

lib/SPVM/Builder/src/spvm_compiler.c
Criterion Covered Total %
branch 123 148 83.1


line true false branch
104 1155 0 if (compiler->runtime) {
109 2287 1155 for (int32_t i = 0; i < compiler->each_compile_allocators->length; i++) {
118 18414 1155 for (int32_t i = 0; i < compiler->class_file_class_names->length; i++) {
120 18414 0 if (class_file_class_name) {
125 18414 1155 for (int32_t i = 0; i < compiler->class_files->length; i++) {
127 18414 0 if (class_file) {
164 1501 2169 if (compiler->basic_types->length == 0) {
172 3334 336 if (basic_type_name) {
195 63 3607 if (yyparse_error_id) {
199 115 3492 if (SPVM_COMPILER_get_error_messages_length(compiler) > 0) {
204 373 3119 if (SPVM_COMPILER_get_error_messages_length(compiler) > 0) {
210 0 3119 assert(compiler->current_each_compile_allocator->memory_blocks_count_tmp == build_opcode_list_start_memory_blocks_count_tmp);
211 0 3119 assert(SPVM_COMPILER_get_error_messages_length(compiler) == 0);
218 0 3670 assert(compiler->current_each_compile_allocator->memory_blocks_count_tmp == compile_start_memory_blocks_count_tmp);
220 551 3119 if (error_id) {
221 13734 551 for (int32_t basic_type_id = compiler_basic_types_base_id; basic_type_id < compiler->basic_types->length; basic_type_id++) {
225 7545 6189 if (found_class_file) {
233 40856 551 for (int32_t constant_string_id = compiler_constant_strings_base_id; constant_string_id < compiler->constant_strings->length; constant_string_id++) {
258 615 4825 for (int32_t i = 0; i < error_messages->length; i++) {
272 34935 0 if (!class_file) {
283 20745 0 for (int32_t i = 0; i < compiler->class_file_class_names->length; i++) {
285 7545 13200 if (strcmp(class_name, class_file_class_name) == 0) {
286 7545 0 if (compiler->class_files->values[i]) {
300 7545 0 if (found_index >= 0) {
301 7059 486 if (found_index < compiler->class_file_class_names->length - 1) {
315 518195 34935 for (int32_t i = 0; i < compiler->class_file_class_names->length; i++) {
317 0 518195 if (strcmp(class_name, class_file_class_name) == 0) {
318 0 0 if (compiler->class_files->values[i]) {
329 34935 0 if (!found) {
340 2687758 74984 for (int32_t i = 0; i < compiler->class_file_class_names->length; i++) {
343 95528 2592230 if (strcmp(class_name, class_file_class_name) == 0) {
354 0 25959 assert(class_file);
370 0 16511 assert(basic_type->id == basic_type_id);
378 59596 0 if (!basic_type) {
419 0 0 for (int32_t i = 0; i < compiler->error_messages->length; i++) {
598 0 84410 if (strcmp(basic_type->name, basic_type_name_expected) != 0) {
605 54061880 3670 for (int32_t i = 0; i < compiler->ops->length; i++) {
678 2353327 528120 if (!var_decl->is_arg) {
690 59596 3670 for (int32_t basic_type_id = compiler->basic_types_base_id; basic_type_id < compiler->basic_types->length; basic_type_id++) {
696 310954 59596 for (method_index = 0; method_index < methods->length; method_index++) {
725 2168 951 if (current_runtime_basic_types_length > 0) {
732 45862 3119 for (int32_t basic_type_id = current_runtime_basic_types_length; basic_type_id < compiler->basic_types->length; basic_type_id++) {
739 0 3119 assert(runtime->basic_types[0]);
741 45862 3119 for (int32_t basic_type_id = current_runtime_basic_types_length; basic_type_id < compiler->basic_types->length; basic_type_id++) {
754 749392 45862 for (int32_t constant_string_index = 0; constant_string_index < basic_type->constant_strings->length; constant_string_index++) {
763 2061 43801 if (basic_type->class_vars->length > 0) {
765 5406 2061 for (int32_t class_var_index = 0; class_var_index < basic_type->class_vars->length; class_var_index++) {
782 14124 31738 if (basic_type->fields->length > 0) {
784 23335 14124 for (int32_t field_index = 0; field_index < basic_type->fields->length; field_index++) {
802 35172 10690 if (basic_type->methods->length > 0) {
804 288543 35172 for (int32_t method_index = 0; method_index < basic_type->methods->length; method_index++) {
809 0 288543 assert(method->opcode_list->length > 0);
841 220701 67842 if (method->args_length > 0) {
844 494229 220701 for (int32_t arg_index = 0; arg_index < method->args_length; arg_index++) {
865 557 45305 if (basic_type->anon_basic_types->length > 0) {
867 8075 557 for (int32_t anon_basic_type_index = 0; anon_basic_type_index < basic_type->anon_basic_types->length; anon_basic_type_index++) {
879 0 45862 assert(basic_type_string->index >= 0);
882 35401 10461 if (basic_type->class_rel_file) {
887 23989 21873 if (basic_type->class_dir) {
892 167 45695 if (basic_type->version_string) {
901 1992 43870 if (basic_type->parent) {
908 29552 16310 if (basic_type->init_method) {
912 757 45105 if (basic_type->destructor_method) {
942 1999 618 if (found_ptr) {
943 3 1996 if (*(found_ptr + 1) == 'c') {
944 3 0 int arg = va_arg(args, int);
947 1302 694 else if (*(found_ptr + 1) == 's') {
948 1261 41 char* arg = va_arg(args, char*);
951 688 6 else if (*(found_ptr + 1) == 'd') {
952 571 117 (void) va_arg(args, int);
955 6 0 else if (*(found_ptr + 1) == '%') {
984 2996 1493 if (compiler->start_file) {
989 3334 1155 if (start_file) {
1020 31825 1155 for (int32_t i = 0; i < include_dirs_length; i++) {