| #ifndef __NUITKA_NO_ASSERT__ | | #ifndef __NUITKA_NO_ASSERT__ |
| void checkModuleConstants___main__(PyThreadState *tstate) { | | void checkModuleConstants___main__(PyThreadState *tstate) { |
| // The module may not have been used at all, then ignore this. | | // The module may not have been used at all, then ignore this. |
| if (constants_created == false) return; | | if (constants_created == false) return; |
| | | |
n | for (int i = 0; i < 14; i++) { | n | for (int i = 0; i < 13; i++) { |
| assert(mod_consts_hash[i] == DEEP_HASH(tstate, mod_consts[i])); | | assert(mod_consts_hash[i] == DEEP_HASH(tstate, mod_consts[i])); |
| CHECK_OBJECT_DEEP(mod_consts[i]); | | CHECK_OBJECT_DEEP(mod_consts[i]); |
| } | | } |
| } | | } |
| #endif | | #endif |
| | | |
| // The module code objects. | | // The module code objects. |
| static PyCodeObject *codeobj_6475507dc30537fe5f4293aa41c516a5; | | static PyCodeObject *codeobj_6475507dc30537fe5f4293aa41c516a5; |
| static PyCodeObject *codeobj_6c59f63485f0140904d546949999b1d6; | | static PyCodeObject *codeobj_6c59f63485f0140904d546949999b1d6; |
n | static PyCodeObject *codeobj_18281df5652632816e165190f5288077; | n | static PyCodeObject *codeobj_8548e695a600e2fc8e2ff5c4643b15df; |
| /* For use in "MainProgram.c". */ | | /* For use in "MainProgram.c". */ |
| PyCodeObject *codeobj_main = NULL; | | PyCodeObject *codeobj_main = NULL; |
| | | |
| static void createModuleCodeObjects(void) { | | static void createModuleCodeObjects(void) { |
n | module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj); | n | module_filename_obj = mod_consts[3]; CHECK_OBJECT(module_filename_obj); |
| codeobj_6475507dc30537fe5f4293aa41c516a5 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[11], mod_consts[11], NULL, NULL, 0, 0, 0); | | codeobj_6475507dc30537fe5f4293aa41c516a5 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[11], mod_consts[11], NULL, NULL, 0, 0, 0); |
| codeobj_main = codeobj_6475507dc30537fe5f4293aa41c516a5; | | codeobj_main = codeobj_6475507dc30537fe5f4293aa41c516a5; |
n | codeobj_6c59f63485f0140904d546949999b1d6 = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[7], mod_consts[7], mod_consts[12], NULL, 1, 0, 0); | n | codeobj_6c59f63485f0140904d546949999b1d6 = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[6], mod_consts[6], mod_consts[12], NULL, 1, 0, 0); |
| codeobj_18281df5652632816e165190f5288077 = MAKE_CODE_OBJECT(module_filename_obj, 14, CO_OPTIMIZED | CO_NEWLOCALS, mod_consts[1], mod_consts[1], mod_consts[13], mod_consts[13], 0, 0, 0); | | codeobj_8548e695a600e2fc8e2ff5c4643b15df = MAKE_CODE_OBJECT(module_filename_obj, 18, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[1], mod_consts[1], NULL, NULL, 0, 0, 0); |
| } | | } |
| | | |
| // The module function declarations. | | // The module function declarations. |
| static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); | | static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); |
| | | |
| | | |
n | static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly$$$function__1_empty(struct Nuitka_CellObject **closure); | n | static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly$$$function__1_empty(); |
| | | |
| | | |
| // The module function definitions. | | // The module function definitions. |
| static PyObject *impl___main__$$$function__1_calledRepeatedly(PyThreadState *tstate, struct Nuitka_FunctionObject const *self, PyObject **python_pars) { | | static PyObject *impl___main__$$$function__1_calledRepeatedly(PyThreadState *tstate, struct Nuitka_FunctionObject const *self, PyObject **python_pars) { |
| // Preserve error status for checks | | // Preserve error status for checks |
| #ifndef __NUITKA_NO_ASSERT__ | | #ifndef __NUITKA_NO_ASSERT__ |
| NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); | | NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); |
| #endif | | #endif |
| | | |
| // Local variable declarations. | | // Local variable declarations. |
n | struct Nuitka_CellObject *par_x = Nuitka_Cell_New1(python_pars[0]); | n | PyObject *par_x = python_pars[0]; |
| PyObject *var_empty = NULL; | | PyObject *var_empty = NULL; |
| struct Nuitka_FrameObject *frame_6c59f63485f0140904d546949999b1d6; | | struct Nuitka_FrameObject *frame_6c59f63485f0140904d546949999b1d6; |
| NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; | | NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; |
| NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; | | NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; |
| PyObject *exception_type = NULL; | | PyObject *exception_type = NULL; |
| // Return the error. | | // Return the error. |
| goto try_except_handler_1; | | goto try_except_handler_1; |
| frame_no_exception_1:; | | frame_no_exception_1:; |
| { | | { |
| PyObject *tmp_assign_source_1; | | PyObject *tmp_assign_source_1; |
n | struct Nuitka_CellObject *tmp_closure_1[1]; | n | |
| | | |
n | tmp_closure_1[0] = par_x; | n | |
| Py_INCREF(tmp_closure_1[0]); | | |
| | | |
n | tmp_assign_source_1 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly$$$function__1_empty(tmp_closure_1); | n | tmp_assign_source_1 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly$$$function__1_empty(); |
| | | |
| assert(var_empty == NULL); | | assert(var_empty == NULL); |
| var_empty = tmp_assign_source_1; | | var_empty = tmp_assign_source_1; |
| } | | } |
| { | | { |
| PyObject *tmp_tuple_element_1; | | PyObject *tmp_tuple_element_1; |
| CHECK_OBJECT(var_empty); | | CHECK_OBJECT(var_empty); |
| tmp_tuple_element_1 = var_empty; | | tmp_tuple_element_1 = var_empty; |
| tmp_return_value = MAKE_TUPLE_EMPTY(2); | | tmp_return_value = MAKE_TUPLE_EMPTY(2); |
| PyTuple_SET_ITEM0(tmp_return_value, 0, tmp_tuple_element_1); | | PyTuple_SET_ITEM0(tmp_return_value, 0, tmp_tuple_element_1); |
n | CHECK_OBJECT(Nuitka_Cell_GET(par_x)); | n | CHECK_OBJECT(par_x); |
| tmp_tuple_element_1 = Nuitka_Cell_GET(par_x); | | tmp_tuple_element_1 = par_x; |
| PyTuple_SET_ITEM0(tmp_return_value, 1, tmp_tuple_element_1); | | PyTuple_SET_ITEM0(tmp_return_value, 1, tmp_tuple_element_1); |
| goto try_return_handler_1; | | goto try_return_handler_1; |
| } | | } |
| NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); | | NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); |
| return NULL; | | return NULL; |
| #ifndef __NUITKA_NO_ASSERT__ | | #ifndef __NUITKA_NO_ASSERT__ |
| NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); | | NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); |
| #endif | | #endif |
| | | |
| // Local variable declarations. | | // Local variable declarations. |
n | struct Nuitka_FrameObject *frame_18281df5652632816e165190f5288077; | n | struct Nuitka_FrameObject *frame_8548e695a600e2fc8e2ff5c4643b15df; |
| NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; | | NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; |
| PyObject *tmp_return_value = NULL; | | PyObject *tmp_return_value = NULL; |
| PyObject *exception_type = NULL; | | PyObject *exception_type = NULL; |
| PyObject *exception_value = NULL; | | PyObject *exception_value = NULL; |
| PyTracebackObject *exception_tb = NULL; | | PyTracebackObject *exception_tb = NULL; |
| NUITKA_MAY_BE_UNUSED int exception_lineno = 0; | | NUITKA_MAY_BE_UNUSED int exception_lineno = 0; |
n | static struct Nuitka_FrameObject *cache_frame_18281df5652632816e165190f5288077 = NULL; | n | static struct Nuitka_FrameObject *cache_frame_8548e695a600e2fc8e2ff5c4643b15df = NULL; |
| | | |
| // Actual function body. | | // Actual function body. |
n | if (isFrameUnusable(cache_frame_18281df5652632816e165190f5288077)) { | n | if (isFrameUnusable(cache_frame_8548e695a600e2fc8e2ff5c4643b15df)) { |
| Py_XDECREF(cache_frame_18281df5652632816e165190f5288077); | | Py_XDECREF(cache_frame_8548e695a600e2fc8e2ff5c4643b15df); |
| | | |
| #if _DEBUG_REFCOUNTS | | #if _DEBUG_REFCOUNTS |
n | if (cache_frame_18281df5652632816e165190f5288077 == NULL) { | n | if (cache_frame_8548e695a600e2fc8e2ff5c4643b15df == NULL) { |
| count_active_frame_cache_instances += 1; | | count_active_frame_cache_instances += 1; |
| } else { | | } else { |
| count_released_frame_cache_instances += 1; | | count_released_frame_cache_instances += 1; |
| } | | } |
| count_allocated_frame_cache_instances += 1; | | count_allocated_frame_cache_instances += 1; |
| #endif | | #endif |
n | cache_frame_18281df5652632816e165190f5288077 = MAKE_FUNCTION_FRAME(tstate, codeobj_18281df5652632816e165190f5288077, module___main__, sizeof(void *)); | n | cache_frame_8548e695a600e2fc8e2ff5c4643b15df = MAKE_FUNCTION_FRAME(tstate, codeobj_8548e695a600e2fc8e2ff5c4643b15df, module___main__, 0); |
| #if _DEBUG_REFCOUNTS | | #if _DEBUG_REFCOUNTS |
| } else { | | } else { |
| count_hit_frame_cache_instances += 1; | | count_hit_frame_cache_instances += 1; |
| #endif | | #endif |
| } | | } |
| | | |
n | assert(cache_frame_18281df5652632816e165190f5288077->m_type_description == NULL); | n | assert(cache_frame_8548e695a600e2fc8e2ff5c4643b15df->m_type_description == NULL); |
| frame_18281df5652632816e165190f5288077 = cache_frame_18281df5652632816e165190f5288077; | | frame_8548e695a600e2fc8e2ff5c4643b15df = cache_frame_8548e695a600e2fc8e2ff5c4643b15df; |
| | | |
| // Push the new frame as the currently active one, and we should be exclusively | | // Push the new frame as the currently active one, and we should be exclusively |
| // owning it. | | // owning it. |
n | pushFrameStackCompiledFrame(tstate, frame_18281df5652632816e165190f5288077); | n | pushFrameStackCompiledFrame(tstate, frame_8548e695a600e2fc8e2ff5c4643b15df); |
| assert(Py_REFCNT(frame_18281df5652632816e165190f5288077) == 2); | | assert(Py_REFCNT(frame_8548e695a600e2fc8e2ff5c4643b15df) == 2); |
| | | |
| // Framed code: | | // Framed code: |
n | if (Nuitka_Cell_GET(self->m_closure[0]) == NULL) { | n | tmp_return_value = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]); |
| | | |
n | FORMAT_UNBOUND_CLOSURE_ERROR(&exception_type, &exception_value, mod_consts[2]); | n | if (unlikely(tmp_return_value == NULL)) { |
| exception_tb = NULL; | | tmp_return_value = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[0]); |
| | | } |
| | | |
n | | n | if (tmp_return_value == NULL) { |
| | | assert(HAS_ERROR_OCCURRED(tstate)); |
| | | |
| | | FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
| | | |
| | | |
| exception_lineno = 15; | | exception_lineno = 19; |
| type_description_1 = "c"; | | |
| goto frame_exception_exit_1; | | goto frame_exception_exit_1; |
| } | | } |
n | | n | |
| tmp_return_value = Nuitka_Cell_GET(self->m_closure[0]); | | |
| Py_INCREF(tmp_return_value); | | Py_INCREF(tmp_return_value); |
| goto frame_return_exit_1; | | goto frame_return_exit_1; |
| | | |
| | | |
| // Put the previous frame back on top. | | // Put the previous frame back on top. |
| goto function_return_exit; | | goto function_return_exit; |
| frame_exception_exit_1: | | frame_exception_exit_1: |
| | | |
| | | |
| if (exception_tb == NULL) { | | if (exception_tb == NULL) { |
n | exception_tb = MAKE_TRACEBACK(frame_18281df5652632816e165190f5288077, exception_lineno); | n | exception_tb = MAKE_TRACEBACK(frame_8548e695a600e2fc8e2ff5c4643b15df, exception_lineno); |
| } else if (exception_tb->tb_frame != &frame_18281df5652632816e165190f5288077->m_frame) { | | } else if (exception_tb->tb_frame != &frame_8548e695a600e2fc8e2ff5c4643b15df->m_frame) { |
| exception_tb = ADD_TRACEBACK(exception_tb, frame_18281df5652632816e165190f5288077, exception_lineno); | | exception_tb = ADD_TRACEBACK(exception_tb, frame_8548e695a600e2fc8e2ff5c4643b15df, exception_lineno); |
| } | | } |
| | | |
| // Attaches locals to frame if any. | | // Attaches locals to frame if any. |
| Nuitka_Frame_AttachLocals( | | Nuitka_Frame_AttachLocals( |
n | frame_18281df5652632816e165190f5288077, | n | frame_8548e695a600e2fc8e2ff5c4643b15df, |
| type_description_1, | | type_description_1 |
| self->m_closure[0] | | |
| ); | | ); |
| | | |
| | | |
| // Release cached frame if used for exception. | | // Release cached frame if used for exception. |
n | if (frame_18281df5652632816e165190f5288077 == cache_frame_18281df5652632816e165190f5288077) { | n | if (frame_8548e695a600e2fc8e2ff5c4643b15df == cache_frame_8548e695a600e2fc8e2ff5c4643b15df) { |
| #if _DEBUG_REFCOUNTS | | #if _DEBUG_REFCOUNTS |
| count_active_frame_cache_instances -= 1; | | count_active_frame_cache_instances -= 1; |
| count_released_frame_cache_instances += 1; | | count_released_frame_cache_instances += 1; |
| #endif | | #endif |
n | Py_DECREF(cache_frame_18281df5652632816e165190f5288077); | n | Py_DECREF(cache_frame_8548e695a600e2fc8e2ff5c4643b15df); |
| cache_frame_18281df5652632816e165190f5288077 = NULL; | | cache_frame_8548e695a600e2fc8e2ff5c4643b15df = NULL; |
| } | | } |
| | | |
n | assertFrameObject(frame_18281df5652632816e165190f5288077); | n | assertFrameObject(frame_8548e695a600e2fc8e2ff5c4643b15df); |
| | | |
| // Put the previous frame back on top. | | // Put the previous frame back on top. |
| popFrameStack(tstate); | | popFrameStack(tstate); |
| | | |
| // Return the error. | | // Return the error. |
| | | |
| // Module code. | | // Module code. |
| { | | { |
| PyObject *tmp_assign_source_1; | | PyObject *tmp_assign_source_1; |
| tmp_assign_source_1 = Py_None; | | tmp_assign_source_1 = Py_None; |
n | UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1); | n | UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_1); |
| } | | } |
| { | | { |
| PyObject *tmp_assign_source_2; | | PyObject *tmp_assign_source_2; |
n | tmp_assign_source_2 = mod_consts[4]; | n | tmp_assign_source_2 = mod_consts[3]; |
| UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2); | | UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_2); |
| } | | } |
| frame_6475507dc30537fe5f4293aa41c516a5 = MAKE_MODULE_FRAME(codeobj_6475507dc30537fe5f4293aa41c516a5, module___main__); | | frame_6475507dc30537fe5f4293aa41c516a5 = MAKE_MODULE_FRAME(codeobj_6475507dc30537fe5f4293aa41c516a5, module___main__); |
| | | |
| // Push the new frame as the currently active one, and we should be exclusively | | // Push the new frame as the currently active one, and we should be exclusively |
| // owning it. | | // owning it. |
| PyObject *tmp_assign_source_3; | | PyObject *tmp_assign_source_3; |
| PyObject *tmp_name_value_1; | | PyObject *tmp_name_value_1; |
| PyObject *tmp_globals_arg_value_1; | | PyObject *tmp_globals_arg_value_1; |
| PyObject *tmp_locals_arg_value_1; | | PyObject *tmp_locals_arg_value_1; |
| PyObject *tmp_fromlist_value_1; | | PyObject *tmp_fromlist_value_1; |
n | tmp_name_value_1 = mod_consts[6]; | n | tmp_name_value_1 = mod_consts[5]; |
| tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; | | tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; |
| tmp_locals_arg_value_1 = Py_None; | | tmp_locals_arg_value_1 = Py_None; |
| tmp_fromlist_value_1 = Py_None; | | tmp_fromlist_value_1 = Py_None; |
| frame_6475507dc30537fe5f4293aa41c516a5->m_frame.f_lineno = 4; | | frame_6475507dc30537fe5f4293aa41c516a5->m_frame.f_lineno = 4; |
| tmp_assign_source_3 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1); | | tmp_assign_source_3 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1); |
| PyObject *tmp_assign_source_5; | | PyObject *tmp_assign_source_5; |
| | | |
| | | |
| tmp_assign_source_5 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); | | tmp_assign_source_5 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); |
| | | |
n | UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_5); | n | UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_5); |
| } | | } |
| { | | { |
| PyObject *tmp_assign_source_6; | | PyObject *tmp_assign_source_6; |
| PyObject *tmp_iter_arg_1; | | PyObject *tmp_iter_arg_1; |
| PyObject *tmp_called_instance_1; | | PyObject *tmp_called_instance_1; |
n | tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]); | n | tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]); |
| | | |
| if (unlikely(tmp_called_instance_1 == NULL)) { | | if (unlikely(tmp_called_instance_1 == NULL)) { |
n | tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]); | n | tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[5]); |
| } | | } |
| | | |
| assert(!(tmp_called_instance_1 == NULL)); | | assert(!(tmp_called_instance_1 == NULL)); |
| frame_6475507dc30537fe5f4293aa41c516a5->m_frame.f_lineno = 26; | | frame_6475507dc30537fe5f4293aa41c516a5->m_frame.f_lineno = 26; |
| tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( | | tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( |
| tstate, | | tstate, |
| tmp_called_instance_1, | | tmp_called_instance_1, |
n | mod_consts[8], | n | mod_consts[7], |
| &PyTuple_GET_ITEM(mod_consts[9], 0) | | &PyTuple_GET_ITEM(mod_consts[8], 0) |
| ); | | ); |
| | | |
| if (tmp_iter_arg_1 == NULL) { | | if (tmp_iter_arg_1 == NULL) { |
| assert(HAS_ERROR_OCCURRED(tstate)); | | assert(HAS_ERROR_OCCURRED(tstate)); |
| | | |
| } | | } |
| { | | { |
| PyObject *tmp_assign_source_8; | | PyObject *tmp_assign_source_8; |
| CHECK_OBJECT(tmp_for_loop_1__iter_value); | | CHECK_OBJECT(tmp_for_loop_1__iter_value); |
| tmp_assign_source_8 = tmp_for_loop_1__iter_value; | | tmp_assign_source_8 = tmp_for_loop_1__iter_value; |
n | UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_8); | n | UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_8); |
| } | | } |
| { | | { |
| PyObject *tmp_called_value_1; | | PyObject *tmp_called_value_1; |
| PyObject *tmp_call_result_1; | | PyObject *tmp_call_result_1; |
| PyObject *tmp_args_element_value_1; | | PyObject *tmp_args_element_value_1; |
n | tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); | n | tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]); |
| | | |
| if (unlikely(tmp_called_value_1 == NULL)) { | | if (unlikely(tmp_called_value_1 == NULL)) { |
n | tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); | n | tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]); |
| } | | } |
| | | |
| if (tmp_called_value_1 == NULL) { | | if (tmp_called_value_1 == NULL) { |
| assert(HAS_ERROR_OCCURRED(tstate)); | | assert(HAS_ERROR_OCCURRED(tstate)); |
| | | |