File Coverage

lib/SPVM/Builder/src/spvm_api_compiler.c
Criterion Covered Total %
statement 32 49 65.3
branch n/a
condition n/a
subroutine n/a
pod n/a
total 32 49 65.3


line stmt bran cond sub pod time code
1             // Copyright (c) 2023 Yuki Kimoto
2             // MIT License
3              
4             #include
5             #include
6             #include
7             #include
8              
9             #include "spvm_native.h"
10              
11             #include "spvm_compiler.h"
12             #include "spvm_api_compiler.h"
13             #include "spvm_list.h"
14             #include "spvm_hash.h"
15             #include "spvm_method.h"
16             #include "spvm_string_buffer.h"
17             #include "spvm_allocator.h"
18             #include "spvm_string.h"
19             #include "spvm_class_file.h"
20              
21 119195           SPVM_API_COMPILER* SPVM_API_COMPILER_new_api() {
22 119195           void* env_compiler_init[] = {
23             SPVM_API_COMPILER_new_instance,
24             SPVM_API_COMPILER_free_instance,
25             SPVM_API_COMPILER_get_start_line,
26             SPVM_API_COMPILER_set_start_line,
27             SPVM_API_COMPILER_get_start_file,
28             SPVM_API_COMPILER_set_start_file,
29             SPVM_API_COMPILER_get_include_dirs_length,
30             SPVM_API_COMPILER_get_include_dir,
31             SPVM_API_COMPILER_add_include_dir,
32             SPVM_API_COMPILER_clear_include_dirs,
33             SPVM_API_COMPILER_add_class_file,
34             SPVM_API_COMPILER_delete_class_file,
35             SPVM_API_COMPILER_get_class_file,
36             SPVM_API_COMPILER_compile,
37             SPVM_API_COMPILER_get_error_message,
38             SPVM_API_COMPILER_get_error_messages_length,
39             SPVM_API_COMPILER_get_runtime,
40             };
41 119195           SPVM_API_COMPILER* env_compiler = calloc(1, sizeof(env_compiler_init));
42 119195           memcpy(env_compiler, env_compiler_init, sizeof(env_compiler_init));
43            
44 119195           return env_compiler;
45             }
46              
47 1501           SPVM_COMPILER* SPVM_API_COMPILER_new_instance() {
48 1501           return SPVM_COMPILER_new();
49             }
50              
51 1155           void SPVM_API_COMPILER_free_instance(SPVM_COMPILER* compiler) {
52 1155           SPVM_COMPILER_free(compiler);
53 1155           }
54              
55 0           int32_t SPVM_API_COMPILER_get_start_line(SPVM_COMPILER* compiler) {
56 0           return SPVM_COMPILER_get_start_line(compiler);
57             }
58              
59 3334           void SPVM_API_COMPILER_set_start_line(SPVM_COMPILER* compiler, int32_t start_line) {
60 3334           SPVM_COMPILER_set_start_line(compiler, start_line);
61 3334           }
62              
63 0           const char* SPVM_API_COMPILER_get_start_file(SPVM_COMPILER* compiler) {
64 0           return SPVM_COMPILER_get_start_file(compiler);
65             }
66              
67 3334           void SPVM_API_COMPILER_set_start_file(SPVM_COMPILER* compiler, const char* start_file) {
68 3334           SPVM_COMPILER_set_start_file(compiler, start_file);
69 3334           }
70              
71 35499           void SPVM_API_COMPILER_add_include_dir(SPVM_COMPILER* compiler, const char* include_dir) {
72 35499           SPVM_COMPILER_add_include_dir(compiler, include_dir);
73 35499           }
74              
75 0           int32_t SPVM_API_COMPILER_get_include_dirs_length (SPVM_COMPILER* compiler) {
76 0           return SPVM_COMPILER_get_include_dirs_length(compiler);
77             }
78              
79 0           const char* SPVM_API_COMPILER_get_include_dir (SPVM_COMPILER* compiler, int32_t index) {
80 0           return SPVM_COMPILER_get_include_dir(compiler, index);
81             }
82              
83 0           void SPVM_API_COMPILER_clear_include_dirs(SPVM_COMPILER* compiler) {
84 0           SPVM_COMPILER_clear_include_dirs(compiler);
85 0           }
86              
87 0           void SPVM_API_COMPILER_add_class_file(SPVM_COMPILER* compiler, const char* class_name) {
88 0           SPVM_COMPILER_add_class_file(compiler, class_name);
89 0           }
90              
91 99           SPVM_CLASS_FILE* SPVM_API_COMPILER_get_class_file(SPVM_COMPILER* compiler, const char* class_name) {
92 99           return SPVM_COMPILER_get_class_file(compiler, class_name);
93             }
94              
95 0           void SPVM_API_COMPILER_delete_class_file(SPVM_COMPILER* compiler, const char* class_name) {
96 0           SPVM_COMPILER_delete_class_file(compiler, class_name);
97 0           }
98              
99 3670           int32_t SPVM_API_COMPILER_compile(SPVM_COMPILER* compiler, const char* basic_type_name) {
100 3670           return SPVM_COMPILER_compile(compiler, basic_type_name);
101             }
102              
103 551           int32_t SPVM_API_COMPILER_get_error_messages_length(SPVM_COMPILER* compiler) {
104 551           return SPVM_COMPILER_get_error_messages_length(compiler);
105             }
106              
107 618           const char* SPVM_API_COMPILER_get_error_message(SPVM_COMPILER* compiler, int32_t index) {
108 618           return SPVM_COMPILER_get_error_message(compiler, index);
109             }
110              
111 1837           SPVM_RUNTIME* SPVM_API_COMPILER_get_runtime(SPVM_COMPILER* compiler) {
112 1837           return SPVM_COMPILER_get_runtime(compiler);
113             }
114              
115 119195           void SPVM_API_COMPILER_free_api(SPVM_API_COMPILER* api) {
116 119195           free(api);
117 119195           }