mirror of
https://github.com/house-of-vanity/fesmoo_perdoliq.git
synced 2025-08-21 16:17:15 +00:00
8907 lines
240 KiB
C
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__ );
|
|
}
|