PyObject *call2( PyObject *arg1, PyObject *arg2 ) { return CALL_FUNCTION_WITH_ARGS2( this->asObject0(), arg1, arg2 ); }
static PyObject *LOOKUP_INSTANCE(PyObject *source, PyObject *attr_name) { CHECK_OBJECT(source); CHECK_OBJECT(attr_name); assert(PyInstance_Check(source)); assert(PyString_CheckExact(attr_name)); PyInstanceObject *source_instance = (PyInstanceObject *)source; // The special cases have their own variant on the code generation level // as we are called with constants only. assert(attr_name != const_str_plain___dict__); assert(attr_name != const_str_plain___class__); // Try the instance dict first. PyObject *result = GET_STRING_DICT_VALUE((PyDictObject *)source_instance->in_dict, (PyStringObject *)attr_name); if (result) { Py_INCREF(result); return result; } // Next see if a class has it result = FIND_ATTRIBUTE_IN_CLASS(source_instance->in_class, attr_name); if (result != NULL) { descrgetfunc func = Py_TYPE(result)->tp_descr_get; if (func) { result = func(result, source, (PyObject *)source_instance->in_class); if (unlikely(result == NULL)) { return NULL; } CHECK_OBJECT(result); return result; } else { Py_INCREF(result); return result; } } // Finally allow a __getattr__ to handle it or else it's an error. if (unlikely(source_instance->in_class->cl_getattr == NULL)) { PyErr_Format(PyExc_AttributeError, "%s instance has no attribute '%s'", PyString_AS_STRING(source_instance->in_class->cl_name), PyString_AS_STRING(attr_name)); return NULL; } else { PyObject *args[] = {source, attr_name}; return CALL_FUNCTION_WITH_ARGS2(source_instance->in_class->cl_getattr, args); } }
NUITKA_MAY_BE_UNUSED static PyObject *TO_COMPLEX( PyObject *real, PyObject *imag ) { // TODO: Very lazy here, we should create the values ourselves, surely a // a lot of optimization can be had that way. if ( real == NULL ) { assert( imag != NULL ); real = const_int_0; } if ( imag == NULL) { return CALL_FUNCTION_WITH_ARGS1( (PyObject *)&PyComplex_Type, real ); } else { return CALL_FUNCTION_WITH_ARGS2( (PyObject *)&PyComplex_Type, real, imag ); } }
// The module function definitions. static PyObject *impl_function_1_CacheControl_of_pip$_vendor$cachecontrol$wrapper( Nuitka_FunctionObject const *self, PyObject **python_pars ) { // Preserve error status for checks #ifndef __NUITKA_NO_ASSERT__ NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); #endif // Local variable declarations. PyObject *par_sess = python_pars[ 0 ]; PyObject *par_cache = python_pars[ 1 ]; PyObject *par_cache_etags = python_pars[ 2 ]; PyObject *par_serializer = python_pars[ 3 ]; PyObject *par_heuristic = python_pars[ 4 ]; PyObject *var_adapter = NULL; PyObject *exception_type = NULL, *exception_value = NULL; PyTracebackObject *exception_tb = NULL; NUITKA_MAY_BE_UNUSED int exception_lineno = -1; 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_args_element_name_1; PyObject *tmp_args_element_name_2; PyObject *tmp_args_element_name_3; PyObject *tmp_args_element_name_4; PyObject *tmp_args_name_1; PyObject *tmp_assign_source_1; PyObject *tmp_assign_source_2; PyObject *tmp_called_name_1; PyObject *tmp_called_name_2; PyObject *tmp_called_name_3; PyObject *tmp_called_name_4; PyObject *tmp_dict_key_1; PyObject *tmp_dict_key_2; PyObject *tmp_dict_key_3; PyObject *tmp_dict_value_1; PyObject *tmp_dict_value_2; PyObject *tmp_dict_value_3; PyObject *tmp_frame_locals; PyObject *tmp_kw_name_1; int tmp_or_left_truth_1; PyObject *tmp_or_left_value_1; PyObject *tmp_or_right_value_1; PyObject *tmp_return_value; PyObject *tmp_source_name_1; PyObject *tmp_source_name_2; PyObject *tmp_tuple_element_1; NUITKA_MAY_BE_UNUSED PyObject *tmp_unused; static PyFrameObject *cache_frame_function = NULL; PyFrameObject *frame_function; tmp_return_value = NULL; // Actual function code. // Tried code: MAKE_OR_REUSE_FRAME( cache_frame_function, codeobj_079a8ba6ceda22079d731bf3f2f28ee9, module_pip$_vendor$cachecontrol$wrapper ); frame_function = cache_frame_function; // Push the new frame as the currently active one. pushFrameStack( frame_function ); // Mark the frame object as in use, ref count 1 will be up for reuse. Py_INCREF( frame_function ); assert( Py_REFCNT( frame_function ) == 2 ); // Frame stack #if PYTHON_VERSION >= 340 frame_function->f_executing += 1; #endif // Framed code: tmp_or_left_value_1 = par_cache; tmp_or_left_truth_1 = CHECK_IF_TRUE( tmp_or_left_value_1 ); if ( tmp_or_left_truth_1 == -1 ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 11; goto frame_exception_exit_1; } if ( tmp_or_left_truth_1 == 1 ) { goto or_left_1; } else { goto or_right_1; } or_right_1:; tmp_called_name_1 = GET_STRING_DICT_VALUE( moduledict_pip$_vendor$cachecontrol$wrapper, (Nuitka_StringObject *)const_str_plain_DictCache ); if (unlikely( tmp_called_name_1 == NULL )) { tmp_called_name_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DictCache ); } if ( tmp_called_name_1 == NULL ) { exception_type = PyExc_NameError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DictCache" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 11; goto frame_exception_exit_1; } frame_function->f_lineno = 11; tmp_or_right_value_1 = CALL_FUNCTION_NO_ARGS( tmp_called_name_1 ); if ( tmp_or_right_value_1 == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 11; goto frame_exception_exit_1; } tmp_assign_source_1 = tmp_or_right_value_1; goto or_end_1; or_left_1:; Py_INCREF( tmp_or_left_value_1 ); tmp_assign_source_1 = tmp_or_left_value_1; or_end_1:; { PyObject *old = par_cache; par_cache = tmp_assign_source_1; Py_XDECREF( old ); } tmp_called_name_2 = GET_STRING_DICT_VALUE( moduledict_pip$_vendor$cachecontrol$wrapper, (Nuitka_StringObject *)const_str_plain_CacheControlAdapter ); if (unlikely( tmp_called_name_2 == NULL )) { tmp_called_name_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_CacheControlAdapter ); } if ( tmp_called_name_2 == NULL ) { exception_type = PyExc_NameError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "CacheControlAdapter" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 12; goto frame_exception_exit_1; } tmp_args_name_1 = PyTuple_New( 1 ); tmp_tuple_element_1 = par_cache; Py_INCREF( tmp_tuple_element_1 ); PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_1 ); tmp_kw_name_1 = _PyDict_NewPresized( 3 ); tmp_dict_key_1 = const_str_plain_cache_etags; tmp_dict_value_1 = par_cache_etags; PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_1, tmp_dict_value_1 ); tmp_dict_key_2 = const_str_plain_serializer; tmp_dict_value_2 = par_serializer; PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_2, tmp_dict_value_2 ); tmp_dict_key_3 = const_str_plain_heuristic; tmp_dict_value_3 = par_heuristic; PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_3, tmp_dict_value_3 ); frame_function->f_lineno = 16; tmp_assign_source_2 = CALL_FUNCTION( tmp_called_name_2, tmp_args_name_1, tmp_kw_name_1 ); Py_DECREF( tmp_args_name_1 ); Py_DECREF( tmp_kw_name_1 ); if ( tmp_assign_source_2 == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 16; goto frame_exception_exit_1; } assert( var_adapter == NULL ); var_adapter = tmp_assign_source_2; tmp_source_name_1 = par_sess; tmp_called_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_mount ); if ( tmp_called_name_3 == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 18; goto frame_exception_exit_1; } tmp_args_element_name_1 = const_str_digest_7c06a402579f6f9d9db7f3e04da983fc; tmp_args_element_name_2 = var_adapter; if ( tmp_args_element_name_2 == NULL ) { Py_DECREF( tmp_called_name_3 ); exception_type = PyExc_UnboundLocalError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "adapter" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 18; goto frame_exception_exit_1; } frame_function->f_lineno = 18; { PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 }; tmp_unused = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_3, call_args ); } Py_DECREF( tmp_called_name_3 ); if ( tmp_unused == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 18; goto frame_exception_exit_1; } Py_DECREF( tmp_unused ); tmp_source_name_2 = par_sess; if ( tmp_source_name_2 == NULL ) { exception_type = PyExc_UnboundLocalError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "sess" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 19; goto frame_exception_exit_1; } tmp_called_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_mount ); if ( tmp_called_name_4 == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 19; goto frame_exception_exit_1; } tmp_args_element_name_3 = const_str_digest_504b77692b694460b8c25198a52c83ba; tmp_args_element_name_4 = var_adapter; if ( tmp_args_element_name_4 == NULL ) { Py_DECREF( tmp_called_name_4 ); exception_type = PyExc_UnboundLocalError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "adapter" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 19; goto frame_exception_exit_1; } frame_function->f_lineno = 19; { PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 }; tmp_unused = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_4, call_args ); } Py_DECREF( tmp_called_name_4 ); if ( tmp_unused == NULL ) { assert( ERROR_OCCURRED() ); FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); exception_lineno = 19; goto frame_exception_exit_1; } Py_DECREF( tmp_unused ); tmp_return_value = par_sess; if ( tmp_return_value == NULL ) { exception_type = PyExc_UnboundLocalError; Py_INCREF( exception_type ); exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "sess" ); exception_tb = NULL; NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); CHAIN_EXCEPTION( exception_value ); exception_lineno = 21; goto frame_exception_exit_1; } Py_INCREF( tmp_return_value ); goto frame_return_exit_1; #if 0 RESTORE_FRAME_EXCEPTION( frame_function ); #endif // Put the previous frame back on top. popFrameStack(); #if PYTHON_VERSION >= 340 frame_function->f_executing -= 1; #endif Py_DECREF( frame_function ); goto frame_no_exception_1; frame_return_exit_1:; #if 0 RESTORE_FRAME_EXCEPTION( frame_function ); #endif popFrameStack(); #if PYTHON_VERSION >= 340 frame_function->f_executing -= 1; #endif Py_DECREF( frame_function ); goto try_return_handler_1; frame_exception_exit_1:; #if 0 RESTORE_FRAME_EXCEPTION( frame_function ); #endif { bool needs_detach = false; if ( exception_tb == NULL ) { exception_tb = MAKE_TRACEBACK( frame_function, exception_lineno ); needs_detach = true; } else if ( exception_lineno != -1 ) { PyTracebackObject *traceback_new = MAKE_TRACEBACK( frame_function, exception_lineno ); traceback_new->tb_next = exception_tb; exception_tb = traceback_new; needs_detach = true; } if (needs_detach) { tmp_frame_locals = PyDict_New(); if ( par_sess ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_sess, par_sess ); assert( res == 0 ); } if ( par_cache ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_cache, par_cache ); assert( res == 0 ); } if ( par_cache_etags ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_cache_etags, par_cache_etags ); assert( res == 0 ); } if ( par_serializer ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_serializer, par_serializer ); assert( res == 0 ); } if ( par_heuristic ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_heuristic, par_heuristic ); assert( res == 0 ); } if ( var_adapter ) { int res = PyDict_SetItem( tmp_frame_locals, const_str_plain_adapter, var_adapter ); assert( res == 0 ); } detachFrame( exception_tb, tmp_frame_locals ); } } popFrameStack(); #if PYTHON_VERSION >= 340 frame_function->f_executing -= 1; #endif Py_DECREF( frame_function ); // Return the error. goto try_except_handler_1; frame_no_exception_1:; // tried codes exits in all cases NUITKA_CANNOT_GET_HERE( function_1_CacheControl_of_pip$_vendor$cachecontrol$wrapper ); return NULL; // Return handler code: try_return_handler_1:; Py_XDECREF( par_sess ); par_sess = NULL; Py_XDECREF( par_cache ); par_cache = NULL; Py_XDECREF( par_cache_etags ); par_cache_etags = NULL; Py_XDECREF( par_serializer ); par_serializer = NULL; Py_XDECREF( par_heuristic ); par_heuristic = NULL; Py_XDECREF( var_adapter ); var_adapter = 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 = -1; Py_XDECREF( par_sess ); par_sess = NULL; Py_XDECREF( par_cache ); par_cache = NULL; Py_XDECREF( par_cache_etags ); par_cache_etags = NULL; Py_XDECREF( par_serializer ); par_serializer = NULL; Py_XDECREF( par_heuristic ); par_heuristic = NULL; Py_XDECREF( var_adapter ); var_adapter = 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( function_1_CacheControl_of_pip$_vendor$cachecontrol$wrapper ); 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; }