Files
fesmoo_perdoliq/baraban.build/__internal__.c
2019-12-06 12:23:21 +03:00

8907 lines
240 KiB
C

/* Generated code for Python source for module '__internal__'
* created by Nuitka version 0.6.0
*
* This code is in part copyright 2018 Kay Hayen.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "nuitka/prelude.h"
#include "__helpers.h"
/* The _module___internal__ is a Python object pointer of module type. */
/* Note: For full compatibility with CPython, every module variable access
* needs to go through it except for cases where the module cannot possibly
* have changed in the mean time.
*/
PyObject *module___internal__;
PyDictObject *moduledict___internal__;
/* The module constants used, if any. */
extern PyObject *const_str_digest_45e4dde2057b0bf276d6a84f4c917d27;
extern PyObject *const_str_plain_dict;
extern PyObject *const_str_plain___name__;
extern PyObject *const_str_plain___getitem__;
extern PyObject *const_str_digest_9816e8d1552296af90d250823c964059;
extern PyObject *const_int_pos_1;
extern PyObject *const_tuple_anon_function_anon_builtin_function_or_method_tuple;
extern PyObject *const_str_plain_tuple;
extern PyObject *const_int_0;
extern PyObject *const_str_plain___mro_entries__;
extern PyObject *const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
extern PyObject *const_str_plain_items;
extern PyObject *const_str_digest_25731c733fd74e8333aa29126ce85686;
extern PyObject *const_str_plain_keys;
extern PyObject *const_str_plain___internal__;
extern PyObject *const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
extern PyObject *const_str_plain_type;
extern PyObject *const_str_plain___iter__;
static bool constants_created = false;
static void createModuleConstants( void )
{
constants_created = true;
}
#ifndef __NUITKA_NO_ASSERT__
void checkModuleConstants___internal__( void )
{
// The module may not have been used at all.
if (constants_created == false) return;
}
#endif
// The module code objects.
static void createModuleCodeObjects(void)
{
}
// The module function declarations.
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_1__mro_entries_conversion( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_2_complex_call_helper_star_list( PyObject **python_pars );
NUITKA_LOCAL_MODULE PyObject *impl___internal__$$$function_3_get_callable_name_desc( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_4_complex_call_helper_star_list_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_5_complex_call_helper_pos_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_7_complex_call_helper_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_6_complex_call_helper_pos_star_list_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_8_complex_call_helper_pos_keywords_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_10_complex_call_helper_keywords_star_dict( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_9_complex_call_helper_pos_star_list( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_11_complex_call_helper_keywords_star_list( PyObject **python_pars );
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_12_complex_call_helper_keywords_star_list_star_dict( PyObject **python_pars );
// The module function definitions.
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_1__mro_entries_conversion( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_bases = python_pars[ 0 ];
PyObject *tmp_base = NULL;
PyObject *tmp_iter = NULL;
PyObject *tmp_list = NULL;
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
PyObject *tmp_return_value = NULL;
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
// Actual function code.
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_iter_arg_1;
CHECK_OBJECT( par_bases );
tmp_iter_arg_1 = par_bases;
tmp_assign_source_1 = MAKE_ITERATOR( tmp_iter_arg_1 );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
assert( tmp_iter == NULL );
tmp_iter = tmp_assign_source_1;
}
{
PyObject *tmp_assign_source_2;
tmp_assign_source_2 = PyList_New( 0 );
assert( tmp_list == NULL );
tmp_list = tmp_assign_source_2;
}
{
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_3;
CHECK_OBJECT( tmp_iter );
tmp_next_source_1 = tmp_iter;
tmp_assign_source_3 = ITERATOR_NEXT( tmp_next_source_1 );
if ( tmp_assign_source_3 == NULL )
{
if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
}
{
PyObject *old = tmp_base;
tmp_base = tmp_assign_source_3;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_isinstance_inst_1;
PyObject *tmp_isinstance_cls_1;
CHECK_OBJECT( tmp_base );
tmp_isinstance_inst_1 = tmp_base;
tmp_isinstance_cls_1 = (PyObject *)&PyType_Type;
tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
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_append_list_1;
PyObject *tmp_append_value_1;
CHECK_OBJECT( tmp_list );
tmp_append_list_1 = tmp_list;
CHECK_OBJECT( tmp_base );
tmp_append_value_1 = tmp_base;
assert( PyList_Check( tmp_append_list_1 ) );
tmp_res = PyList_Append( tmp_append_list_1, tmp_append_value_1 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
}
goto branch_end_1;
branch_no_1:;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_source_name_1;
CHECK_OBJECT( tmp_base );
tmp_source_name_1 = tmp_base;
tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___mro_entries__ );
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_list_name_1;
PyObject *tmp_value_name_1;
PyObject *tmp_called_name_1;
PyObject *tmp_source_name_2;
PyObject *tmp_args_element_name_1;
CHECK_OBJECT( tmp_list );
tmp_list_name_1 = tmp_list;
CHECK_OBJECT( tmp_base );
tmp_source_name_2 = tmp_base;
tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain___mro_entries__ );
if ( tmp_called_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
if ( par_bases == NULL )
{
Py_DECREF( tmp_called_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bases" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_element_name_1 = par_bases;
{
PyObject *call_args[] = { tmp_args_element_name_1 };
tmp_value_name_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
}
Py_DECREF( tmp_called_name_1 );
if ( tmp_value_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
assert( PyList_Check( tmp_list_name_1 ) );
tmp_unused = _PyList_Extend( (PyListObject *)tmp_list_name_1, tmp_value_name_1 );
Py_DECREF( tmp_value_name_1 );
if ( tmp_unused == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
Py_DECREF( tmp_unused );
}
goto branch_end_2;
branch_no_2:;
{
PyObject *tmp_append_list_2;
PyObject *tmp_append_value_2;
CHECK_OBJECT( tmp_list );
tmp_append_list_2 = tmp_list;
CHECK_OBJECT( tmp_base );
tmp_append_value_2 = tmp_base;
assert( PyList_Check( tmp_append_list_2 ) );
tmp_res = PyList_Append( tmp_append_list_2, tmp_append_value_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
}
branch_end_2:;
}
branch_end_1:;
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto loop_start_1;
loop_end_1:;
}
{
PyObject *tmp_tuple_arg_1;
CHECK_OBJECT( tmp_list );
tmp_tuple_arg_1 = tmp_list;
tmp_return_value = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_1__mro_entries_conversion );
return NULL;
// Return handler code:
try_return_handler_1:;
{
CHECK_OBJECT( (PyObject *)tmp_list );
Py_DECREF( tmp_list );
tmp_list = NULL;
}
{
CHECK_OBJECT( (PyObject *)tmp_iter );
Py_DECREF( tmp_iter );
tmp_iter = NULL;
}
{
Py_XDECREF( tmp_base );
tmp_base = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
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;
{
Py_XDECREF( tmp_list );
tmp_list = NULL;
}
{
Py_XDECREF( tmp_iter );
tmp_iter = NULL;
}
{
Py_XDECREF( tmp_base );
tmp_base = 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 function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_1__mro_entries_conversion );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_2_complex_call_helper_star_list( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_star_arg_list = python_pars[ 1 ];
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
PyObject *tmp_return_value = NULL;
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
// Actual function code.
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_list );
tmp_type_arg_1 = par_star_arg_list;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyTuple_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
nuitka_bool tmp_condition_result_2;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_1;
PyObject *tmp_source_name_2;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_1 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_2 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_2 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
{
goto branch_yes_2;
}
else
{
goto branch_no_2;
}
branch_yes_2:;
{
PyObject *tmp_assign_source_1;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_1 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_1;
Py_XDECREF( old );
}
}
goto branch_end_2;
branch_no_2:;
{
PyObject *tmp_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_3;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_2 = par_star_arg_list;
tmp_source_name_3 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain___name__ );
Py_DECREF( tmp_source_name_3 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_2:;
}
branch_no_1:;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_star_arg_list;
tmp_return_value = CALL_FUNCTION_WITH_POSARGS( tmp_called_name_1, tmp_args_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_2_complex_call_helper_star_list );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
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;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = 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 function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_2_complex_call_helper_star_list );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_LOCAL_MODULE PyObject *impl___internal__$$$function_3_get_callable_name_desc( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
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 code.
{
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 = const_tuple_anon_function_anon_builtin_function_or_method_tuple;
tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_left_name_1;
PyObject *tmp_source_name_1;
PyObject *tmp_right_name_1;
CHECK_OBJECT( par_called );
tmp_source_name_1 = par_called;
tmp_left_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
if ( tmp_left_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto function_exception_exit;
}
tmp_right_name_1 = const_str_digest_25731c733fd74e8333aa29126ce85686;
tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_left_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto function_exception_exit;
}
goto function_return_exit;
}
goto branch_end_1;
branch_no_1:;
{
PyObject *tmp_left_name_2;
PyObject *tmp_source_name_2;
PyObject *tmp_type_arg_1;
PyObject *tmp_right_name_2;
CHECK_OBJECT( par_called );
tmp_type_arg_1 = par_called;
tmp_source_name_2 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_source_name_2 == NULL) );
tmp_left_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain___name__ );
Py_DECREF( tmp_source_name_2 );
if ( tmp_left_name_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto function_exception_exit;
}
tmp_right_name_2 = const_str_digest_45e4dde2057b0bf276d6a84f4c917d27;
tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_left_name_2 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto function_exception_exit;
}
goto function_return_exit;
}
branch_end_1:;
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_3_get_callable_name_desc );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_4_complex_call_helper_star_list_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_star_arg_list = python_pars[ 1 ];
PyObject *par_star_arg_dict = python_pars[ 2 ];
PyObject *tmp_mapping_1__dict = NULL;
PyObject *tmp_mapping_1__iter = NULL;
PyObject *tmp_mapping_1__key = NULL;
PyObject *tmp_mapping_1__keys = 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;
PyObject *tmp_dictset_value;
PyObject *tmp_dictset_dict;
PyObject *tmp_dictset_key;
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_mapping_1__keys == NULL );
tmp_mapping_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
branch_end_2:;
}
// End of try:
try_end_1:;
}
{
PyObject *tmp_assign_source_2;
PyObject *tmp_iter_arg_1;
CHECK_OBJECT( tmp_mapping_1__keys );
tmp_iter_arg_1 = tmp_mapping_1__keys;
tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
assert( tmp_mapping_1__iter == NULL );
tmp_mapping_1__iter = tmp_assign_source_2;
}
{
PyObject *tmp_assign_source_3;
tmp_assign_source_3 = PyDict_New();
assert( tmp_mapping_1__dict == NULL );
tmp_mapping_1__dict = tmp_assign_source_3;
}
{
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_4;
CHECK_OBJECT( tmp_mapping_1__iter );
tmp_next_source_1 = tmp_mapping_1__iter;
tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
if ( tmp_assign_source_4 == NULL )
{
if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_mapping_1__key;
tmp_mapping_1__key = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_subscript_name_1 = tmp_mapping_1__key;
tmp_dictset_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_dictset_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_dictset_dict = tmp_mapping_1__dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_dictset_key = tmp_mapping_1__key;
tmp_res = PyDict_SetItem( tmp_dictset_dict, tmp_dictset_key, tmp_dictset_value );
Py_DECREF( tmp_dictset_value );
if ( tmp_res != 0 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_1;
loop_end_1:;
}
{
PyObject *tmp_assign_source_5;
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_assign_source_5 = tmp_mapping_1__dict;
{
PyObject *old = par_star_arg_dict;
par_star_arg_dict = tmp_assign_source_5;
Py_INCREF( par_star_arg_dict );
Py_XDECREF( old );
}
}
branch_no_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__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 try_except_handler_1;
}
// End of try:
try_end_2:;
}
{
Py_XDECREF( tmp_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__key = NULL;
}
{
nuitka_bool tmp_condition_result_3;
PyObject *tmp_compexpr_left_3;
PyObject *tmp_compexpr_right_3;
PyObject *tmp_type_arg_3;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_3 = par_star_arg_list;
tmp_compexpr_left_3 = BUILTIN_TYPE1( tmp_type_arg_3 );
if ( tmp_compexpr_left_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_compexpr_right_3 = (PyObject *)&PyTuple_Type;
tmp_condition_result_3 = ( tmp_compexpr_left_3 != tmp_compexpr_right_3 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_3 );
if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
{
goto branch_yes_3;
}
else
{
goto branch_no_3;
}
branch_yes_3:;
{
nuitka_bool tmp_condition_result_4;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_2;
PyObject *tmp_source_name_3;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_3 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_3, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_4 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_4 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
{
goto branch_yes_4;
}
else
{
goto branch_no_4;
}
branch_yes_4:;
{
PyObject *tmp_assign_source_6;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_6 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_6 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_6;
Py_XDECREF( old );
}
}
goto branch_end_4;
branch_no_4:;
{
PyObject *tmp_raise_type_2;
PyObject *tmp_make_exception_arg_2;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
PyObject *tmp_tuple_element_2;
PyObject *tmp_dircall_arg1_2;
PyObject *tmp_source_name_4;
PyObject *tmp_type_arg_4;
tmp_left_name_2 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_2 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_2 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_4 = par_star_arg_list;
tmp_source_name_4 = BUILTIN_TYPE1( tmp_type_arg_4 );
if ( tmp_source_name_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_2 );
goto try_except_handler_1;
}
tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain___name__ );
Py_DECREF( tmp_source_name_4 );
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_2 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
tmp_make_exception_arg_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_right_name_2 );
if ( tmp_make_exception_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_2 };
tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_2 );
assert( !(tmp_raise_type_2 == NULL) );
exception_type = tmp_raise_type_2;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_4:;
}
branch_no_3:;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_star_arg_list;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_star_arg_dict;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_4_complex_call_helper_star_list_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_4_complex_call_helper_star_list_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_5_complex_call_helper_pos_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_args = python_pars[ 1 ];
PyObject *par_star_arg_dict = python_pars[ 2 ];
PyObject *tmp_mapping_1__dict = NULL;
PyObject *tmp_mapping_1__iter = NULL;
PyObject *tmp_mapping_1__key = NULL;
PyObject *tmp_mapping_1__keys = 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;
PyObject *tmp_dictset_value;
PyObject *tmp_dictset_dict;
PyObject *tmp_dictset_key;
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_mapping_1__keys == NULL );
tmp_mapping_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
branch_end_2:;
}
// End of try:
try_end_1:;
}
{
PyObject *tmp_assign_source_2;
PyObject *tmp_iter_arg_1;
CHECK_OBJECT( tmp_mapping_1__keys );
tmp_iter_arg_1 = tmp_mapping_1__keys;
tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
assert( tmp_mapping_1__iter == NULL );
tmp_mapping_1__iter = tmp_assign_source_2;
}
{
PyObject *tmp_assign_source_3;
tmp_assign_source_3 = PyDict_New();
assert( tmp_mapping_1__dict == NULL );
tmp_mapping_1__dict = tmp_assign_source_3;
}
{
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_4;
CHECK_OBJECT( tmp_mapping_1__iter );
tmp_next_source_1 = tmp_mapping_1__iter;
tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
if ( tmp_assign_source_4 == NULL )
{
if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_mapping_1__key;
tmp_mapping_1__key = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_subscript_name_1 = tmp_mapping_1__key;
tmp_dictset_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_dictset_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_dictset_dict = tmp_mapping_1__dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_dictset_key = tmp_mapping_1__key;
tmp_res = PyDict_SetItem( tmp_dictset_dict, tmp_dictset_key, tmp_dictset_value );
Py_DECREF( tmp_dictset_value );
if ( tmp_res != 0 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_1;
loop_end_1:;
}
{
PyObject *tmp_assign_source_5;
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_assign_source_5 = tmp_mapping_1__dict;
{
PyObject *old = par_star_arg_dict;
par_star_arg_dict = tmp_assign_source_5;
Py_INCREF( par_star_arg_dict );
Py_XDECREF( old );
}
}
branch_no_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__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 try_except_handler_1;
}
// End of try:
try_end_2:;
}
{
Py_XDECREF( tmp_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__key = NULL;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_args == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "args" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_args;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_star_arg_dict;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_5_complex_call_helper_pos_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_5_complex_call_helper_pos_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_7_complex_call_helper_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_star_arg_dict = python_pars[ 1 ];
PyObject *tmp_mapping_1__dict = NULL;
PyObject *tmp_mapping_1__iter = NULL;
PyObject *tmp_mapping_1__key = NULL;
PyObject *tmp_mapping_1__keys = 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;
PyObject *tmp_dictset_value;
PyObject *tmp_dictset_dict;
PyObject *tmp_dictset_key;
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_mapping_1__keys == NULL );
tmp_mapping_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
branch_end_2:;
}
// End of try:
try_end_1:;
}
{
PyObject *tmp_assign_source_2;
PyObject *tmp_iter_arg_1;
CHECK_OBJECT( tmp_mapping_1__keys );
tmp_iter_arg_1 = tmp_mapping_1__keys;
tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
assert( tmp_mapping_1__iter == NULL );
tmp_mapping_1__iter = tmp_assign_source_2;
}
{
PyObject *tmp_assign_source_3;
tmp_assign_source_3 = PyDict_New();
assert( tmp_mapping_1__dict == NULL );
tmp_mapping_1__dict = tmp_assign_source_3;
}
{
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_4;
CHECK_OBJECT( tmp_mapping_1__iter );
tmp_next_source_1 = tmp_mapping_1__iter;
tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
if ( tmp_assign_source_4 == NULL )
{
if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_mapping_1__key;
tmp_mapping_1__key = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_subscript_name_1 = tmp_mapping_1__key;
tmp_dictset_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_dictset_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_dictset_dict = tmp_mapping_1__dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_dictset_key = tmp_mapping_1__key;
tmp_res = PyDict_SetItem( tmp_dictset_dict, tmp_dictset_key, tmp_dictset_value );
Py_DECREF( tmp_dictset_value );
if ( tmp_res != 0 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_1;
loop_end_1:;
}
{
PyObject *tmp_assign_source_5;
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_assign_source_5 = tmp_mapping_1__dict;
{
PyObject *old = par_star_arg_dict;
par_star_arg_dict = tmp_assign_source_5;
Py_INCREF( par_star_arg_dict );
Py_XDECREF( old );
}
}
branch_no_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__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 try_except_handler_1;
}
// End of try:
try_end_2:;
}
{
Py_XDECREF( tmp_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__key = NULL;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_star_arg_dict;
tmp_return_value = CALL_FUNCTION_WITH_KEYARGS( tmp_called_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_7_complex_call_helper_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_7_complex_call_helper_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_6_complex_call_helper_pos_star_list_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_args = python_pars[ 1 ];
PyObject *par_star_arg_list = python_pars[ 2 ];
PyObject *par_star_arg_dict = python_pars[ 3 ];
PyObject *tmp_mapping_1__dict = NULL;
PyObject *tmp_mapping_1__iter = NULL;
PyObject *tmp_mapping_1__key = NULL;
PyObject *tmp_mapping_1__keys = NULL;
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
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_dictset_value;
PyObject *tmp_dictset_dict;
PyObject *tmp_dictset_key;
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_list );
tmp_type_arg_1 = par_star_arg_list;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyTuple_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
nuitka_bool tmp_condition_result_2;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_1;
PyObject *tmp_source_name_2;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_1 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_2 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_2 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
{
goto branch_yes_2;
}
else
{
goto branch_no_2;
}
branch_yes_2:;
{
PyObject *tmp_assign_source_1;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_1 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_1;
Py_XDECREF( old );
}
}
goto branch_end_2;
branch_no_2:;
{
PyObject *tmp_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_3;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_2 = par_star_arg_list;
tmp_source_name_3 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain___name__ );
Py_DECREF( tmp_source_name_3 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_2:;
}
branch_no_1:;
}
{
// Tried code:
{
nuitka_bool tmp_condition_result_3;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
PyObject *tmp_type_arg_3;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_type_arg_3 = par_star_arg_dict;
tmp_compexpr_left_2 = BUILTIN_TYPE1( tmp_type_arg_3 );
if ( tmp_compexpr_left_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_compexpr_right_2 = (PyObject *)&PyDict_Type;
tmp_condition_result_3 = ( tmp_compexpr_left_2 != tmp_compexpr_right_2 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_2 );
if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
{
goto branch_yes_3;
}
else
{
goto branch_no_3;
}
branch_yes_3:;
{
// Tried code:
{
PyObject *tmp_assign_source_2;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_mapping_1__keys == NULL );
tmp_mapping_1__keys = tmp_assign_source_2;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_4;
PyObject *tmp_compexpr_left_3;
PyObject *tmp_compexpr_right_3;
tmp_compexpr_left_3 = exception_keeper_type_1;
tmp_compexpr_right_3 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_3, tmp_compexpr_right_3 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
{
goto branch_yes_4;
}
else
{
goto branch_no_4;
}
branch_yes_4:;
{
PyObject *tmp_raise_type_2;
PyObject *tmp_make_exception_arg_2;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
PyObject *tmp_tuple_element_2;
PyObject *tmp_dircall_arg1_2;
PyObject *tmp_source_name_4;
PyObject *tmp_type_arg_4;
tmp_left_name_2 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_2 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_2 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_4 = par_star_arg_dict;
tmp_source_name_4 = BUILTIN_TYPE1( tmp_type_arg_4 );
if ( tmp_source_name_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_2 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain___name__ );
Py_DECREF( tmp_source_name_4 );
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_2 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
tmp_make_exception_arg_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_right_name_2 );
if ( tmp_make_exception_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_2 };
tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_2 );
assert( !(tmp_raise_type_2 == NULL) );
exception_type = tmp_raise_type_2;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto branch_end_4;
branch_no_4:;
{
// 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_2;
}
branch_end_4:;
}
// End of try:
try_end_1:;
}
{
PyObject *tmp_assign_source_3;
PyObject *tmp_iter_arg_1;
CHECK_OBJECT( tmp_mapping_1__keys );
tmp_iter_arg_1 = tmp_mapping_1__keys;
tmp_assign_source_3 = MAKE_ITERATOR( tmp_iter_arg_1 );
if ( tmp_assign_source_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
assert( tmp_mapping_1__iter == NULL );
tmp_mapping_1__iter = tmp_assign_source_3;
}
{
PyObject *tmp_assign_source_4;
tmp_assign_source_4 = PyDict_New();
assert( tmp_mapping_1__dict == NULL );
tmp_mapping_1__dict = tmp_assign_source_4;
}
{
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_5;
CHECK_OBJECT( tmp_mapping_1__iter );
tmp_next_source_1 = tmp_mapping_1__iter;
tmp_assign_source_5 = ITERATOR_NEXT( tmp_next_source_1 );
if ( tmp_assign_source_5 == NULL )
{
if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_mapping_1__key;
tmp_mapping_1__key = tmp_assign_source_5;
Py_XDECREF( old );
}
}
{
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_subscript_name_1 = tmp_mapping_1__key;
tmp_dictset_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_dictset_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_dictset_dict = tmp_mapping_1__dict;
CHECK_OBJECT( tmp_mapping_1__key );
tmp_dictset_key = tmp_mapping_1__key;
tmp_res = PyDict_SetItem( tmp_dictset_dict, tmp_dictset_key, tmp_dictset_value );
Py_DECREF( tmp_dictset_value );
if ( tmp_res != 0 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_1;
loop_end_1:;
}
{
PyObject *tmp_assign_source_6;
CHECK_OBJECT( tmp_mapping_1__dict );
tmp_assign_source_6 = tmp_mapping_1__dict;
{
PyObject *old = par_star_arg_dict;
par_star_arg_dict = tmp_assign_source_6;
Py_INCREF( par_star_arg_dict );
Py_XDECREF( old );
}
}
branch_no_3:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__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 try_except_handler_1;
}
// End of try:
try_end_2:;
}
{
Py_XDECREF( tmp_mapping_1__dict );
tmp_mapping_1__dict = NULL;
}
{
Py_XDECREF( tmp_mapping_1__iter );
tmp_mapping_1__iter = NULL;
}
{
Py_XDECREF( tmp_mapping_1__keys );
tmp_mapping_1__keys = NULL;
}
{
Py_XDECREF( tmp_mapping_1__key );
tmp_mapping_1__key = NULL;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_left_name_3;
PyObject *tmp_right_name_3;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_args == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "args" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_left_name_3 = par_args;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_right_name_3 = par_star_arg_list;
tmp_args_name_1 = BINARY_OPERATION_ADD( tmp_left_name_3, tmp_right_name_3 );
if ( tmp_args_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_args_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_star_arg_dict;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
Py_DECREF( tmp_args_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_6_complex_call_helper_pos_star_list_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_6_complex_call_helper_pos_star_list_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_8_complex_call_helper_pos_keywords_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_args = python_pars[ 1 ];
PyObject *par_kw = python_pars[ 2 ];
PyObject *par_star_arg_dict = python_pars[ 3 ];
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_dict_1__keys == NULL );
tmp_dict_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
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( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_1__key_xxx;
tmp_dict_1__key_xxx = tmp_assign_source_3;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_3;
PyObject *tmp_compexpr_left_3;
PyObject *tmp_compexpr_right_3;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_compexpr_left_3 = tmp_dict_1__key_xxx;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_3 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_3, tmp_compexpr_left_3 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_3 = ( tmp_res == 1 ) ? 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_raise_type_2;
PyObject *tmp_make_exception_arg_2;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
PyObject *tmp_tuple_element_2;
PyObject *tmp_dircall_arg1_2;
tmp_left_name_2 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_2 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_tuple_element_2 = tmp_dict_1__key_xxx;
Py_INCREF( tmp_tuple_element_2 );
PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
tmp_make_exception_arg_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_right_name_2 );
if ( tmp_make_exception_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_2 };
tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_2 );
assert( !(tmp_raise_type_2 == NULL) );
exception_type = tmp_raise_type_2;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_3:;
}
{
PyObject *tmp_ass_subvalue_1;
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
PyObject *tmp_ass_subscribed_1;
PyObject *tmp_ass_subscript_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_subscript_name_1 = tmp_dict_1__key_xxx;
tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_ass_subvalue_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
Py_DECREF( tmp_ass_subvalue_1 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_truth_name_1 = CHECK_IF_TRUE( par_star_arg_dict );
if ( tmp_truth_name_1 == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_4 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
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;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_dict_seq_1 = par_kw;
tmp_assign_source_4 = TO_DICT( tmp_dict_seq_1, NULL );
if ( tmp_assign_source_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = par_kw;
par_kw = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_5;
PyObject *tmp_iter_arg_2;
PyObject *tmp_called_instance_2;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_called_instance_2 = par_star_arg_dict;
tmp_iter_arg_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_items );
if ( tmp_iter_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_assign_source_5 = MAKE_ITERATOR( tmp_iter_arg_2 );
Py_DECREF( tmp_iter_arg_2 );
if ( tmp_assign_source_5 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_2;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_2__item;
tmp_dict_2__item = tmp_assign_source_6;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_7;
PyObject *tmp_subscribed_name_2;
PyObject *tmp_subscript_name_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_2 = tmp_dict_2__item;
tmp_subscript_name_2 = const_int_0;
tmp_assign_source_7 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_2, tmp_subscript_name_2, 0 );
if ( tmp_assign_source_7 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = tmp_dict_2__key;
tmp_dict_2__key = tmp_assign_source_7;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_5;
PyObject *tmp_compexpr_left_4;
PyObject *tmp_compexpr_right_4;
CHECK_OBJECT( tmp_dict_2__key );
tmp_compexpr_left_4 = tmp_dict_2__key;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_4 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_4, tmp_compexpr_left_4 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_5 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
{
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_left_name_3;
PyObject *tmp_right_name_3;
PyObject *tmp_tuple_element_3;
PyObject *tmp_dircall_arg1_3;
tmp_left_name_3 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_3 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_3, 0, tmp_tuple_element_3 );
CHECK_OBJECT( tmp_dict_2__key );
tmp_tuple_element_3 = tmp_dict_2__key;
Py_INCREF( tmp_tuple_element_3 );
PyTuple_SET_ITEM( tmp_right_name_3, 1, tmp_tuple_element_3 );
tmp_make_exception_arg_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
Py_DECREF( tmp_right_name_3 );
if ( tmp_make_exception_arg_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_3 };
tmp_raise_type_3 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_3 );
assert( !(tmp_raise_type_3 == NULL) );
exception_type = tmp_raise_type_3;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_5:;
}
{
PyObject *tmp_ass_subvalue_2;
PyObject *tmp_subscribed_name_3;
PyObject *tmp_subscript_name_3;
PyObject *tmp_ass_subscribed_2;
PyObject *tmp_ass_subscript_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_3 = tmp_dict_2__item;
tmp_subscript_name_3 = const_int_pos_1;
tmp_ass_subvalue_2 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, 1 );
if ( tmp_ass_subvalue_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_2 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_ass_subscribed_2 = par_kw;
CHECK_OBJECT( tmp_dict_2__key );
tmp_ass_subscript_2 = tmp_dict_2__key;
tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
Py_DECREF( tmp_ass_subvalue_2 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_2;
loop_end_2:;
}
branch_no_4:;
}
branch_end_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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 try_except_handler_1;
}
// 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_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_args == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "args" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_args;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_kw;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_8_complex_call_helper_pos_keywords_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_8_complex_call_helper_pos_keywords_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_10_complex_call_helper_keywords_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_dict_1__keys == NULL );
tmp_dict_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
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( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_1__key_xxx;
tmp_dict_1__key_xxx = tmp_assign_source_3;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_3;
PyObject *tmp_compexpr_left_3;
PyObject *tmp_compexpr_right_3;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_compexpr_left_3 = tmp_dict_1__key_xxx;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_3 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_3, tmp_compexpr_left_3 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_3 = ( tmp_res == 1 ) ? 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_raise_type_2;
PyObject *tmp_make_exception_arg_2;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
PyObject *tmp_tuple_element_2;
PyObject *tmp_dircall_arg1_2;
tmp_left_name_2 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_2 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_tuple_element_2 = tmp_dict_1__key_xxx;
Py_INCREF( tmp_tuple_element_2 );
PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
tmp_make_exception_arg_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_right_name_2 );
if ( tmp_make_exception_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_2 };
tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_2 );
assert( !(tmp_raise_type_2 == NULL) );
exception_type = tmp_raise_type_2;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_3:;
}
{
PyObject *tmp_ass_subvalue_1;
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
PyObject *tmp_ass_subscribed_1;
PyObject *tmp_ass_subscript_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_subscript_name_1 = tmp_dict_1__key_xxx;
tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_ass_subvalue_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
Py_DECREF( tmp_ass_subvalue_1 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_truth_name_1 = CHECK_IF_TRUE( par_star_arg_dict );
if ( tmp_truth_name_1 == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_4 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
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;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_dict_seq_1 = par_kw;
tmp_assign_source_4 = TO_DICT( tmp_dict_seq_1, NULL );
if ( tmp_assign_source_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = par_kw;
par_kw = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_5;
PyObject *tmp_iter_arg_2;
PyObject *tmp_called_instance_2;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_called_instance_2 = par_star_arg_dict;
tmp_iter_arg_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_items );
if ( tmp_iter_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_assign_source_5 = MAKE_ITERATOR( tmp_iter_arg_2 );
Py_DECREF( tmp_iter_arg_2 );
if ( tmp_assign_source_5 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_2;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_2__item;
tmp_dict_2__item = tmp_assign_source_6;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_7;
PyObject *tmp_subscribed_name_2;
PyObject *tmp_subscript_name_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_2 = tmp_dict_2__item;
tmp_subscript_name_2 = const_int_0;
tmp_assign_source_7 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_2, tmp_subscript_name_2, 0 );
if ( tmp_assign_source_7 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = tmp_dict_2__key;
tmp_dict_2__key = tmp_assign_source_7;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_5;
PyObject *tmp_compexpr_left_4;
PyObject *tmp_compexpr_right_4;
CHECK_OBJECT( tmp_dict_2__key );
tmp_compexpr_left_4 = tmp_dict_2__key;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_4 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_4, tmp_compexpr_left_4 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_5 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
{
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_left_name_3;
PyObject *tmp_right_name_3;
PyObject *tmp_tuple_element_3;
PyObject *tmp_dircall_arg1_3;
tmp_left_name_3 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_3 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_3, 0, tmp_tuple_element_3 );
CHECK_OBJECT( tmp_dict_2__key );
tmp_tuple_element_3 = tmp_dict_2__key;
Py_INCREF( tmp_tuple_element_3 );
PyTuple_SET_ITEM( tmp_right_name_3, 1, tmp_tuple_element_3 );
tmp_make_exception_arg_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
Py_DECREF( tmp_right_name_3 );
if ( tmp_make_exception_arg_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_3 };
tmp_raise_type_3 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_3 );
assert( !(tmp_raise_type_3 == NULL) );
exception_type = tmp_raise_type_3;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_5:;
}
{
PyObject *tmp_ass_subvalue_2;
PyObject *tmp_subscribed_name_3;
PyObject *tmp_subscript_name_3;
PyObject *tmp_ass_subscribed_2;
PyObject *tmp_ass_subscript_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_3 = tmp_dict_2__item;
tmp_subscript_name_3 = const_int_pos_1;
tmp_ass_subvalue_2 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, 1 );
if ( tmp_ass_subvalue_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_2 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_ass_subscribed_2 = par_kw;
CHECK_OBJECT( tmp_dict_2__key );
tmp_ass_subscript_2 = tmp_dict_2__key;
tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
Py_DECREF( tmp_ass_subvalue_2 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_2;
loop_end_2:;
}
branch_no_4:;
}
branch_end_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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 try_except_handler_1;
}
// 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_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_kw;
tmp_return_value = CALL_FUNCTION_WITH_KEYARGS( tmp_called_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_10_complex_call_helper_keywords_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_10_complex_call_helper_keywords_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_9_complex_call_helper_pos_star_list( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_args = python_pars[ 1 ];
PyObject *par_star_arg_list = python_pars[ 2 ];
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
PyObject *tmp_return_value = NULL;
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
// Actual function code.
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_list );
tmp_type_arg_1 = par_star_arg_list;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyTuple_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
nuitka_bool tmp_condition_result_2;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_1;
PyObject *tmp_source_name_2;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_1 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_2 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_2 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
{
goto branch_yes_2;
}
else
{
goto branch_no_2;
}
branch_yes_2:;
{
PyObject *tmp_assign_source_1;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_1 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_1;
Py_XDECREF( old );
}
}
goto branch_end_2;
branch_no_2:;
{
PyObject *tmp_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_3;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_2 = par_star_arg_list;
tmp_source_name_3 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain___name__ );
Py_DECREF( tmp_source_name_3 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_2:;
}
branch_no_1:;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_args == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "args" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_left_name_2 = par_args;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_right_name_2 = par_star_arg_list;
tmp_args_name_1 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_2 );
if ( tmp_args_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_return_value = CALL_FUNCTION_WITH_POSARGS( tmp_called_name_1, tmp_args_name_1 );
Py_DECREF( tmp_args_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_9_complex_call_helper_pos_star_list );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
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;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_args );
par_args = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = 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 function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_9_complex_call_helper_pos_star_list );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_11_complex_call_helper_keywords_star_list( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_star_arg_list = python_pars[ 1 ];
PyObject *par_kw = python_pars[ 2 ];
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
PyObject *tmp_return_value = NULL;
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
// Actual function code.
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_list );
tmp_type_arg_1 = par_star_arg_list;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyTuple_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
nuitka_bool tmp_condition_result_2;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_1;
PyObject *tmp_source_name_2;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_1 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_2 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_2 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
{
goto branch_yes_2;
}
else
{
goto branch_no_2;
}
branch_yes_2:;
{
PyObject *tmp_assign_source_1;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_1 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_1;
Py_XDECREF( old );
}
}
goto branch_end_2;
branch_no_2:;
{
PyObject *tmp_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_3;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_2 = par_star_arg_list;
tmp_source_name_3 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain___name__ );
Py_DECREF( tmp_source_name_3 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_2:;
}
branch_no_1:;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_star_arg_list;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_kw;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_11_complex_call_helper_keywords_star_list );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
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;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = 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 function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_11_complex_call_helper_keywords_star_list );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_12_complex_call_helper_keywords_star_list_star_dict( PyObject **python_pars )
{
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
assert(!had_error); // Do not enter inlined functions with error set.
#endif
// Local variable declarations.
PyObject *par_called = python_pars[ 0 ];
PyObject *par_star_arg_list = python_pars[ 1 ];
PyObject *par_kw = python_pars[ 2 ];
PyObject *par_star_arg_dict = python_pars[ 3 ];
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;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
// Actual function code.
{
// Tried code:
{
// Tried code:
{
nuitka_bool tmp_condition_result_1;
PyObject *tmp_compexpr_left_1;
PyObject *tmp_compexpr_right_1;
PyObject *tmp_type_arg_1;
CHECK_OBJECT( par_star_arg_dict );
tmp_type_arg_1 = par_star_arg_dict;
tmp_compexpr_left_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
assert( !(tmp_compexpr_left_1 == NULL) );
tmp_compexpr_right_1 = (PyObject *)&PyDict_Type;
tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_1 );
if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
{
goto branch_yes_1;
}
else
{
goto branch_no_1;
}
branch_yes_1:;
{
// Tried code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_called_instance_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_3;
}
tmp_called_instance_1 = par_star_arg_dict;
tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_keys );
if ( tmp_assign_source_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_3;
}
assert( tmp_dict_1__keys == NULL );
tmp_dict_1__keys = tmp_assign_source_1;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
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;
{
nuitka_bool tmp_condition_result_2;
PyObject *tmp_compexpr_left_2;
PyObject *tmp_compexpr_right_2;
tmp_compexpr_left_2 = exception_keeper_type_1;
tmp_compexpr_right_2 = PyExc_AttributeError;
tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_2, tmp_compexpr_right_2 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
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_raise_type_1;
PyObject *tmp_make_exception_arg_1;
PyObject *tmp_left_name_1;
PyObject *tmp_right_name_1;
PyObject *tmp_tuple_element_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_source_name_1;
PyObject *tmp_type_arg_2;
tmp_left_name_1 = const_str_digest_9816e8d1552296af90d250823c964059;
if ( par_called == NULL )
{
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
tmp_right_name_1 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
if ( par_star_arg_dict == NULL )
{
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
ADD_EXCEPTION_CONTEXT( &exception_keeper_type_1, &exception_keeper_value_1 );
goto try_except_handler_2;
}
tmp_type_arg_2 = par_star_arg_dict;
tmp_source_name_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
if ( tmp_source_name_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain___name__ );
Py_DECREF( tmp_source_name_1 );
if ( tmp_tuple_element_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_1 );
Py_DECREF( exception_keeper_type_1 );
Py_XDECREF( exception_keeper_value_1 );
Py_XDECREF( exception_keeper_tb_1 );
goto try_except_handler_2;
}
PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
Py_DECREF( tmp_right_name_1 );
if ( tmp_make_exception_arg_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &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_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_1 };
tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_1 );
assert( !(tmp_raise_type_1 == NULL) );
exception_type = tmp_raise_type_1;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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_2;
}
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( tmp_iter_arg_1 );
if ( tmp_assign_source_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_1;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_1__key_xxx;
tmp_dict_1__key_xxx = tmp_assign_source_3;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_3;
PyObject *tmp_compexpr_left_3;
PyObject *tmp_compexpr_right_3;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_compexpr_left_3 = tmp_dict_1__key_xxx;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_3 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_3, tmp_compexpr_left_3 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_3 = ( tmp_res == 1 ) ? 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_raise_type_2;
PyObject *tmp_make_exception_arg_2;
PyObject *tmp_left_name_2;
PyObject *tmp_right_name_2;
PyObject *tmp_tuple_element_2;
PyObject *tmp_dircall_arg1_2;
tmp_left_name_2 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_2 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_tuple_element_2 = tmp_dict_1__key_xxx;
Py_INCREF( tmp_tuple_element_2 );
PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
tmp_make_exception_arg_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
Py_DECREF( tmp_right_name_2 );
if ( tmp_make_exception_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_2 };
tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_2 );
assert( !(tmp_raise_type_2 == NULL) );
exception_type = tmp_raise_type_2;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_3:;
}
{
PyObject *tmp_ass_subvalue_1;
PyObject *tmp_subscribed_name_1;
PyObject *tmp_subscript_name_1;
PyObject *tmp_ass_subscribed_1;
PyObject *tmp_ass_subscript_1;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_subscribed_name_1 = par_star_arg_dict;
CHECK_OBJECT( tmp_dict_1__key_xxx );
tmp_subscript_name_1 = tmp_dict_1__key_xxx;
tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
if ( tmp_ass_subvalue_1 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_1 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
Py_DECREF( tmp_ass_subvalue_1 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_truth_name_1 = CHECK_IF_TRUE( par_star_arg_dict );
if ( tmp_truth_name_1 == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_4 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
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;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_dict_seq_1 = par_kw;
tmp_assign_source_4 = TO_DICT( tmp_dict_seq_1, NULL );
if ( tmp_assign_source_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = par_kw;
par_kw = tmp_assign_source_4;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_5;
PyObject *tmp_iter_arg_2;
PyObject *tmp_called_instance_2;
if ( par_star_arg_dict == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_dict" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_called_instance_2 = par_star_arg_dict;
tmp_iter_arg_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_items );
if ( tmp_iter_arg_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_assign_source_5 = MAKE_ITERATOR( tmp_iter_arg_2 );
Py_DECREF( tmp_iter_arg_2 );
if ( tmp_assign_source_5 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
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() )
{
goto loop_end_2;
}
else
{
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
{
PyObject *old = tmp_dict_2__item;
tmp_dict_2__item = tmp_assign_source_6;
Py_XDECREF( old );
}
}
{
PyObject *tmp_assign_source_7;
PyObject *tmp_subscribed_name_2;
PyObject *tmp_subscript_name_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_2 = tmp_dict_2__item;
tmp_subscript_name_2 = const_int_0;
tmp_assign_source_7 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_2, tmp_subscript_name_2, 0 );
if ( tmp_assign_source_7 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *old = tmp_dict_2__key;
tmp_dict_2__key = tmp_assign_source_7;
Py_XDECREF( old );
}
}
{
nuitka_bool tmp_condition_result_5;
PyObject *tmp_compexpr_left_4;
PyObject *tmp_compexpr_right_4;
CHECK_OBJECT( tmp_dict_2__key );
tmp_compexpr_left_4 = tmp_dict_2__key;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_compexpr_right_4 = par_kw;
tmp_res = PySequence_Contains( tmp_compexpr_right_4, tmp_compexpr_left_4 );
if ( tmp_res == -1 )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_condition_result_5 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
{
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_left_name_3;
PyObject *tmp_right_name_3;
PyObject *tmp_tuple_element_3;
PyObject *tmp_dircall_arg1_3;
tmp_left_name_3 = const_str_digest_fdd1f239b4f3ffd6efcccf00e4a637e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
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___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
tmp_right_name_3 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_3, 0, tmp_tuple_element_3 );
CHECK_OBJECT( tmp_dict_2__key );
tmp_tuple_element_3 = tmp_dict_2__key;
Py_INCREF( tmp_tuple_element_3 );
PyTuple_SET_ITEM( tmp_right_name_3, 1, tmp_tuple_element_3 );
tmp_make_exception_arg_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
Py_DECREF( tmp_right_name_3 );
if ( tmp_make_exception_arg_3 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_3 };
tmp_raise_type_3 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_3 );
assert( !(tmp_raise_type_3 == NULL) );
exception_type = tmp_raise_type_3;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
branch_no_5:;
}
{
PyObject *tmp_ass_subvalue_2;
PyObject *tmp_subscribed_name_3;
PyObject *tmp_subscript_name_3;
PyObject *tmp_ass_subscribed_2;
PyObject *tmp_ass_subscript_2;
CHECK_OBJECT( tmp_dict_2__item );
tmp_subscribed_name_3 = tmp_dict_2__item;
tmp_subscript_name_3 = const_int_pos_1;
tmp_ass_subvalue_2 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, 1 );
if ( tmp_ass_subvalue_2 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
if ( par_kw == NULL )
{
Py_DECREF( tmp_ass_subvalue_2 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_2;
}
tmp_ass_subscribed_2 = par_kw;
CHECK_OBJECT( tmp_dict_2__key );
tmp_ass_subscript_2 = tmp_dict_2__key;
tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
Py_DECREF( tmp_ass_subvalue_2 );
if ( tmp_result == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
}
if ( CONSIDER_THREADING() == false )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_2;
}
goto loop_start_2;
loop_end_2:;
}
branch_no_4:;
}
branch_end_1:;
}
goto try_end_2;
// Exception handler code:
try_except_handler_2:;
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 try_except_handler_1;
}
// 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;
}
{
nuitka_bool tmp_condition_result_6;
PyObject *tmp_compexpr_left_5;
PyObject *tmp_compexpr_right_5;
PyObject *tmp_type_arg_3;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_3 = par_star_arg_list;
tmp_compexpr_left_5 = BUILTIN_TYPE1( tmp_type_arg_3 );
if ( tmp_compexpr_left_5 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_compexpr_right_5 = (PyObject *)&PyTuple_Type;
tmp_condition_result_6 = ( tmp_compexpr_left_5 != tmp_compexpr_right_5 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
Py_DECREF( tmp_compexpr_left_5 );
if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
{
goto branch_yes_6;
}
else
{
goto branch_no_6;
}
branch_yes_6:;
{
nuitka_bool tmp_condition_result_7;
int tmp_or_left_truth_1;
nuitka_bool tmp_or_left_value_1;
nuitka_bool tmp_or_right_value_1;
PyObject *tmp_source_name_2;
PyObject *tmp_source_name_3;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_2 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_2, const_str_plain___iter__ );
tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
if ( tmp_or_left_truth_1 == 1 )
{
goto or_left_1;
}
else
{
goto or_right_1;
}
or_right_1:;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_source_name_3 = par_star_arg_list;
tmp_res = PyObject_HasAttr( tmp_source_name_3, const_str_plain___getitem__ );
tmp_or_right_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
tmp_condition_result_7 = tmp_or_right_value_1;
goto or_end_1;
or_left_1:;
tmp_condition_result_7 = tmp_or_left_value_1;
or_end_1:;
if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
{
goto branch_yes_7;
}
else
{
goto branch_no_7;
}
branch_yes_7:;
{
PyObject *tmp_assign_source_8;
PyObject *tmp_tuple_arg_1;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_tuple_arg_1 = par_star_arg_list;
tmp_assign_source_8 = PySequence_Tuple( tmp_tuple_arg_1 );
if ( tmp_assign_source_8 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *old = par_star_arg_list;
par_star_arg_list = tmp_assign_source_8;
Py_XDECREF( old );
}
}
goto branch_end_7;
branch_no_7:;
{
PyObject *tmp_raise_type_4;
PyObject *tmp_make_exception_arg_4;
PyObject *tmp_left_name_4;
PyObject *tmp_right_name_4;
PyObject *tmp_tuple_element_4;
PyObject *tmp_dircall_arg1_4;
PyObject *tmp_source_name_4;
PyObject *tmp_type_arg_4;
tmp_left_name_4 = const_str_digest_adc474dd61fbd736d69c1bac5d9712e0;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_dircall_arg1_4 = par_called;
Py_INCREF( tmp_dircall_arg1_4 );
{
PyObject *dir_call_args[] = {tmp_dircall_arg1_4};
tmp_tuple_element_4 = impl___internal__$$$function_3_get_callable_name_desc( dir_call_args );
}
if ( tmp_tuple_element_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
tmp_right_name_4 = PyTuple_New( 2 );
PyTuple_SET_ITEM( tmp_right_name_4, 0, tmp_tuple_element_4 );
if ( par_star_arg_list == NULL )
{
Py_DECREF( tmp_right_name_4 );
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_type_arg_4 = par_star_arg_list;
tmp_source_name_4 = BUILTIN_TYPE1( tmp_type_arg_4 );
if ( tmp_source_name_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_4 );
goto try_except_handler_1;
}
tmp_tuple_element_4 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain___name__ );
Py_DECREF( tmp_source_name_4 );
if ( tmp_tuple_element_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
Py_DECREF( tmp_right_name_4 );
goto try_except_handler_1;
}
PyTuple_SET_ITEM( tmp_right_name_4, 1, tmp_tuple_element_4 );
tmp_make_exception_arg_4 = BINARY_OPERATION_REMAINDER( tmp_left_name_4, tmp_right_name_4 );
Py_DECREF( tmp_right_name_4 );
if ( tmp_make_exception_arg_4 == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
{
PyObject *call_args[] = { tmp_make_exception_arg_4 };
tmp_raise_type_4 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
}
Py_DECREF( tmp_make_exception_arg_4 );
assert( !(tmp_raise_type_4 == NULL) );
exception_type = tmp_raise_type_4;
RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
branch_end_7:;
}
branch_no_6:;
}
{
PyObject *tmp_called_name_1;
PyObject *tmp_args_name_1;
PyObject *tmp_kw_name_1;
if ( par_called == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "called" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_called_name_1 = par_called;
if ( par_star_arg_list == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "star_arg_list" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_args_name_1 = par_star_arg_list;
if ( par_kw == NULL )
{
exception_type = PyExc_UnboundLocalError;
Py_INCREF( exception_type );
exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "kw" );
exception_tb = NULL;
NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
CHAIN_EXCEPTION( exception_value );
goto try_except_handler_1;
}
tmp_kw_name_1 = par_kw;
tmp_return_value = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
if ( tmp_return_value == NULL )
{
assert( ERROR_OCCURRED() );
FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
goto try_except_handler_1;
}
goto try_return_handler_1;
}
// tried codes exits in all cases
NUITKA_CANNOT_GET_HERE( __internal__$$$function_12_complex_call_helper_keywords_star_list_star_dict );
return NULL;
// Return handler code:
try_return_handler_1:;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
goto function_return_exit;
}
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_3 = exception_type;
exception_keeper_value_3 = exception_value;
exception_keeper_tb_3 = exception_tb;
exception_keeper_lineno_3 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
{
Py_XDECREF( par_called );
par_called = NULL;
}
{
Py_XDECREF( par_kw );
par_kw = NULL;
}
{
Py_XDECREF( par_star_arg_list );
par_star_arg_list = NULL;
}
{
Py_XDECREF( par_star_arg_dict );
par_star_arg_dict = NULL;
}
{
// Re-raise.
exception_type = exception_keeper_type_3;
exception_value = exception_keeper_value_3;
exception_tb = exception_keeper_tb_3;
exception_lineno = exception_keeper_lineno_3;
goto function_exception_exit;
}
// End of try:
}
// Return statement must have exited already.
NUITKA_CANNOT_GET_HERE( __internal__$$$function_12_complex_call_helper_keywords_star_list_star_dict );
return NULL;
function_exception_exit:
assert( exception_type );
RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
return NULL;
function_return_exit:
CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;
}
#if PYTHON_VERSION >= 300
static struct PyModuleDef mdef___internal__ =
{
PyModuleDef_HEAD_INIT,
"__internal__", /* m_name */
NULL, /* m_doc */
-1, /* m_size */
NULL, /* m_methods */
NULL, /* m_reload */
NULL, /* m_traverse */
NULL, /* m_clear */
NULL, /* m_free */
};
#endif
extern PyObject *const_str_plain___package__;
#if PYTHON_VERSION >= 300
extern PyObject *const_str_dot;
extern PyObject *const_str_plain___loader__;
extern PyObject *metapath_based_loader;
#endif
#if PYTHON_VERSION >= 340
extern PyObject *const_str_plain___spec__;
extern PyObject *const_str_plain__initializing;
#endif
extern void _initCompiledCellType();
extern void _initCompiledGeneratorType();
extern void _initCompiledFunctionType();
extern void _initCompiledMethodType();
extern void _initCompiledFrameType();
#if PYTHON_VERSION >= 350
extern void _initCompiledCoroutineTypes();
#endif
#if PYTHON_VERSION >= 360
extern void _initCompiledAsyncgenTypes();
#endif
// The exported interface to CPython. On import of the module, this function
// gets called. It has to have an exact function name, in cases it's a shared
// library export. This is hidden behind the MOD_INIT_DECL.
MOD_INIT_DECL( __internal__ )
{
#if defined(_NUITKA_EXE) || PYTHON_VERSION >= 300
static bool _init_done = false;
// Modules might be imported repeatedly, which is to be ignored.
if ( _init_done )
{
return MOD_RETURN_VALUE( module___internal__ );
}
else
{
_init_done = true;
}
#endif
#ifdef _NUITKA_MODULE
// In case of a stand alone extension module, need to call initialization
// the init here because that's the first and only time we are going to get
// called here.
// Initialize the constant values used.
_initBuiltinModule();
createGlobalConstants();
/* Initialize the compiled types of Nuitka. */
_initCompiledCellType();
_initCompiledGeneratorType();
_initCompiledFunctionType();
_initCompiledMethodType();
_initCompiledFrameType();
#if PYTHON_VERSION >= 350
_initCompiledCoroutineTypes();
#endif
#if PYTHON_VERSION >= 360
_initCompiledAsyncgenTypes();
#endif
#if PYTHON_VERSION < 300
_initSlotCompare();
#endif
#if PYTHON_VERSION >= 270
_initSlotIternext();
#endif
patchBuiltinModule();
patchTypeComparison();
// Enable meta path based loader if not already done.
#ifdef _NUITKA_TRACE
puts("__internal__: Calling setupMetaPathBasedLoader().");
#endif
setupMetaPathBasedLoader();
#if PYTHON_VERSION >= 300
patchInspectModule();
#endif
#endif
/* The constants only used by this module are created now. */
#ifdef _NUITKA_TRACE
puts("__internal__: Calling createModuleConstants().");
#endif
createModuleConstants();
/* The code objects used by this module are created now. */
#ifdef _NUITKA_TRACE
puts("__internal__: Calling createModuleCodeObjects().");
#endif
createModuleCodeObjects();
// puts( "in init__internal__" );
// Create the module object first. There are no methods initially, all are
// added dynamically in actual code only. Also no "__doc__" is initially
// set at this time, as it could not contain NUL characters this way, they
// are instead set in early module code. No "self" for modules, we have no
// use for it.
#if PYTHON_VERSION < 300
module___internal__ = Py_InitModule4(
"__internal__", // Module Name
NULL, // No methods initially, all are added
// dynamically in actual module code only.
NULL, // No "__doc__" is initially set, as it could
// not contain NUL this way, added early in
// actual code.
NULL, // No self for modules, we don't use it.
PYTHON_API_VERSION
);
#else
module___internal__ = PyModule_Create( &mdef___internal__ );
#endif
moduledict___internal__ = MODULE_DICT( module___internal__ );
// Update "__package__" value to what it ought to be.
{
#if 0
PyObject *module_name = GET_STRING_DICT_VALUE( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___name__ );
UPDATE_STRING_DICT1(
moduledict___internal__,
(Nuitka_StringObject *)const_str_plain___package__,
module_name
);
#else
#if PYTHON_VERSION < 300
PyObject *module_name = GET_STRING_DICT_VALUE( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___name__ );
char const *module_name_cstr = PyString_AS_STRING( module_name );
char const *last_dot = strrchr( module_name_cstr, '.' );
if ( last_dot != NULL )
{
UPDATE_STRING_DICT1(
moduledict___internal__,
(Nuitka_StringObject *)const_str_plain___package__,
PyString_FromStringAndSize( module_name_cstr, last_dot - module_name_cstr )
);
}
#else
PyObject *module_name = GET_STRING_DICT_VALUE( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___name__ );
Py_ssize_t dot_index = PyUnicode_Find( module_name, const_str_dot, 0, PyUnicode_GetLength( module_name ), -1 );
if ( dot_index != -1 )
{
UPDATE_STRING_DICT1(
moduledict___internal__,
(Nuitka_StringObject *)const_str_plain___package__,
PyUnicode_Substring( module_name, 0, dot_index )
);
}
#endif
#endif
}
CHECK_OBJECT( module___internal__ );
// Seems to work for Python2.7 out of the box, but for Python3, the module
// doesn't automatically enter "sys.modules", so do it manually.
#if PYTHON_VERSION >= 300
{
int r = PyObject_SetItem( PySys_GetObject( (char *)"modules" ), const_str_plain___internal__, module___internal__ );
assert( r != -1 );
}
#endif
// For deep importing of a module we need to have "__builtins__", so we set
// it ourselves in the same way than CPython does. Note: This must be done
// before the frame object is allocated, or else it may fail.
if ( GET_STRING_DICT_VALUE( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___builtins__ ) == NULL )
{
PyObject *value = (PyObject *)builtin_module;
// Check if main module, not a dict then but the module itself.
#if !defined(_NUITKA_EXE) || !0
value = PyModule_GetDict( value );
#endif
UPDATE_STRING_DICT0( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___builtins__, value );
}
#if PYTHON_VERSION >= 300
UPDATE_STRING_DICT0( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___loader__, metapath_based_loader );
#endif
#if PYTHON_VERSION >= 340
#if 0
UPDATE_STRING_DICT0( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___spec__, Py_None );
#else
{
PyObject *bootstrap_module = PyImport_ImportModule("importlib._bootstrap");
CHECK_OBJECT( bootstrap_module );
PyObject *module_spec_class = PyObject_GetAttrString( bootstrap_module, "ModuleSpec" );
Py_DECREF( bootstrap_module );
PyObject *args[] = {
GET_STRING_DICT_VALUE( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___name__ ),
metapath_based_loader
};
PyObject *spec_value = CALL_FUNCTION_WITH_ARGS2(
module_spec_class,
args
);
SET_ATTRIBUTE( spec_value, const_str_plain__initializing, Py_True );
UPDATE_STRING_DICT1( moduledict___internal__, (Nuitka_StringObject *)const_str_plain___spec__, spec_value );
Py_DECREF( module_spec_class );
}
#endif
#endif
// Temp variables if any
// Module code.
return MOD_RETURN_VALUE( module___internal__ );
}