MCPcopy Index your code
hub / github.com/zai-org/CodeGeeX / cleanup_code

Function cleanup_code

codegeex/benchmark/utils.py:151–190  ·  view source on GitHub ↗

Cleans up the generated code.

(
    code: str,
    language_type: str = None,
    dataset: str = None,
)

Source from the content-addressed store, hash-verified

149
150
151def cleanup_code(
152 code: str,
153 language_type: str = None,
154 dataset: str = None,
155):
156 """
157 Cleans up the generated code.
158 """
159 if language_type is None or dataset is None:
160 return code
161
162 if "humaneval" in dataset.lower():
163 if language_type.lower() == "python":
164 end_words = ["\ndef", "\nclass", "\nif", "\n#", "\nprint", "\nassert"]
165 for w in end_words:
166 if w in code:
167 code = code[:code.rfind(w)]
168 elif language_type.lower() == "java":
169 main_pos = code.find("public static void main")
170 if main_pos != -1:
171 code = code[:main_pos] + '}'
172 if '}' in code:
173 code = code[:code.rfind('}')] + '}'
174 if code.count('{') + 1 == code.count('}'):
175 code += "\n}"
176 elif language_type.lower() == "go":
177 end_words = ["\n//", "\nfunc main("]
178 for w in end_words:
179 if w in code:
180 code = code[:code.rfind(w)]
181 if '}' in code:
182 code = code[:code.rfind('}')] + '}'
183 elif language_type.lower() == "cpp":
184 if '}' in code:
185 code = code[:code.rfind('}')] + '}'
186 elif language_type.lower() == "js":
187 if '}' in code:
188 code = code[:code.rfind('}')] + '}'
189
190 return code

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected