|
} |
|
} |
|
#endif |
|
#endif |
|
|
|
|
|
// The module code objects. |
|
// The module code objects. |
|
static PyCodeObject *codeobj_fd67aee201c5497df7581ff2cf449118; |
|
static PyCodeObject *codeobj_fd67aee201c5497df7581ff2cf449118; |
n |
static PyCodeObject *codeobj_b0848fb5b344e92ae713a7b0bacfd18c; |
n |
static PyCodeObject *codeobj_3bbc035e2a28df8369081f2fa6b586d0; |
|
/* 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) { |
|
module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj); |
|
module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj); |
|
codeobj_fd67aee201c5497df7581ff2cf449118 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[12], mod_consts[12], NULL, NULL, 0, 0, 0); |
|
codeobj_fd67aee201c5497df7581ff2cf449118 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[12], mod_consts[12], NULL, NULL, 0, 0, 0); |
|
codeobj_main = codeobj_fd67aee201c5497df7581ff2cf449118; |
|
codeobj_main = codeobj_fd67aee201c5497df7581ff2cf449118; |
n |
codeobj_b0848fb5b344e92ae713a7b0bacfd18c = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[8], mod_consts[8], mod_consts[13], NULL, 0, 0, 0); |
n |
codeobj_3bbc035e2a28df8369081f2fa6b586d0 = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[8], mod_consts[8], mod_consts[13], 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(); |
|
|
|
|
|
#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 |
PyObject *var_x = NULL; |
n |
struct Nuitka_FrameObject *frame_3bbc035e2a28df8369081f2fa6b586d0; |
|
PyObject *var_l = NULL; |
|
|
|
PyObject *tmp_list_contraction_1__$0 = NULL; |
|
|
|
PyObject *tmp_list_contraction_1__contraction_result = NULL; |
|
|
|
PyObject *tmp_list_contraction_1__iter_value_0 = NULL; |
|
|
|
struct Nuitka_FrameObject *frame_b0848fb5b344e92ae713a7b0bacfd18c; |
|
|
|
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; |
|
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 |
bool tmp_result; |
n |
|
|
PyObject *exception_keeper_type_1; |
|
|
|
PyObject *exception_keeper_value_1; |
|
|
|
PyTracebackObject *exception_keeper_tb_1; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; |
|
|
|
PyObject *tmp_return_value = NULL; |
|
PyObject *tmp_return_value = NULL; |
n |
static struct Nuitka_FrameObject *cache_frame_b0848fb5b344e92ae713a7b0bacfd18c = NULL; |
n |
static struct Nuitka_FrameObject *cache_frame_3bbc035e2a28df8369081f2fa6b586d0 = NULL; |
|
PyObject *exception_keeper_type_2; |
|
|
|
PyObject *exception_keeper_value_2; |
|
|
|
PyTracebackObject *exception_keeper_tb_2; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2; |
|
|
|
|
|
|
|
// Actual function body. |
|
// Actual function body. |
n |
// Tried code: |
n |
if (isFrameUnusable(cache_frame_3bbc035e2a28df8369081f2fa6b586d0)) { |
|
if (isFrameUnusable(cache_frame_b0848fb5b344e92ae713a7b0bacfd18c)) { |
|
Py_XDECREF(cache_frame_3bbc035e2a28df8369081f2fa6b586d0); |
|
Py_XDECREF(cache_frame_b0848fb5b344e92ae713a7b0bacfd18c); |
|
|
|
|
|
|
|
#if _DEBUG_REFCOUNTS |
|
#if _DEBUG_REFCOUNTS |
n |
if (cache_frame_b0848fb5b344e92ae713a7b0bacfd18c == NULL) { |
n |
if (cache_frame_3bbc035e2a28df8369081f2fa6b586d0 == 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_b0848fb5b344e92ae713a7b0bacfd18c = MAKE_FUNCTION_FRAME(tstate, codeobj_b0848fb5b344e92ae713a7b0bacfd18c, module___main__, sizeof(void *)+sizeof(void *)); |
n |
cache_frame_3bbc035e2a28df8369081f2fa6b586d0 = MAKE_FUNCTION_FRAME(tstate, codeobj_3bbc035e2a28df8369081f2fa6b586d0, module___main__, sizeof(void *)); |
|
#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_b0848fb5b344e92ae713a7b0bacfd18c->m_type_description == NULL); |
n |
assert(cache_frame_3bbc035e2a28df8369081f2fa6b586d0->m_type_description == NULL); |
|
frame_b0848fb5b344e92ae713a7b0bacfd18c = cache_frame_b0848fb5b344e92ae713a7b0bacfd18c; |
|
frame_3bbc035e2a28df8369081f2fa6b586d0 = cache_frame_3bbc035e2a28df8369081f2fa6b586d0; |
|
|
|
|
|
// 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_b0848fb5b344e92ae713a7b0bacfd18c); |
n |
pushFrameStackCompiledFrame(tstate, frame_3bbc035e2a28df8369081f2fa6b586d0); |
|
assert(Py_REFCNT(frame_b0848fb5b344e92ae713a7b0bacfd18c) == 2); |
|
assert(Py_REFCNT(frame_3bbc035e2a28df8369081f2fa6b586d0) == 2); |
|
|
|
|
|
// Framed code: |
|
// Framed code: |
|
{ |
|
{ |
|
PyObject *tmp_mvar_value_1; |
|
PyObject *tmp_mvar_value_1; |
|
tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]); |
|
tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]); |
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
exception_lineno = 11; |
|
exception_lineno = 11; |
n |
type_description_1 = "oo"; |
n |
type_description_1 = "N"; |
|
goto frame_exception_exit_1; |
|
goto frame_exception_exit_1; |
|
} |
|
} |
|
} |
|
} |
|
{ |
|
{ |
n |
PyObject *tmp_assign_source_1; |
n |
|
|
{ |
|
|
|
PyObject *tmp_assign_source_2; |
|
|
|
PyObject *tmp_iter_arg_1; |
|
|
|
tmp_iter_arg_1 = mod_consts[1]; |
|
|
|
tmp_assign_source_2 = MAKE_ITERATOR_INFALLIBLE(tmp_iter_arg_1); |
|
|
|
assert(!(tmp_assign_source_2 == NULL)); |
|
|
|
assert(tmp_list_contraction_1__$0 == NULL); |
|
|
|
tmp_list_contraction_1__$0 = tmp_assign_source_2; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_3; |
|
|
|
tmp_assign_source_3 = MAKE_LIST_EMPTY(0); |
|
|
|
assert(tmp_list_contraction_1__contraction_result == NULL); |
|
|
|
tmp_list_contraction_1__contraction_result = tmp_assign_source_3; |
|
|
|
} |
|
|
|
// Tried code: |
|
|
|
loop_start_1:; |
|
|
|
{ |
|
|
|
PyObject *tmp_next_source_1; |
|
|
|
PyObject *tmp_assign_source_4; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__$0); |
|
|
|
tmp_next_source_1 = tmp_list_contraction_1__$0; |
|
|
|
tmp_assign_source_4 = ITERATOR_NEXT(tmp_next_source_1); |
|
|
|
if (tmp_assign_source_4 == NULL) { |
|
|
|
if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED(tstate)) { |
|
|
|
|
|
|
|
goto loop_end_1; |
|
|
|
} else { |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
type_description_1 = "oo"; |
|
|
|
exception_lineno = 14; |
|
|
|
goto try_except_handler_2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *old = tmp_list_contraction_1__iter_value_0; |
|
|
|
tmp_list_contraction_1__iter_value_0 = tmp_assign_source_4; |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_5; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__iter_value_0); |
|
|
|
tmp_assign_source_5 = tmp_list_contraction_1__iter_value_0; |
|
|
|
{ |
|
|
|
PyObject *old = var_x; |
|
|
|
var_x = tmp_assign_source_5; |
|
|
|
Py_INCREF(var_x); |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_append_list_1; |
|
|
|
PyObject *tmp_append_value_1; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__contraction_result); |
|
|
|
tmp_append_list_1 = tmp_list_contraction_1__contraction_result; |
|
|
|
CHECK_OBJECT(var_x); |
|
|
|
tmp_append_value_1 = var_x; |
|
|
|
tmp_result = LIST_APPEND0(tmp_append_list_1, tmp_append_value_1); |
|
|
|
if (tmp_result == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 14; |
|
|
|
type_description_1 = "oo"; |
|
|
|
goto try_except_handler_2; |
|
|
|
} |
|
|
|
} |
|
|
|
if (CONSIDER_THREADING(tstate) == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 14; |
|
|
|
type_description_1 = "oo"; |
|
|
|
goto try_except_handler_2; |
|
|
|
} |
|
|
|
goto loop_start_1; |
|
|
|
loop_end_1:; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__contraction_result); |
|
|
|
tmp_assign_source_1 = tmp_list_contraction_1__contraction_result; |
|
|
|
Py_INCREF(tmp_assign_source_1); |
|
|
|
goto try_return_handler_2; |
|
|
|
NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); |
|
|
|
return NULL; |
|
|
|
// Return handler code: |
|
|
|
try_return_handler_2:; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__$0); |
|
|
|
Py_DECREF(tmp_list_contraction_1__$0); |
|
|
|
tmp_list_contraction_1__$0 = NULL; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__contraction_result); |
|
|
|
Py_DECREF(tmp_list_contraction_1__contraction_result); |
|
|
|
tmp_list_contraction_1__contraction_result = NULL; |
|
|
|
Py_XDECREF(tmp_list_contraction_1__iter_value_0); |
|
|
|
tmp_list_contraction_1__iter_value_0 = NULL; |
|
|
|
goto outline_result_1; |
|
|
|
// Exception handler code: |
|
|
|
try_except_handler_2:; |
|
|
|
exception_keeper_type_1 = exception_type; |
|
|
|
exception_keeper_value_1 = exception_value; |
|
|
|
exception_keeper_tb_1 = exception_tb; |
|
|
|
exception_keeper_lineno_1 = exception_lineno; |
|
|
|
exception_type = NULL; |
|
|
|
exception_value = NULL; |
|
|
|
exception_tb = NULL; |
|
|
|
exception_lineno = 0; |
|
|
|
|
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__$0); |
|
|
|
Py_DECREF(tmp_list_contraction_1__$0); |
|
|
|
tmp_list_contraction_1__$0 = NULL; |
|
|
|
CHECK_OBJECT(tmp_list_contraction_1__contraction_result); |
|
|
|
Py_DECREF(tmp_list_contraction_1__contraction_result); |
|
|
|
tmp_list_contraction_1__contraction_result = NULL; |
|
|
|
Py_XDECREF(tmp_list_contraction_1__iter_value_0); |
|
|
|
tmp_list_contraction_1__iter_value_0 = NULL; |
|
|
|
// Re-raise. |
|
|
|
exception_type = exception_keeper_type_1; |
|
|
|
exception_value = exception_keeper_value_1; |
|
|
|
exception_tb = exception_keeper_tb_1; |
|
|
|
exception_lineno = exception_keeper_lineno_1; |
|
|
|
|
|
|
|
goto frame_exception_exit_1; |
|
|
|
// End of try: |
|
|
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
|
|
return NULL; |
|
|
|
outline_result_1:; |
|
|
|
assert(var_l == NULL); |
|
|
|
var_l = tmp_assign_source_1; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_tuple_element_1; |
|
PyObject *tmp_tuple_element_1; |
n |
CHECK_OBJECT(var_l); |
n |
|
|
tmp_tuple_element_1 = var_l; |
|
tmp_tuple_element_1 = mod_consts[1]; |
|
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 |
if (var_x == NULL) { |
n |
tmp_tuple_element_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]); |
|
|
|
|
n |
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[2]); |
n |
if (unlikely(tmp_tuple_element_1 == NULL)) { |
|
exception_tb = NULL; |
|
tmp_tuple_element_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[2]); |
|
|
|
} |
|
|
|
|
|
|
|
if (tmp_tuple_element_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
exception_lineno = 19; |
|
exception_lineno = 19; |
n |
type_description_1 = "oo"; |
n |
type_description_1 = "N"; |
|
goto tuple_build_exception_1; |
|
goto tuple_build_exception_1; |
|
} |
|
} |
n |
|
n |
|
|
tmp_tuple_element_1 = var_x; |
|
|
|
PyTuple_SET_ITEM0(tmp_return_value, 1, tmp_tuple_element_1); |
|
PyTuple_SET_ITEM0(tmp_return_value, 1, tmp_tuple_element_1); |
|
goto tuple_build_noexception_1; |
|
goto tuple_build_noexception_1; |
|
// Exception handling pass through code for tuple_build: |
|
// Exception handling pass through code for tuple_build: |
|
tuple_build_exception_1:; |
|
tuple_build_exception_1:; |
|
Py_DECREF(tmp_return_value); |
|
Py_DECREF(tmp_return_value); |
|
frame_return_exit_1: |
|
frame_return_exit_1: |
|
|
|
|
|
// Put the previous frame back on top. |
|
// Put the previous frame back on top. |
|
popFrameStack(tstate); |
|
popFrameStack(tstate); |
|
|
|
|
n |
goto try_return_handler_1; |
n |
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_b0848fb5b344e92ae713a7b0bacfd18c, exception_lineno); |
n |
exception_tb = MAKE_TRACEBACK(frame_3bbc035e2a28df8369081f2fa6b586d0, exception_lineno); |
|
} else if (exception_tb->tb_frame != &frame_b0848fb5b344e92ae713a7b0bacfd18c->m_frame) { |
|
} else if (exception_tb->tb_frame != &frame_3bbc035e2a28df8369081f2fa6b586d0->m_frame) { |
|
exception_tb = ADD_TRACEBACK(exception_tb, frame_b0848fb5b344e92ae713a7b0bacfd18c, exception_lineno); |
|
exception_tb = ADD_TRACEBACK(exception_tb, frame_3bbc035e2a28df8369081f2fa6b586d0, exception_lineno); |
|
} |
|
} |
|
|
|
|
|
// Attaches locals to frame if any. |
|
// Attaches locals to frame if any. |
|
Nuitka_Frame_AttachLocals( |
|
Nuitka_Frame_AttachLocals( |
n |
frame_b0848fb5b344e92ae713a7b0bacfd18c, |
n |
frame_3bbc035e2a28df8369081f2fa6b586d0, |
|
type_description_1, |
|
type_description_1, |
n |
var_x, |
n |
NULL |
|
var_l |
|
|
|
); |
|
); |
|
|
|
|
|
|
|
|
|
// Release cached frame if used for exception. |
|
// Release cached frame if used for exception. |
n |
if (frame_b0848fb5b344e92ae713a7b0bacfd18c == cache_frame_b0848fb5b344e92ae713a7b0bacfd18c) { |
n |
if (frame_3bbc035e2a28df8369081f2fa6b586d0 == cache_frame_3bbc035e2a28df8369081f2fa6b586d0) { |
|
#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_b0848fb5b344e92ae713a7b0bacfd18c); |
n |
Py_DECREF(cache_frame_3bbc035e2a28df8369081f2fa6b586d0); |
|
cache_frame_b0848fb5b344e92ae713a7b0bacfd18c = NULL; |
|
cache_frame_3bbc035e2a28df8369081f2fa6b586d0 = NULL; |
|
} |
|
} |
|
|
|
|
n |
assertFrameObject(frame_b0848fb5b344e92ae713a7b0bacfd18c); |
n |
assertFrameObject(frame_3bbc035e2a28df8369081f2fa6b586d0); |
|
|
|
|
|
// Put the previous frame back on top. |
|
// Put the previous frame back on top. |
|
popFrameStack(tstate); |
|
popFrameStack(tstate); |
|
|
|
|
|
// Return the error. |
|
// Return the error. |
n |
goto try_except_handler_1; |
n |
goto function_exception_exit; |
|
frame_no_exception_1:; |
|
frame_no_exception_1:; |
n |
NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); |
n |
|
|
return NULL; |
|
|
|
// Return handler code: |
|
|
|
try_return_handler_1:; |
|
|
|
Py_XDECREF(var_x); |
|
|
|
var_x = NULL; |
|
|
|
CHECK_OBJECT(var_l); |
|
|
|
Py_DECREF(var_l); |
|
|
|
var_l = NULL; |
|
|
|
goto function_return_exit; |
|
|
|
// Exception handler code: |
|
|
|
try_except_handler_1:; |
|
|
|
exception_keeper_type_2 = exception_type; |
|
|
|
exception_keeper_value_2 = exception_value; |
|
|
|
exception_keeper_tb_2 = exception_tb; |
|
|
|
exception_keeper_lineno_2 = exception_lineno; |
|
|
|
exception_type = NULL; |
|
|
|
exception_value = NULL; |
|
|
|
exception_tb = NULL; |
|
|
|
exception_lineno = 0; |
|
|
|
|
|
|
|
Py_XDECREF(var_x); |
|
|
|
var_x = NULL; |
|
|
|
Py_XDECREF(var_l); |
|
|
|
var_l = NULL; |
|
|
|
// Re-raise. |
|
|
|
exception_type = exception_keeper_type_2; |
|
|
|
exception_value = exception_keeper_value_2; |
|
|
|
exception_tb = exception_keeper_tb_2; |
|
|
|
exception_lineno = exception_keeper_lineno_2; |
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
// End of try: |
|
|
|
|
|
|
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
return NULL; |
|
return NULL; |
|
|
|
|
|
function_exception_exit: |
|
function_exception_exit: |