| 1271 | } |
| 1272 | |
| 1273 | bool gjs_context_eval(GjsContext* self, const char* script, ssize_t script_len, |
| 1274 | const char* filename, int* exit_status_p, |
| 1275 | GError** error) { |
| 1276 | g_return_val_if_fail(GJS_IS_CONTEXT(self), false); |
| 1277 | |
| 1278 | size_t real_len = script_len < 0 ? strlen(script) : script_len; |
| 1279 | |
| 1280 | Gjs::AutoUnref<GjsContext> self_ref{self, Gjs::TakeOwnership{}}; |
| 1281 | GjsContextPrivate* gjs = GjsContextPrivate::from_object(self_ref); |
| 1282 | |
| 1283 | gjs->register_non_module_sourcemap(script, filename); |
| 1284 | return result_to_c(gjs->eval(script, real_len, filename, exit_status_p), |
| 1285 | error); |
| 1286 | } |
| 1287 | |
| 1288 | bool gjs_context_eval_module(GjsContext* self, const char* identifier, |
| 1289 | uint8_t* exit_code, GError** error) { |