|
goto frame_exception_exit_1; |
|
goto frame_exception_exit_1; |
|
} |
|
} |
|
assert(var_compiled_f == NULL); |
|
assert(var_compiled_f == NULL); |
|
Py_INCREF(tmp_assign_source_4); |
|
Py_INCREF(tmp_assign_source_4); |
|
var_compiled_f = tmp_assign_source_4; |
|
var_compiled_f = tmp_assign_source_4; |
n |
} |
n |
|
|
{ |
|
|
|
PyObject *tmp_dircall_arg1_1; |
|
|
|
PyObject *tmp_dircall_arg2_1; |
|
|
|
PyObject *tmp_dict_key_1; |
|
|
|
PyObject *tmp_dict_value_1; |
|
|
|
PyObject *tmp_dircall_arg3_1; |
|
|
|
PyObject *tmp_call_result_1; |
|
|
|
CHECK_OBJECT(var_compiled_f); |
|
|
|
tmp_dircall_arg1_1 = var_compiled_f; |
|
|
|
CHECK_OBJECT(var_a); |
|
|
|
tmp_dict_value_1 = var_a; |
|
|
|
tmp_dict_key_1 = mod_consts[2]; |
|
|
|
tmp_dircall_arg2_1 = _PyDict_NewPresized( 3 ); |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_1, tmp_dict_key_1, tmp_dict_value_1); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_b); |
|
|
|
tmp_dict_value_1 = var_b; |
|
|
|
tmp_dict_key_1 = mod_consts[3]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_1, tmp_dict_key_1, tmp_dict_value_1); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_c); |
|
|
|
tmp_dict_value_1 = var_c; |
|
|
|
tmp_dict_key_1 = mod_consts[4]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_1, tmp_dict_key_1, tmp_dict_value_1); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
tmp_dircall_arg3_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]); |
|
|
|
|
|
|
|
if (unlikely(tmp_dircall_arg3_1 == NULL)) { |
|
|
|
tmp_dircall_arg3_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[5]); |
|
|
|
} |
|
|
|
|
|
|
|
if (tmp_dircall_arg3_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
Py_DECREF(tmp_dircall_arg2_1); |
|
|
|
|
|
|
|
exception_lineno = 34; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_INCREF(tmp_dircall_arg1_1); |
|
|
|
Py_INCREF(tmp_dircall_arg3_1); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1, tmp_dircall_arg3_1}; |
|
|
|
tmp_call_result_1 = impl___main__$$$function__1_complex_call_helper_keywords_star_dict(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_call_result_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 34; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_DECREF(tmp_call_result_1); |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_dircall_arg1_2; |
|
|
|
PyObject *tmp_dircall_arg2_2; |
|
|
|
PyObject *tmp_dict_key_2; |
|
|
|
PyObject *tmp_dict_value_2; |
|
|
|
PyObject *tmp_dircall_arg3_2; |
|
|
|
PyObject *tmp_call_result_2; |
|
|
|
CHECK_OBJECT(var_compiled_f); |
|
|
|
tmp_dircall_arg1_2 = var_compiled_f; |
|
|
|
CHECK_OBJECT(var_a); |
|
|
|
tmp_dict_value_2 = var_a; |
|
|
|
tmp_dict_key_2 = mod_consts[2]; |
|
|
|
tmp_dircall_arg2_2 = _PyDict_NewPresized( 3 ); |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_2, tmp_dict_key_2, tmp_dict_value_2); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_b); |
|
|
|
tmp_dict_value_2 = var_b; |
|
|
|
tmp_dict_key_2 = mod_consts[3]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_2, tmp_dict_key_2, tmp_dict_value_2); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_c); |
|
|
|
tmp_dict_value_2 = var_c; |
|
|
|
tmp_dict_key_2 = mod_consts[4]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_2, tmp_dict_key_2, tmp_dict_value_2); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
tmp_dircall_arg3_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]); |
|
|
|
|
|
|
|
if (unlikely(tmp_dircall_arg3_2 == NULL)) { |
|
|
|
tmp_dircall_arg3_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[5]); |
|
|
|
} |
|
|
|
|
|
|
|
if (tmp_dircall_arg3_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
Py_DECREF(tmp_dircall_arg2_2); |
|
|
|
|
|
|
|
exception_lineno = 35; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_INCREF(tmp_dircall_arg1_2); |
|
|
|
Py_INCREF(tmp_dircall_arg3_2); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_2, tmp_dircall_arg2_2, tmp_dircall_arg3_2}; |
|
|
|
tmp_call_result_2 = impl___main__$$$function__1_complex_call_helper_keywords_star_dict(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_call_result_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 35; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_DECREF(tmp_call_result_2); |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_dircall_arg1_3; |
|
|
|
PyObject *tmp_dircall_arg2_3; |
|
|
|
PyObject *tmp_dict_key_3; |
|
|
|
PyObject *tmp_dict_value_3; |
|
|
|
PyObject *tmp_dircall_arg3_3; |
|
|
|
PyObject *tmp_call_result_3; |
|
|
|
CHECK_OBJECT(var_compiled_f); |
|
|
|
tmp_dircall_arg1_3 = var_compiled_f; |
|
|
|
CHECK_OBJECT(var_a); |
|
|
|
tmp_dict_value_3 = var_a; |
|
|
|
tmp_dict_key_3 = mod_consts[2]; |
|
|
|
tmp_dircall_arg2_3 = _PyDict_NewPresized( 3 ); |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_3, tmp_dict_key_3, tmp_dict_value_3); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_b); |
|
|
|
tmp_dict_value_3 = var_b; |
|
|
|
tmp_dict_key_3 = mod_consts[3]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_3, tmp_dict_key_3, tmp_dict_value_3); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
CHECK_OBJECT(var_c); |
|
|
|
tmp_dict_value_3 = var_c; |
|
|
|
tmp_dict_key_3 = mod_consts[4]; |
|
|
|
tmp_res = PyDict_SetItem(tmp_dircall_arg2_3, tmp_dict_key_3, tmp_dict_value_3); |
|
|
|
assert(!(tmp_res != 0)); |
|
|
|
tmp_dircall_arg3_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]); |
|
|
|
|
|
|
|
if (unlikely(tmp_dircall_arg3_3 == NULL)) { |
|
|
|
tmp_dircall_arg3_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[5]); |
|
|
|
} |
|
|
|
|
|
|
|
if (tmp_dircall_arg3_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
Py_DECREF(tmp_dircall_arg2_3); |
|
|
|
|
|
|
|
exception_lineno = 36; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_INCREF(tmp_dircall_arg1_3); |
|
|
|
Py_INCREF(tmp_dircall_arg3_3); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_3, tmp_dircall_arg2_3, tmp_dircall_arg3_3}; |
|
|
|
tmp_call_result_3 = impl___main__$$$function__1_complex_call_helper_keywords_star_dict(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_call_result_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 36; |
|
|
|
type_description_1 = "oooo"; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
} |
|
|
|
Py_DECREF(tmp_call_result_3); |
|
|
|
} |
|
} |
|
|
|
|
|
|
|
|
|
// Put the previous frame back on top. |
|
// Put the previous frame back on top. |
|
popFrameStack(tstate); |
|
popFrameStack(tstate); |
|
assert(had_error || !HAS_ERROR_OCCURRED(tstate)); |
|
assert(had_error || !HAS_ERROR_OCCURRED(tstate)); |
|
return tmp_return_value; |
|
return tmp_return_value; |
|
} |
|
} |
|
|
|
|
|
|
|
|
n |
NUITKA_LOCAL_MODULE PyObject *impl___main__$$$function__1_complex_call_helper_keywords_star_dict(PyThreadState *tstate, PyObject **python_pars) { |
n |
|
|
#ifndef __NUITKA_NO_ASSERT__ |
|
|
|
NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); |
|
|
|
assert(!had_error); // Do not enter inlined functions with error set. |
|
|
|
#endif |
|
|
|
|
|
|
|
// Local variable declarations. |
|
|
|
PyObject *par_called = python_pars[0]; |
|
|
|
PyObject *par_kw = python_pars[1]; |
|
|
|
PyObject *par_star_arg_dict = python_pars[2]; |
|
|
|
PyObject *tmp_dict_1__iter = NULL; |
|
|
|
PyObject *tmp_dict_1__key_xxx = NULL; |
|
|
|
PyObject *tmp_dict_1__keys = NULL; |
|
|
|
PyObject *tmp_dict_2__item = NULL; |
|
|
|
PyObject *tmp_dict_2__iter = NULL; |
|
|
|
PyObject *tmp_dict_2__key = NULL; |
|
|
|
PyObject *exception_type = NULL; |
|
|
|
PyObject *exception_value = NULL; |
|
|
|
PyTracebackObject *exception_tb = NULL; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_lineno = 0; |
|
|
|
PyObject *exception_keeper_type_1; |
|
|
|
PyObject *exception_keeper_value_1; |
|
|
|
PyTracebackObject *exception_keeper_tb_1; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; |
|
|
|
int tmp_res; |
|
|
|
bool tmp_result; |
|
|
|
PyObject *exception_keeper_type_2; |
|
|
|
PyObject *exception_keeper_value_2; |
|
|
|
PyTracebackObject *exception_keeper_tb_2; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2; |
|
|
|
PyObject *tmp_return_value = NULL; |
|
|
|
|
|
|
|
// Actual function body. |
|
|
|
// Tried code: |
|
|
|
{ |
|
|
|
bool tmp_condition_result_1; |
|
|
|
PyObject *tmp_cmp_expr_left_1; |
|
|
|
PyObject *tmp_cmp_expr_right_1; |
|
|
|
PyObject *tmp_type_arg_1; |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
tmp_type_arg_1 = par_star_arg_dict; |
|
|
|
tmp_cmp_expr_left_1 = BUILTIN_TYPE1(tmp_type_arg_1); |
|
|
|
assert(!(tmp_cmp_expr_left_1 == NULL)); |
|
|
|
tmp_cmp_expr_right_1 = (PyObject *)&PyDict_Type; |
|
|
|
tmp_condition_result_1 = (tmp_cmp_expr_left_1 != tmp_cmp_expr_right_1) ? true : false; |
|
|
|
Py_DECREF(tmp_cmp_expr_left_1); |
|
|
|
if (tmp_condition_result_1 != false) { |
|
|
|
goto branch_yes_1; |
|
|
|
} else { |
|
|
|
goto branch_no_1; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_1:; |
|
|
|
// Tried code: |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_1; |
|
|
|
PyObject *tmp_called_value_1; |
|
|
|
PyObject *tmp_expression_value_1; |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
tmp_expression_value_1 = par_star_arg_dict; |
|
|
|
tmp_called_value_1 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_1, mod_consts[6]); |
|
|
|
if (tmp_called_value_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_2; |
|
|
|
} |
|
|
|
tmp_assign_source_1 = CALL_FUNCTION_NO_ARGS(tstate, tmp_called_value_1); |
|
|
|
Py_DECREF(tmp_called_value_1); |
|
|
|
if (tmp_assign_source_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_2; |
|
|
|
} |
|
|
|
assert(tmp_dict_1__keys == NULL); |
|
|
|
tmp_dict_1__keys = tmp_assign_source_1; |
|
|
|
} |
|
|
|
goto try_end_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; |
|
|
|
|
|
|
|
{ |
|
|
|
bool tmp_condition_result_2; |
|
|
|
PyObject *tmp_cmp_expr_left_2; |
|
|
|
PyObject *tmp_cmp_expr_right_2; |
|
|
|
tmp_cmp_expr_left_2 = exception_keeper_type_1; |
|
|
|
tmp_cmp_expr_right_2 = PyExc_AttributeError; |
|
|
|
tmp_res = EXCEPTION_MATCH_BOOL(tstate, tmp_cmp_expr_left_2, tmp_cmp_expr_right_2); |
|
|
|
assert(!(tmp_res == -1)); |
|
|
|
tmp_condition_result_2 = (tmp_res != 0) ? true : false; |
|
|
|
if (tmp_condition_result_2 != false) { |
|
|
|
goto branch_yes_2; |
|
|
|
} else { |
|
|
|
goto branch_no_2; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_2:; |
|
|
|
{ |
|
|
|
PyObject *tmp_raise_type_1; |
|
|
|
PyObject *tmp_make_exception_arg_1; |
|
|
|
PyObject *tmp_mod_expr_left_1; |
|
|
|
PyObject *tmp_mod_expr_right_1; |
|
|
|
PyObject *tmp_tuple_element_1; |
|
|
|
PyObject *tmp_dircall_arg1_1; |
|
|
|
tmp_mod_expr_left_1 = mod_consts[7]; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_dircall_arg1_1 = par_called; |
|
|
|
Py_INCREF(tmp_dircall_arg1_1); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_1}; |
|
|
|
tmp_tuple_element_1 = impl___main__$$$function__2_get_callable_name_desc(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_tuple_element_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
Py_DECREF(exception_keeper_type_1); |
|
|
|
Py_XDECREF(exception_keeper_value_1); |
|
|
|
Py_XDECREF(exception_keeper_tb_1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_mod_expr_right_1 = MAKE_TUPLE_EMPTY(2); |
|
|
|
{ |
|
|
|
PyObject *tmp_expression_value_2; |
|
|
|
PyObject *tmp_type_arg_2; |
|
|
|
PyTuple_SET_ITEM(tmp_mod_expr_right_1, 0, tmp_tuple_element_1); |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
tmp_type_arg_2 = par_star_arg_dict; |
|
|
|
tmp_expression_value_2 = BUILTIN_TYPE1(tmp_type_arg_2); |
|
|
|
assert(!(tmp_expression_value_2 == NULL)); |
|
|
|
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_2, mod_consts[8]); |
|
|
|
Py_DECREF(tmp_expression_value_2); |
|
|
|
if (tmp_tuple_element_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
Py_DECREF(exception_keeper_type_1); |
|
|
|
Py_XDECREF(exception_keeper_value_1); |
|
|
|
Py_XDECREF(exception_keeper_tb_1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto tuple_build_exception_1; |
|
|
|
} |
|
|
|
PyTuple_SET_ITEM(tmp_mod_expr_right_1, 1, tmp_tuple_element_1); |
|
|
|
} |
|
|
|
goto tuple_build_noexception_1; |
|
|
|
// Exception handling pass through code for tuple_build: |
|
|
|
tuple_build_exception_1:; |
|
|
|
Py_DECREF(tmp_mod_expr_right_1); |
|
|
|
Py_DECREF(exception_keeper_type_1); |
|
|
|
Py_XDECREF(exception_keeper_value_1); |
|
|
|
Py_XDECREF(exception_keeper_tb_1); |
|
|
|
goto try_except_handler_1; |
|
|
|
// Finished with no exception for tuple_build: |
|
|
|
tuple_build_noexception_1:; |
|
|
|
tmp_make_exception_arg_1 = BINARY_OPERATION_MOD_OBJECT_STR_TUPLE(tmp_mod_expr_left_1, tmp_mod_expr_right_1); |
|
|
|
Py_DECREF(tmp_mod_expr_right_1); |
|
|
|
if (tmp_make_exception_arg_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
Py_DECREF(exception_keeper_type_1); |
|
|
|
Py_XDECREF(exception_keeper_value_1); |
|
|
|
Py_XDECREF(exception_keeper_tb_1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_raise_type_1 = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, PyExc_TypeError, tmp_make_exception_arg_1); |
|
|
|
Py_DECREF(tmp_make_exception_arg_1); |
|
|
|
assert(!(tmp_raise_type_1 == NULL)); |
|
|
|
exception_type = tmp_raise_type_1; |
|
|
|
RAISE_EXCEPTION_WITH_TYPE(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
goto branch_end_2; |
|
|
|
branch_no_2:; |
|
|
|
// 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 try_except_handler_1; |
|
|
|
branch_end_2:; |
|
|
|
// End of try: |
|
|
|
try_end_1:; |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_2; |
|
|
|
PyObject *tmp_iter_arg_1; |
|
|
|
CHECK_OBJECT(tmp_dict_1__keys); |
|
|
|
tmp_iter_arg_1 = tmp_dict_1__keys; |
|
|
|
tmp_assign_source_2 = MAKE_ITERATOR(tstate, tmp_iter_arg_1); |
|
|
|
if (tmp_assign_source_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
assert(tmp_dict_1__iter == NULL); |
|
|
|
tmp_dict_1__iter = tmp_assign_source_2; |
|
|
|
} |
|
|
|
loop_start_1:; |
|
|
|
{ |
|
|
|
PyObject *tmp_next_source_1; |
|
|
|
PyObject *tmp_assign_source_3; |
|
|
|
CHECK_OBJECT(tmp_dict_1__iter); |
|
|
|
tmp_next_source_1 = tmp_dict_1__iter; |
|
|
|
tmp_assign_source_3 = ITERATOR_NEXT(tmp_next_source_1); |
|
|
|
if (tmp_assign_source_3 == NULL) { |
|
|
|
if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED(tstate)) { |
|
|
|
|
|
|
|
goto loop_end_1; |
|
|
|
} else { |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *old = tmp_dict_1__key_xxx; |
|
|
|
tmp_dict_1__key_xxx = tmp_assign_source_3; |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
bool tmp_condition_result_3; |
|
|
|
PyObject *tmp_cmp_expr_left_3; |
|
|
|
PyObject *tmp_cmp_expr_right_3; |
|
|
|
CHECK_OBJECT(tmp_dict_1__key_xxx); |
|
|
|
tmp_cmp_expr_left_3 = tmp_dict_1__key_xxx; |
|
|
|
if (par_kw == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[9]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_cmp_expr_right_3 = par_kw; |
|
|
|
tmp_res = PySequence_Contains(tmp_cmp_expr_right_3, tmp_cmp_expr_left_3); |
|
|
|
if (tmp_res == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_condition_result_3 = (tmp_res == 1) ? true : false; |
|
|
|
if (tmp_condition_result_3 != false) { |
|
|
|
goto branch_yes_3; |
|
|
|
} else { |
|
|
|
goto branch_no_3; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_3:; |
|
|
|
{ |
|
|
|
PyObject *tmp_raise_type_2; |
|
|
|
PyObject *tmp_make_exception_arg_2; |
|
|
|
PyObject *tmp_mod_expr_left_2; |
|
|
|
PyObject *tmp_mod_expr_right_2; |
|
|
|
PyObject *tmp_tuple_element_2; |
|
|
|
PyObject *tmp_dircall_arg1_2; |
|
|
|
tmp_mod_expr_left_2 = mod_consts[10]; |
|
|
|
if (par_called == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[11]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_dircall_arg1_2 = par_called; |
|
|
|
Py_INCREF(tmp_dircall_arg1_2); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_2}; |
|
|
|
tmp_tuple_element_2 = impl___main__$$$function__2_get_callable_name_desc(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_tuple_element_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_mod_expr_right_2 = MAKE_TUPLE_EMPTY(2); |
|
|
|
PyTuple_SET_ITEM(tmp_mod_expr_right_2, 0, tmp_tuple_element_2); |
|
|
|
CHECK_OBJECT(tmp_dict_1__key_xxx); |
|
|
|
tmp_tuple_element_2 = tmp_dict_1__key_xxx; |
|
|
|
PyTuple_SET_ITEM0(tmp_mod_expr_right_2, 1, tmp_tuple_element_2); |
|
|
|
tmp_make_exception_arg_2 = BINARY_OPERATION_MOD_OBJECT_STR_TUPLE(tmp_mod_expr_left_2, tmp_mod_expr_right_2); |
|
|
|
Py_DECREF(tmp_mod_expr_right_2); |
|
|
|
if (tmp_make_exception_arg_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_raise_type_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, PyExc_TypeError, tmp_make_exception_arg_2); |
|
|
|
Py_DECREF(tmp_make_exception_arg_2); |
|
|
|
assert(!(tmp_raise_type_2 == NULL)); |
|
|
|
exception_type = tmp_raise_type_2; |
|
|
|
RAISE_EXCEPTION_WITH_TYPE(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
branch_no_3:; |
|
|
|
{ |
|
|
|
PyObject *tmp_ass_subvalue_1; |
|
|
|
PyObject *tmp_expression_value_3; |
|
|
|
PyObject *tmp_subscript_value_1; |
|
|
|
PyObject *tmp_ass_subscribed_1; |
|
|
|
PyObject *tmp_ass_subscript_1; |
|
|
|
if (par_star_arg_dict == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[12]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_expression_value_3 = par_star_arg_dict; |
|
|
|
CHECK_OBJECT(tmp_dict_1__key_xxx); |
|
|
|
tmp_subscript_value_1 = tmp_dict_1__key_xxx; |
|
|
|
tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT(tstate, tmp_expression_value_3, tmp_subscript_value_1); |
|
|
|
if (tmp_ass_subvalue_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
if (par_kw == NULL) { |
|
|
|
Py_DECREF(tmp_ass_subvalue_1); |
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[9]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_ass_subscribed_1 = par_kw; |
|
|
|
CHECK_OBJECT(tmp_dict_1__key_xxx); |
|
|
|
tmp_ass_subscript_1 = tmp_dict_1__key_xxx; |
|
|
|
tmp_result = SET_SUBSCRIPT(tstate, tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1); |
|
|
|
Py_DECREF(tmp_ass_subvalue_1); |
|
|
|
if (tmp_result == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
} |
|
|
|
if (CONSIDER_THREADING(tstate) == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
goto loop_start_1; |
|
|
|
loop_end_1:; |
|
|
|
goto branch_end_1; |
|
|
|
branch_no_1:; |
|
|
|
{ |
|
|
|
nuitka_bool tmp_condition_result_4; |
|
|
|
int tmp_truth_name_1; |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
tmp_truth_name_1 = CHECK_IF_TRUE(par_star_arg_dict); |
|
|
|
if (tmp_truth_name_1 == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_condition_result_4 = tmp_truth_name_1 == 0 ? NUITKA_BOOL_FALSE : NUITKA_BOOL_TRUE; |
|
|
|
if (tmp_condition_result_4 == NUITKA_BOOL_TRUE) { |
|
|
|
goto branch_yes_4; |
|
|
|
} else { |
|
|
|
goto branch_no_4; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_4:; |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_4; |
|
|
|
PyObject *tmp_dict_seq_1; |
|
|
|
CHECK_OBJECT(par_kw); |
|
|
|
tmp_dict_seq_1 = par_kw; |
|
|
|
tmp_assign_source_4 = TO_DICT(tstate, tmp_dict_seq_1, NULL); |
|
|
|
if (tmp_assign_source_4 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *old = par_kw; |
|
|
|
assert(old != NULL); |
|
|
|
par_kw = tmp_assign_source_4; |
|
|
|
Py_DECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_5; |
|
|
|
PyObject *tmp_iter_arg_2; |
|
|
|
PyObject *tmp_dict_arg_1; |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
tmp_dict_arg_1 = par_star_arg_dict; |
|
|
|
tmp_iter_arg_2 = DICT_ITERITEMS(tmp_dict_arg_1); |
|
|
|
assert(!(tmp_iter_arg_2 == NULL)); |
|
|
|
tmp_assign_source_5 = MAKE_ITERATOR(tstate, tmp_iter_arg_2); |
|
|
|
Py_DECREF(tmp_iter_arg_2); |
|
|
|
if (tmp_assign_source_5 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
assert(tmp_dict_2__iter == NULL); |
|
|
|
tmp_dict_2__iter = tmp_assign_source_5; |
|
|
|
} |
|
|
|
loop_start_2:; |
|
|
|
{ |
|
|
|
PyObject *tmp_next_source_2; |
|
|
|
PyObject *tmp_assign_source_6; |
|
|
|
CHECK_OBJECT(tmp_dict_2__iter); |
|
|
|
tmp_next_source_2 = tmp_dict_2__iter; |
|
|
|
tmp_assign_source_6 = ITERATOR_NEXT(tmp_next_source_2); |
|
|
|
if (tmp_assign_source_6 == NULL) { |
|
|
|
if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED(tstate)) { |
|
|
|
|
|
|
|
goto loop_end_2; |
|
|
|
} else { |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *old = tmp_dict_2__item; |
|
|
|
tmp_dict_2__item = tmp_assign_source_6; |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_7; |
|
|
|
PyObject *tmp_expression_value_4; |
|
|
|
PyObject *tmp_subscript_value_2; |
|
|
|
CHECK_OBJECT(tmp_dict_2__item); |
|
|
|
tmp_expression_value_4 = tmp_dict_2__item; |
|
|
|
tmp_subscript_value_2 = mod_consts[13]; |
|
|
|
tmp_assign_source_7 = LOOKUP_SUBSCRIPT_CONST(tstate, tmp_expression_value_4, tmp_subscript_value_2, 0); |
|
|
|
if (tmp_assign_source_7 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *old = tmp_dict_2__key; |
|
|
|
tmp_dict_2__key = tmp_assign_source_7; |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
bool tmp_condition_result_5; |
|
|
|
PyObject *tmp_cmp_expr_left_4; |
|
|
|
PyObject *tmp_cmp_expr_right_4; |
|
|
|
CHECK_OBJECT(tmp_dict_2__key); |
|
|
|
tmp_cmp_expr_left_4 = tmp_dict_2__key; |
|
|
|
if (par_kw == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[9]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_cmp_expr_right_4 = par_kw; |
|
|
|
tmp_res = PySequence_Contains(tmp_cmp_expr_right_4, tmp_cmp_expr_left_4); |
|
|
|
if (tmp_res == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_condition_result_5 = (tmp_res == 1) ? true : false; |
|
|
|
if (tmp_condition_result_5 != false) { |
|
|
|
goto branch_yes_5; |
|
|
|
} else { |
|
|
|
goto branch_no_5; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_5:; |
|
|
|
{ |
|
|
|
PyObject *tmp_raise_type_3; |
|
|
|
PyObject *tmp_make_exception_arg_3; |
|
|
|
PyObject *tmp_mod_expr_left_3; |
|
|
|
PyObject *tmp_mod_expr_right_3; |
|
|
|
PyObject *tmp_tuple_element_3; |
|
|
|
PyObject *tmp_dircall_arg1_3; |
|
|
|
tmp_mod_expr_left_3 = mod_consts[10]; |
|
|
|
if (par_called == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[11]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_dircall_arg1_3 = par_called; |
|
|
|
Py_INCREF(tmp_dircall_arg1_3); |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *dir_call_args[] = {tmp_dircall_arg1_3}; |
|
|
|
tmp_tuple_element_3 = impl___main__$$$function__2_get_callable_name_desc(tstate, dir_call_args); |
|
|
|
} |
|
|
|
if (tmp_tuple_element_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_mod_expr_right_3 = MAKE_TUPLE_EMPTY(2); |
|
|
|
PyTuple_SET_ITEM(tmp_mod_expr_right_3, 0, tmp_tuple_element_3); |
|
|
|
CHECK_OBJECT(tmp_dict_2__key); |
|
|
|
tmp_tuple_element_3 = tmp_dict_2__key; |
|
|
|
PyTuple_SET_ITEM0(tmp_mod_expr_right_3, 1, tmp_tuple_element_3); |
|
|
|
tmp_make_exception_arg_3 = BINARY_OPERATION_MOD_OBJECT_STR_TUPLE(tmp_mod_expr_left_3, tmp_mod_expr_right_3); |
|
|
|
Py_DECREF(tmp_mod_expr_right_3); |
|
|
|
if (tmp_make_exception_arg_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
tmp_raise_type_3 = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, PyExc_TypeError, tmp_make_exception_arg_3); |
|
|
|
Py_DECREF(tmp_make_exception_arg_3); |
|
|
|
assert(!(tmp_raise_type_3 == NULL)); |
|
|
|
exception_type = tmp_raise_type_3; |
|
|
|
RAISE_EXCEPTION_WITH_TYPE(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
branch_no_5:; |
|
|
|
{ |
|
|
|
PyObject *tmp_ass_subvalue_2; |
|
|
|
PyObject *tmp_expression_value_5; |
|
|
|
PyObject *tmp_subscript_value_3; |
|
|
|
PyObject *tmp_ass_subscribed_2; |
|
|
|
PyObject *tmp_ass_subscript_2; |
|
|
|
CHECK_OBJECT(tmp_dict_2__item); |
|
|
|
tmp_expression_value_5 = tmp_dict_2__item; |
|
|
|
tmp_subscript_value_3 = mod_consts[14]; |
|
|
|
tmp_ass_subvalue_2 = LOOKUP_SUBSCRIPT_CONST(tstate, tmp_expression_value_5, tmp_subscript_value_3, 1); |
|
|
|
if (tmp_ass_subvalue_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
if (par_kw == NULL) { |
|
|
|
Py_DECREF(tmp_ass_subvalue_2); |
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[9]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_ass_subscribed_2 = par_kw; |
|
|
|
CHECK_OBJECT(tmp_dict_2__key); |
|
|
|
tmp_ass_subscript_2 = tmp_dict_2__key; |
|
|
|
tmp_result = SET_SUBSCRIPT(tstate, tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2); |
|
|
|
Py_DECREF(tmp_ass_subvalue_2); |
|
|
|
if (tmp_result == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
} |
|
|
|
if (CONSIDER_THREADING(tstate) == false) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto try_except_handler_1; |
|
|
|
} |
|
|
|
goto loop_start_2; |
|
|
|
loop_end_2:; |
|
|
|
branch_no_4:; |
|
|
|
branch_end_1:; |
|
|
|
goto try_end_2; |
|
|
|
// 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(tmp_dict_1__iter); |
|
|
|
tmp_dict_1__iter = NULL; |
|
|
|
Py_XDECREF(tmp_dict_1__keys); |
|
|
|
tmp_dict_1__keys = NULL; |
|
|
|
Py_XDECREF(tmp_dict_1__key_xxx); |
|
|
|
tmp_dict_1__key_xxx = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__iter); |
|
|
|
tmp_dict_2__iter = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__item); |
|
|
|
tmp_dict_2__item = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__key); |
|
|
|
tmp_dict_2__key = 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: |
|
|
|
try_end_2:; |
|
|
|
Py_XDECREF(tmp_dict_1__iter); |
|
|
|
tmp_dict_1__iter = NULL; |
|
|
|
Py_XDECREF(tmp_dict_1__keys); |
|
|
|
tmp_dict_1__keys = NULL; |
|
|
|
Py_XDECREF(tmp_dict_1__key_xxx); |
|
|
|
tmp_dict_1__key_xxx = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__iter); |
|
|
|
tmp_dict_2__iter = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__item); |
|
|
|
tmp_dict_2__item = NULL; |
|
|
|
Py_XDECREF(tmp_dict_2__key); |
|
|
|
tmp_dict_2__key = NULL; |
|
|
|
{ |
|
|
|
PyObject *tmp_called_value_2; |
|
|
|
PyObject *tmp_kw_dict_1; |
|
|
|
if (par_called == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[11]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_called_value_2 = par_called; |
|
|
|
if (par_kw == NULL) { |
|
|
|
|
|
|
|
FORMAT_UNBOUND_LOCAL_ERROR(&exception_type, &exception_value, mod_consts[9]); |
|
|
|
exception_tb = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
|
|
|
|
tmp_kw_dict_1 = par_kw; |
|
|
|
tmp_return_value = CALL_FUNCTION_WITH_KEYARGS(tstate, tmp_called_value_2, tmp_kw_dict_1); |
|
|
|
|
|
|
|
if (tmp_return_value == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
goto function_return_exit; |
|
|
|
} |
|
|
|
|
|
|
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
|
|
return NULL; |
|
|
|
|
|
|
|
function_exception_exit: |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
Py_DECREF(par_called); |
|
|
|
CHECK_OBJECT(par_kw); |
|
|
|
Py_DECREF(par_kw); |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
Py_DECREF(par_star_arg_dict); |
|
|
|
assert(exception_type); |
|
|
|
RESTORE_ERROR_OCCURRED(tstate, exception_type, exception_value, exception_tb); |
|
|
|
|
|
|
|
return NULL; |
|
|
|
|
|
|
|
function_return_exit: |
|
|
|
// Function cleanup code if any. |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
Py_DECREF(par_called); |
|
|
|
CHECK_OBJECT(par_kw); |
|
|
|
Py_DECREF(par_kw); |
|
|
|
CHECK_OBJECT(par_star_arg_dict); |
|
|
|
Py_DECREF(par_star_arg_dict); |
|
|
|
|
|
|
|
// Actual function exit with return value, making sure we did not make |
|
|
|
// the error status worse despite non-NULL return. |
|
|
|
CHECK_OBJECT(tmp_return_value); |
|
|
|
assert(had_error || !HAS_ERROR_OCCURRED(tstate)); |
|
|
|
return tmp_return_value; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
NUITKA_LOCAL_MODULE PyObject *impl___main__$$$function__2_get_callable_name_desc(PyThreadState *tstate, PyObject **python_pars) { |
|
|
|
#ifndef __NUITKA_NO_ASSERT__ |
|
|
|
NUITKA_MAY_BE_UNUSED bool had_error = HAS_ERROR_OCCURRED(tstate); |
|
|
|
assert(!had_error); // Do not enter inlined functions with error set. |
|
|
|
#endif |
|
|
|
|
|
|
|
// Local variable declarations. |
|
|
|
PyObject *par_called = python_pars[0]; |
|
|
|
int tmp_res; |
|
|
|
PyObject *exception_type = NULL; |
|
|
|
PyObject *exception_value = NULL; |
|
|
|
PyTracebackObject *exception_tb = NULL; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_lineno = 0; |
|
|
|
PyObject *tmp_return_value = NULL; |
|
|
|
|
|
|
|
// Actual function body. |
|
|
|
{ |
|
|
|
nuitka_bool tmp_condition_result_1; |
|
|
|
PyObject *tmp_isinstance_inst_1; |
|
|
|
PyObject *tmp_isinstance_cls_1; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_isinstance_inst_1 = par_called; |
|
|
|
tmp_isinstance_cls_1 = mod_consts[15]; |
|
|
|
tmp_res = PyObject_IsInstance(tmp_isinstance_inst_1, tmp_isinstance_cls_1); |
|
|
|
if (tmp_res == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_condition_result_1 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; |
|
|
|
if (tmp_condition_result_1 == NUITKA_BOOL_TRUE) { |
|
|
|
goto branch_yes_1; |
|
|
|
} else { |
|
|
|
goto branch_no_1; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_1:; |
|
|
|
{ |
|
|
|
PyObject *tmp_add_expr_left_1; |
|
|
|
PyObject *tmp_add_expr_right_1; |
|
|
|
PyObject *tmp_expression_value_1; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_expression_value_1 = par_called; |
|
|
|
tmp_add_expr_left_1 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_1, mod_consts[8]); |
|
|
|
if (tmp_add_expr_left_1 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_add_expr_right_1 = mod_consts[16]; |
|
|
|
tmp_return_value = BINARY_OPERATION_ADD_OBJECT_OBJECT_STR(tmp_add_expr_left_1, tmp_add_expr_right_1); |
|
|
|
Py_DECREF(tmp_add_expr_left_1); |
|
|
|
if (tmp_return_value == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
goto function_return_exit; |
|
|
|
} |
|
|
|
goto branch_end_1; |
|
|
|
branch_no_1:; |
|
|
|
{ |
|
|
|
nuitka_bool tmp_condition_result_2; |
|
|
|
PyObject *tmp_isinstance_inst_2; |
|
|
|
PyObject *tmp_isinstance_cls_2; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_isinstance_inst_2 = par_called; |
|
|
|
tmp_isinstance_cls_2 = (PyObject *)&PyClass_Type; |
|
|
|
tmp_res = PyObject_IsInstance(tmp_isinstance_inst_2, tmp_isinstance_cls_2); |
|
|
|
if (tmp_res == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_condition_result_2 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; |
|
|
|
if (tmp_condition_result_2 == NUITKA_BOOL_TRUE) { |
|
|
|
goto branch_yes_2; |
|
|
|
} else { |
|
|
|
goto branch_no_2; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_2:; |
|
|
|
{ |
|
|
|
PyObject *tmp_add_expr_left_2; |
|
|
|
PyObject *tmp_add_expr_right_2; |
|
|
|
PyObject *tmp_expression_value_2; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_expression_value_2 = par_called; |
|
|
|
tmp_add_expr_left_2 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_2, mod_consts[8]); |
|
|
|
if (tmp_add_expr_left_2 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_add_expr_right_2 = mod_consts[17]; |
|
|
|
tmp_return_value = BINARY_OPERATION_ADD_OBJECT_OBJECT_STR(tmp_add_expr_left_2, tmp_add_expr_right_2); |
|
|
|
Py_DECREF(tmp_add_expr_left_2); |
|
|
|
if (tmp_return_value == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
goto function_return_exit; |
|
|
|
} |
|
|
|
goto branch_end_2; |
|
|
|
branch_no_2:; |
|
|
|
{ |
|
|
|
nuitka_bool tmp_condition_result_3; |
|
|
|
PyObject *tmp_isinstance_inst_3; |
|
|
|
PyObject *tmp_isinstance_cls_3; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_isinstance_inst_3 = par_called; |
|
|
|
tmp_isinstance_cls_3 = (PyObject *)&PyInstance_Type; |
|
|
|
tmp_res = PyObject_IsInstance(tmp_isinstance_inst_3, tmp_isinstance_cls_3); |
|
|
|
if (tmp_res == -1) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_condition_result_3 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; |
|
|
|
if (tmp_condition_result_3 == NUITKA_BOOL_TRUE) { |
|
|
|
goto branch_yes_3; |
|
|
|
} else { |
|
|
|
goto branch_no_3; |
|
|
|
} |
|
|
|
} |
|
|
|
branch_yes_3:; |
|
|
|
{ |
|
|
|
PyObject *tmp_add_expr_left_3; |
|
|
|
PyObject *tmp_add_expr_right_3; |
|
|
|
PyObject *tmp_expression_value_3; |
|
|
|
PyObject *tmp_expression_value_4; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_expression_value_4 = par_called; |
|
|
|
tmp_expression_value_3 = LOOKUP_ATTRIBUTE_CLASS_SLOT(tstate, tmp_expression_value_4); |
|
|
|
if (tmp_expression_value_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_add_expr_left_3 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_3, mod_consts[8]); |
|
|
|
Py_DECREF(tmp_expression_value_3); |
|
|
|
if (tmp_add_expr_left_3 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_add_expr_right_3 = mod_consts[18]; |
|
|
|
tmp_return_value = BINARY_OPERATION_ADD_OBJECT_OBJECT_STR(tmp_add_expr_left_3, tmp_add_expr_right_3); |
|
|
|
Py_DECREF(tmp_add_expr_left_3); |
|
|
|
if (tmp_return_value == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
goto function_return_exit; |
|
|
|
} |
|
|
|
goto branch_end_3; |
|
|
|
branch_no_3:; |
|
|
|
{ |
|
|
|
PyObject *tmp_add_expr_left_4; |
|
|
|
PyObject *tmp_add_expr_right_4; |
|
|
|
PyObject *tmp_expression_value_5; |
|
|
|
PyObject *tmp_type_arg_1; |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
tmp_type_arg_1 = par_called; |
|
|
|
tmp_expression_value_5 = BUILTIN_TYPE1(tmp_type_arg_1); |
|
|
|
assert(!(tmp_expression_value_5 == NULL)); |
|
|
|
tmp_add_expr_left_4 = LOOKUP_ATTRIBUTE(tstate, tmp_expression_value_5, mod_consts[8]); |
|
|
|
Py_DECREF(tmp_expression_value_5); |
|
|
|
if (tmp_add_expr_left_4 == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
tmp_add_expr_right_4 = mod_consts[19]; |
|
|
|
tmp_return_value = BINARY_OPERATION_ADD_OBJECT_OBJECT_STR(tmp_add_expr_left_4, tmp_add_expr_right_4); |
|
|
|
Py_DECREF(tmp_add_expr_left_4); |
|
|
|
if (tmp_return_value == NULL) { |
|
|
|
assert(HAS_ERROR_OCCURRED(tstate)); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
goto function_exception_exit; |
|
|
|
} |
|
|
|
goto function_return_exit; |
|
|
|
} |
|
|
|
branch_end_3:; |
|
|
|
branch_end_2:; |
|
|
|
branch_end_1:; |
|
|
|
|
|
|
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
|
|
return NULL; |
|
|
|
|
|
|
|
function_exception_exit: |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
Py_DECREF(par_called); |
|
|
|
assert(exception_type); |
|
|
|
RESTORE_ERROR_OCCURRED(tstate, exception_type, exception_value, exception_tb); |
|
|
|
|
|
|
|
return NULL; |
|
|
|
|
|
|
|
function_return_exit: |
|
|
|
// Function cleanup code if any. |
|
|
|
CHECK_OBJECT(par_called); |
|
|
|
Py_DECREF(par_called); |
|
|
|
|
|
|
|
// Actual function exit with return value, making sure we did not make |
|
|
|
// the error status worse despite non-NULL return. |
|
|
|
CHECK_OBJECT(tmp_return_value); |
|
|
|
assert(had_error || !HAS_ERROR_OCCURRED(tstate)); |
|
|
|
return tmp_return_value; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func() { |
|
static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func() { |
|
struct Nuitka_FunctionObject *result = Nuitka_Function_New( |
|
struct Nuitka_FunctionObject *result = Nuitka_Function_New( |
|
impl___main__$$$function__1_compiled_func, |
|
impl___main__$$$function__1_compiled_func, |
|
mod_consts[1], |
|
mod_consts[1], |