|
6 | 6 | from tested.datatypes import AllTypes |
7 | 7 | from tested.dodona import AnnotateCode, Message |
8 | 8 | from tested.features import Construct, TypeSupport |
9 | | -from tested.languages.c.generators import CGenerator |
10 | 9 | from tested.languages.conventionalize import ( |
11 | 10 | EXECUTION_PREFIX, |
12 | 11 | Conventionable, |
@@ -107,7 +106,7 @@ def modify_solution(self, solution: Path): |
107 | 106 | # First, check if we have a no-arg main function. |
108 | 107 | # If so, replace it with a renamed main function that does have args. |
109 | 108 | no_args = re.compile(r"(int|void)(\s+)main(\s*)\((\s*)\)(\s*{)") |
110 | | - replacement = r"int\2solution_main\3(\4int argc, char* argv[])\5" |
| 109 | + replacement = r"int\2solution_main\3(\4int argc, char** argv)\5" |
111 | 110 | contents, nr = re.subn(no_args, replacement, contents, count=1) |
112 | 111 | if nr == 0: |
113 | 112 | # There was no main function without arguments. Now we try a main |
@@ -144,20 +143,25 @@ def cleanup_stacktrace(self, stacktrace: str) -> str: |
144 | 143 | def is_source_file(self, file: Path) -> bool: |
145 | 144 | return file.suffix in (".c", ".h") |
146 | 145 |
|
147 | | - def generator(self) -> CGenerator: |
148 | | - return CGenerator(self.file_extension()) |
149 | | - |
150 | 146 | def generate_statement(self, statement: Statement) -> str: |
151 | | - return self.generator().convert_statement(statement, full=True) |
| 147 | + from tested.languages.c import generators |
| 148 | + |
| 149 | + return generators.convert_statement(statement, full=True) |
152 | 150 |
|
153 | 151 | def generate_execution_unit(self, execution_unit: "PreparedExecutionUnit") -> str: |
154 | | - return self.generator().convert_execution_unit(execution_unit) |
| 152 | + from tested.languages.c import generators |
| 153 | + |
| 154 | + return generators.convert_execution_unit(execution_unit) |
155 | 155 |
|
156 | 156 | def generate_selector(self, contexts: list[str]) -> str: |
157 | | - return self.generator().convert_selector(contexts) |
| 157 | + from tested.languages.c import generators |
| 158 | + |
| 159 | + return generators.convert_selector(contexts) |
158 | 160 |
|
159 | 161 | def generate_encoder(self, values: list[Value]) -> str: |
160 | | - return self.generator().convert_encoder(values) |
| 162 | + from tested.languages.c import generators |
| 163 | + |
| 164 | + return generators.convert_encoder(values) |
161 | 165 |
|
162 | 166 | def get_declaration_metadata(self) -> TypeDeclarationMetadata: |
163 | 167 | return { |
|
0 commit comments