diff --git a/_pydevd_bundle/pydevd_cython.c b/_pydevd_bundle/pydevd_cython.c index 452b682c..19498358 100644 --- a/_pydevd_bundle/pydevd_cython.c +++ b/_pydevd_bundle/pydevd_cython.c @@ -1547,7 +1547,7 @@ struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame { }; -/* "_pydevd_bundle/pydevd_cython.pyx":1457 +/* "_pydevd_bundle/pydevd_cython.pyx":1450 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class SafeCallWrapper: # <<<<<<<<<<<<<< @@ -1560,7 +1560,7 @@ struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper { }; -/* "_pydevd_bundle/pydevd_cython.pyx":1613 +/* "_pydevd_bundle/pydevd_cython.pyx":1606 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: # <<<<<<<<<<<<<< @@ -1573,7 +1573,7 @@ struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhand }; -/* "_pydevd_bundle/pydevd_cython.pyx":1643 +/* "_pydevd_bundle/pydevd_cython.pyx":1636 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class TopLevelThreadTracerNoBackFrame: # <<<<<<<<<<<<<< @@ -1591,7 +1591,7 @@ struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFram }; -/* "_pydevd_bundle/pydevd_cython.pyx":1718 +/* "_pydevd_bundle/pydevd_cython.pyx":1711 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class ThreadTracer: # <<<<<<<<<<<<<< @@ -1614,8 +1614,6 @@ struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer { */ struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame { - PyObject *(*_should_stop_on_exception)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *); - PyObject *(*_handle_exception)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, PyObject *); PyObject *(*get_func_name)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *); PyObject *(*_show_return_values)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); PyObject *(*_remove_return_values)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); @@ -2080,14 +2078,27 @@ static CYTHON_INLINE int __Pyx_IterFinish(void); /* UnpackItemEndCheck.proto */ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + /* ExtTypeTest.proto */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); -/* GetAttr.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); -/* HasAttr.proto */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AndObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2)) +#endif /* dict_getitem_default.proto */ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); @@ -2117,34 +2128,6 @@ static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction * #define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) #endif -/* py_dict_clear.proto */ -#define __Pyx_PyDict_Clear(d) (PyDict_Clear(d), 0) - -/* PyDictContains.proto */ -static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { - int result = PyDict_Contains(dict, item); - return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); -} - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* RaiseNoneIterError.proto */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AndObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2)) -#endif - /* PyObjectGetMethod.proto */ static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); @@ -2172,6 +2155,12 @@ static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); +/* PyDictContains.proto */ +static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { + int result = PyDict_Contains(dict, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + /* DictGetItem.proto */ #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); @@ -2189,6 +2178,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( PyObject** py_start, PyObject** py_stop, PyObject** py_slice, int has_cstart, int has_cstop, int wraparound); +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* py_dict_clear.proto */ +#define __Pyx_PyDict_Clear(d) (PyDict_Clear(d), 0) + /* PyIntBinop.proto */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); @@ -2525,8 +2523,6 @@ static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /* #### Code section: module_declarations ### */ -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, CYTHON_UNUSED PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto*/ -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type); /* proto*/ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame); /* proto*/ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg); /* proto*/ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame); /* proto*/ @@ -2571,13 +2567,14 @@ static PyObject *__pyx_builtin_NameError; static PyObject *__pyx_builtin_StopIteration; static PyObject *__pyx_builtin_id; static PyObject *__pyx_builtin_AttributeError; +static PyObject *__pyx_builtin_KeyboardInterrupt; static PyObject *__pyx_builtin_SystemExit; static PyObject *__pyx_builtin_GeneratorExit; -static PyObject *__pyx_builtin_KeyboardInterrupt; static PyObject *__pyx_builtin_RuntimeError; /* #### Code section: string_decls ### */ static const char __pyx_k_[] = ""; static const char __pyx_k_1[] = "1"; +static const char __pyx_k_f[] = "f"; static const char __pyx_k_i[] = "i"; static const char __pyx_k_j[] = "j"; static const char __pyx_k_t[] = "t"; @@ -2624,6 +2621,7 @@ static const char __pyx_k_enter[] = "__enter__"; static const char __pyx_k_event[] = "event"; static const char __pyx_k_frame[] = "frame"; static const char __pyx_k_ident[] = "ident"; +static const char __pyx_k_lines[] = "lines"; static const char __pyx_k_match[] = "match"; static const char __pyx_k_py_db[] = "py_db"; static const char __pyx_k_qname[] = "qname"; @@ -2631,6 +2629,7 @@ static const char __pyx_k_rfind[] = "rfind"; static const char __pyx_k_state[] = "state"; static const char __pyx_k_trace[] = "trace"; static const char __pyx_k_utf_8[] = "utf-8"; +static const char __pyx_k_value[] = "value"; static const char __pyx_k_Thread[] = "Thread"; static const char __pyx_k_append[] = "append"; static const char __pyx_k_args_2[] = "_args"; @@ -2644,12 +2643,14 @@ static const char __pyx_k_import[] = "__import__"; static const char __pyx_k_kwargs[] = "kwargs"; static const char __pyx_k_lambda[] = ""; static const char __pyx_k_main_2[] = "__main__"; +static const char __pyx_k_merged[] = "merged"; static const char __pyx_k_module[] = ""; static const char __pyx_k_name_2[] = "name"; static const char __pyx_k_pickle[] = "pickle"; static const char __pyx_k_plugin[] = "plugin"; static const char __pyx_k_pydevd[] = "pydevd"; static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_result[] = "result"; static const char __pyx_k_return[] = "return"; static const char __pyx_k_thread[] = "thread"; static const char __pyx_k_update[] = "update"; @@ -2666,6 +2667,7 @@ static const char __pyx_k_linesep[] = "linesep"; static const char __pyx_k_os_path[] = "os.path"; static const char __pyx_k_returns[] = "returns"; static const char __pyx_k_st_size[] = "st_size"; +static const char __pyx_k_stopped[] = "stopped"; static const char __pyx_k_suspend[] = "suspend"; static const char __pyx_k_tb_next[] = "tb_next"; static const char __pyx_k_version[] = "version"; @@ -2690,10 +2692,13 @@ static const char __pyx_k_PyDBFrame[] = "PyDBFrame"; static const char __pyx_k_STATE_RUN[] = "STATE_RUN"; static const char __pyx_k_bootstrap[] = "__bootstrap"; static const char __pyx_k_condition[] = "condition"; +static const char __pyx_k_curr_stat[] = "curr_stat"; +static const char __pyx_k_exc_break[] = "exc_break"; static const char __pyx_k_exception[] = "exception"; static const char __pyx_k_f_globals[] = "f_globals"; static const char __pyx_k_func_name[] = "func_name"; static const char __pyx_k_isenabled[] = "isenabled"; +static const char __pyx_k_last_stat[] = "last_stat"; static const char __pyx_k_linecache[] = "linecache"; static const char __pyx_k_pydev_log[] = "pydev_log"; static const char __pyx_k_pydevd_py[] = "pydevd.py"; @@ -2701,10 +2706,13 @@ static const char __pyx_k_pyx_state[] = "__pyx_state"; static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; static const char __pyx_k_tb_lineno[] = "tb_lineno"; static const char __pyx_k_threading[] = "threading"; +static const char __pyx_k_trace_obj[] = "trace_obj"; static const char __pyx_k_PYDEV_FILE[] = "PYDEV_FILE"; static const char __pyx_k_SystemExit[] = "SystemExit"; +static const char __pyx_k_check_excs[] = "check_excs"; static const char __pyx_k_checkcache[] = "checkcache"; static const char __pyx_k_custom_key[] = "custom_key"; +static const char __pyx_k_exc_lineno[] = "exc_lineno"; static const char __pyx_k_expression[] = "expression"; static const char __pyx_k_pyx_result[] = "__pyx_result"; static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; @@ -2743,8 +2751,10 @@ static const char __pyx_k_cmd_step_over[] = "cmd_step_over"; static const char __pyx_k_container_obj[] = "container_obj"; static const char __pyx_k_get_file_type[] = "get_file_type"; static const char __pyx_k_has_condition[] = "has_condition"; +static const char __pyx_k_lines_ignored[] = "lines_ignored"; static const char __pyx_k_method_object[] = "method_object"; static const char __pyx_k_original_call[] = "_original_call"; +static const char __pyx_k_prev_exc_info[] = "prev_exc_info"; static const char __pyx_k_pydb_disposed[] = "pydb_disposed"; static const char __pyx_k_pydevd_bundle[] = "_pydevd_bundle"; static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; @@ -2757,6 +2767,7 @@ static const char __pyx_k_TRACE_PROPERTY[] = "TRACE_PROPERTY"; static const char __pyx_k_co_firstlineno[] = "co_firstlineno"; static const char __pyx_k_current_frames[] = "_current_frames"; static const char __pyx_k_enable_tracing[] = "enable_tracing"; +static const char __pyx_k_exc_break_user[] = "exc_break_user"; static const char __pyx_k_exception_type[] = "exception_type"; static const char __pyx_k_findlinestarts[] = "findlinestarts"; static const char __pyx_k_get_breakpoint[] = "get_breakpoint"; @@ -2767,28 +2778,38 @@ static const char __pyx_k_IgnoreException[] = "[^#]*#.*@IgnoreException"; static const char __pyx_k_SafeCallWrapper[] = "SafeCallWrapper"; static const char __pyx_k_additional_info[] = "additional_info"; static const char __pyx_k_bootstrap_inner[] = "__bootstrap_inner"; +static const char __pyx_k_check_trace_obj[] = "check_trace_obj"; static const char __pyx_k_constant_to_str[] = "constant_to_str"; static const char __pyx_k_disable_tracing[] = "disable_tracing"; static const char __pyx_k_do_wait_suspend[] = "do_wait_suspend"; static const char __pyx_k_exception_break[] = "exception_break"; static const char __pyx_k_frame_cache_key[] = "frame_cache_key"; +static const char __pyx_k_from_user_input[] = "from_user_input"; static const char __pyx_k_is_thread_alive[] = "is_thread_alive"; static const char __pyx_k_make_io_message[] = "make_io_message"; static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_return_exc_info[] = "return_exc_info"; static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; static const char __pyx_k_trace_exception[] = "trace_exception"; +static const char __pyx_k_was_just_raised[] = "was_just_raised"; static const char __pyx_k_DEBUG_START_PY3K[] = "DEBUG_START_PY3K"; static const char __pyx_k_current_frames_2[] = "current_frames"; +static const char __pyx_k_exc_break_caught[] = "exc_break_caught"; +static const char __pyx_k_handle_exception[] = "handle_exception"; static const char __pyx_k_in_project_scope[] = "in_project_scope"; +static const char __pyx_k_is_user_uncaught[] = "is_user_uncaught"; static const char __pyx_k_threading_active[] = "threading_active"; static const char __pyx_k_try_except_infos[] = "try_except_infos"; static const char __pyx_k_KeyboardInterrupt[] = "KeyboardInterrupt"; +static const char __pyx_k_absolute_filename[] = "absolute_filename"; static const char __pyx_k_apply_to_settrace[] = "apply_to_settrace"; static const char __pyx_k_bootstrap_inner_2[] = "_bootstrap_inner"; static const char __pyx_k_children_variants[] = "children_variants"; +static const char __pyx_k_frame_id_to_frame[] = "frame_id_to_frame"; static const char __pyx_k_frame_skips_cache[] = "frame_skips_cache"; static const char __pyx_k_get_method_object[] = "get_method_object"; static const char __pyx_k_get_topmost_frame[] = "get_topmost_frame"; +static const char __pyx_k_initial_trace_obj[] = "initial_trace_obj"; static const char __pyx_k_original_step_cmd[] = "original_step_cmd"; static const char __pyx_k_pydev_execfile_py[] = "_pydev_execfile.py"; static const char __pyx_k_pydevd_dont_trace[] = "pydevd_dont_trace"; @@ -2808,6 +2829,7 @@ static const char __pyx_k_collect_return_info[] = "collect_return_info"; static const char __pyx_k_pydev_log_exception[] = "pydev_log_exception"; static const char __pyx_k_threading_get_ident[] = "threading_get_ident"; static const char __pyx_k_IGNORE_EXCEPTION_TAG[] = "IGNORE_EXCEPTION_TAG"; +static const char __pyx_k_exception_breakpoint[] = "exception_breakpoint"; static const char __pyx_k_frame_trace_dispatch[] = "frame_trace_dispatch"; static const char __pyx_k_get_clsname_for_code[] = "get_clsname_for_code"; static const char __pyx_k_is_line_in_try_block[] = "is_line_in_try_block"; @@ -2823,6 +2845,7 @@ static const char __pyx_k_suspend_other_threads[] = "suspend_other_threads"; static const char __pyx_k_CMD_SET_FUNCTION_BREAK[] = "CMD_SET_FUNCTION_BREAK"; static const char __pyx_k_EXCEPTION_TYPE_HANDLED[] = "EXCEPTION_TYPE_HANDLED"; static const char __pyx_k_PYDEVD_IPYTHON_CONTEXT[] = "PYDEVD_IPYTHON_CONTEXT"; +static const char __pyx_k_abs_real_path_and_base[] = "abs_real_path_and_base"; static const char __pyx_k_add_exception_to_frame[] = "add_exception_to_frame"; static const char __pyx_k_has_plugin_line_breaks[] = "has_plugin_line_breaks"; static const char __pyx_k_ignore_exception_trace[] = "ignore_exception_trace"; @@ -2842,6 +2865,7 @@ static const char __pyx_k_PyDBFrame_trace_dispatch[] = "PyDBFrame.trace_dispatch static const char __pyx_k_Stop_inside_ipython_call[] = "Stop inside ipython call"; static const char __pyx_k_get_exception_breakpoint[] = "get_exception_breakpoint"; static const char __pyx_k_global_cache_frame_skips[] = "global_cache_frame_skips"; +static const char __pyx_k_should_stop_on_exception[] = "should_stop_on_exception"; static const char __pyx_k_threading_current_thread[] = "threading_current_thread"; static const char __pyx_k_PyDBFrame___reduce_cython[] = "PyDBFrame.__reduce_cython__"; static const char __pyx_k_PyDBFrame_do_wait_suspend[] = "PyDBFrame.do_wait_suspend"; @@ -2868,6 +2892,7 @@ static const char __pyx_k_handle_breakpoint_expression[] = "handle_breakpoint_ex static const char __pyx_k_pyx_unpickle_SafeCallWrapper[] = "__pyx_unpickle_SafeCallWrapper"; static const char __pyx_k_EXCEPTION_TYPE_USER_UNHANDLED[] = "EXCEPTION_TYPE_USER_UNHANDLED"; static const char __pyx_k_NORM_PATHS_AND_BASE_CONTAINER[] = "NORM_PATHS_AND_BASE_CONTAINER"; +static const char __pyx_k_canonical_normalized_filename[] = "canonical_normalized_filename"; static const char __pyx_k_constructed_tid_to_last_frame[] = "constructed_tid_to_last_frame"; static const char __pyx_k_ThreadTracer___setstate_cython[] = "ThreadTracer.__setstate_cython__"; static const char __pyx_k_TryExceptContainerObj___reduce[] = "_TryExceptContainerObj.__reduce_cython__"; @@ -3017,14 +3042,16 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_us static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_in_because_of_filters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4should_stop_on_exception(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_thread, PyObject *__pyx_v_arg, PyObject *__pyx_v_prev_exc_info); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6handle_exception(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_thread, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8notify_skipped_step_in_because_of_filters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame); /* proto */ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v_method_object); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__call__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v_args); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_4get_method_object(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_6__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_8__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, PyObject *__pyx_v_args); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_2trace_unhandled_exceptions(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_4get_trace_dispatch_func(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self); /* proto */ @@ -3062,15 +3089,15 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_2__se static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_4__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_6__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_14__pyx_unpickle_PyDBAdditionalThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_16__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle_SafeCallWrapper(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_TopLevelThreadTracerNoBackFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_ThreadTracer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_14__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_16fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBAdditionalThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_PyDBFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_SafeCallWrapper(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_28__pyx_unpickle_TopLevelThreadTracerNoBackFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_30__pyx_unpickle_ThreadTracer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBFrame(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ @@ -3225,6 +3252,8 @@ typedef struct { PyObject *__pyx_kp_s__8; PyObject *__pyx_kp_s__9; PyObject *__pyx_kp_u__9; + PyObject *__pyx_n_s_abs_real_path_and_base; + PyObject *__pyx_n_s_absolute_filename; PyObject *__pyx_n_s_add; PyObject *__pyx_n_s_add_command; PyObject *__pyx_n_s_add_exception_to_frame; @@ -3247,7 +3276,10 @@ typedef struct { PyObject *__pyx_n_s_call; PyObject *__pyx_n_s_call_2; PyObject *__pyx_n_s_can_skip; + PyObject *__pyx_n_s_canonical_normalized_filename; PyObject *__pyx_kp_s_cell; + PyObject *__pyx_n_s_check_excs; + PyObject *__pyx_n_s_check_trace_obj; PyObject *__pyx_n_s_checkcache; PyObject *__pyx_n_s_children_variants; PyObject *__pyx_n_s_class_getitem; @@ -3266,6 +3298,7 @@ typedef struct { PyObject *__pyx_n_s_constant_to_str; PyObject *__pyx_n_s_constructed_tid_to_last_frame; PyObject *__pyx_n_s_container_obj; + PyObject *__pyx_n_s_curr_stat; PyObject *__pyx_n_s_current_frames; PyObject *__pyx_n_s_current_frames_2; PyObject *__pyx_n_s_custom_key; @@ -3282,16 +3315,22 @@ typedef struct { PyObject *__pyx_n_s_endswith; PyObject *__pyx_n_s_enter; PyObject *__pyx_n_s_event; + PyObject *__pyx_n_s_exc_break; + PyObject *__pyx_n_s_exc_break_caught; + PyObject *__pyx_n_s_exc_break_user; PyObject *__pyx_n_s_exc_info; + PyObject *__pyx_n_s_exc_lineno; PyObject *__pyx_n_s_except_line; PyObject *__pyx_n_s_exception; PyObject *__pyx_n_s_exception_break; + PyObject *__pyx_n_s_exception_breakpoint; PyObject *__pyx_n_s_exception_type; PyObject *__pyx_n_s_exclude_exception_by_filter; PyObject *__pyx_n_s_exec; PyObject *__pyx_n_s_execfile; PyObject *__pyx_n_s_exit; PyObject *__pyx_n_s_expression; + PyObject *__pyx_n_s_f; PyObject *__pyx_n_s_f_back; PyObject *__pyx_n_s_f_code; PyObject *__pyx_n_s_f_globals; @@ -3308,8 +3347,10 @@ typedef struct { PyObject *__pyx_n_s_force_only_unhandled_tracer; PyObject *__pyx_n_s_frame; PyObject *__pyx_n_s_frame_cache_key; + PyObject *__pyx_n_s_frame_id_to_frame; PyObject *__pyx_n_s_frame_skips_cache; PyObject *__pyx_n_s_frame_trace_dispatch; + PyObject *__pyx_n_s_from_user_input; PyObject *__pyx_n_s_func_name; PyObject *__pyx_n_s_function_breakpoint_name_to_brea; PyObject *__pyx_kp_u_gc; @@ -3331,6 +3372,7 @@ typedef struct { PyObject *__pyx_n_s_global_notify_skipped_step_in_l; PyObject *__pyx_n_s_handle_breakpoint_condition; PyObject *__pyx_n_s_handle_breakpoint_expression; + PyObject *__pyx_n_s_handle_exception; PyObject *__pyx_n_s_handle_user_exception; PyObject *__pyx_n_s_has_condition; PyObject *__pyx_n_s_has_plugin_exception_breaks; @@ -3344,6 +3386,7 @@ typedef struct { PyObject *__pyx_n_s_import; PyObject *__pyx_n_s_in_project_scope; PyObject *__pyx_n_s_info; + PyObject *__pyx_n_s_initial_trace_obj; PyObject *__pyx_n_s_initializing; PyObject *__pyx_kp_s_invalid; PyObject *__pyx_n_s_is_coroutine; @@ -3352,19 +3395,24 @@ typedef struct { PyObject *__pyx_n_s_is_line_in_try_block; PyObject *__pyx_n_s_is_logpoint; PyObject *__pyx_n_s_is_thread_alive; + PyObject *__pyx_n_s_is_user_uncaught; PyObject *__pyx_kp_u_isenabled; PyObject *__pyx_n_s_j; PyObject *__pyx_n_s_just_raised; PyObject *__pyx_n_s_kwargs; PyObject *__pyx_kp_s_lambda; + PyObject *__pyx_n_s_last_stat; PyObject *__pyx_n_s_line; PyObject *__pyx_n_s_linecache; + PyObject *__pyx_n_s_lines; + PyObject *__pyx_n_s_lines_ignored; PyObject *__pyx_n_s_linesep; PyObject *__pyx_n_s_main; PyObject *__pyx_n_s_main_2; PyObject *__pyx_n_s_make_console_message; PyObject *__pyx_n_s_make_io_message; PyObject *__pyx_n_s_match; + PyObject *__pyx_n_s_merged; PyObject *__pyx_n_s_method_object; PyObject *__pyx_kp_s_module; PyObject *__pyx_n_s_name; @@ -3381,6 +3429,7 @@ typedef struct { PyObject *__pyx_n_s_pickle; PyObject *__pyx_n_s_plugin; PyObject *__pyx_n_s_pop; + PyObject *__pyx_n_s_prev_exc_info; PyObject *__pyx_n_s_py_db; PyObject *__pyx_kp_s_pyc; PyObject *__pyx_n_s_pydb_disposed; @@ -3429,8 +3478,10 @@ typedef struct { PyObject *__pyx_n_s_reduce_ex; PyObject *__pyx_n_s_remove_exception_from_frame; PyObject *__pyx_n_s_remove_return_values_flag; + PyObject *__pyx_n_s_result; PyObject *__pyx_n_s_ret; PyObject *__pyx_n_s_return; + PyObject *__pyx_n_s_return_exc_info; PyObject *__pyx_n_s_return_line; PyObject *__pyx_n_s_returns; PyObject *__pyx_n_s_rfind; @@ -3447,6 +3498,7 @@ typedef struct { PyObject *__pyx_n_s_setstate; PyObject *__pyx_n_s_setstate_cython; PyObject *__pyx_n_s_should_stop; + PyObject *__pyx_n_s_should_stop_on_exception; PyObject *__pyx_n_s_should_trace_hook; PyObject *__pyx_n_s_show_return_values; PyObject *__pyx_n_s_skip_on_exceptions_thrown_in_sam; @@ -3458,6 +3510,7 @@ typedef struct { PyObject *__pyx_n_s_state; PyObject *__pyx_n_s_stop; PyObject *__pyx_n_s_stop_on_unhandled_exception; + PyObject *__pyx_n_s_stopped; PyObject *__pyx_kp_s_stringsource; PyObject *__pyx_n_s_suspend; PyObject *__pyx_n_s_suspend_other_threads; @@ -3484,14 +3537,17 @@ typedef struct { PyObject *__pyx_n_s_trace_dispatch; PyObject *__pyx_n_s_trace_dispatch_and_unhandled_exc; PyObject *__pyx_n_s_trace_exception; + PyObject *__pyx_n_s_trace_obj; PyObject *__pyx_n_s_trace_unhandled_exceptions; PyObject *__pyx_n_s_try_exc_info; PyObject *__pyx_n_s_try_except_infos; PyObject *__pyx_n_s_update; PyObject *__pyx_n_s_use_setstate; PyObject *__pyx_kp_s_utf_8; + PyObject *__pyx_n_s_value; PyObject *__pyx_n_s_values; PyObject *__pyx_n_s_version; + PyObject *__pyx_n_s_was_just_raised; PyObject *__pyx_n_s_writer; PyObject *__pyx_int_0; PyObject *__pyx_int_1; @@ -3547,11 +3603,13 @@ typedef struct { PyObject *__pyx_tuple__43; PyObject *__pyx_tuple__47; PyObject *__pyx_tuple__49; + PyObject *__pyx_tuple__51; PyObject *__pyx_tuple__53; - PyObject *__pyx_tuple__55; PyObject *__pyx_tuple__57; - PyObject *__pyx_tuple__62; - PyObject *__pyx_tuple__71; + PyObject *__pyx_tuple__59; + PyObject *__pyx_tuple__61; + PyObject *__pyx_tuple__66; + PyObject *__pyx_tuple__75; PyObject *__pyx_codeobj__20; PyObject *__pyx_codeobj__22; PyObject *__pyx_codeobj__24; @@ -3568,29 +3626,31 @@ typedef struct { PyObject *__pyx_codeobj__46; PyObject *__pyx_codeobj__48; PyObject *__pyx_codeobj__50; - PyObject *__pyx_codeobj__51; PyObject *__pyx_codeobj__52; PyObject *__pyx_codeobj__54; + PyObject *__pyx_codeobj__55; PyObject *__pyx_codeobj__56; PyObject *__pyx_codeobj__58; - PyObject *__pyx_codeobj__59; PyObject *__pyx_codeobj__60; - PyObject *__pyx_codeobj__61; + PyObject *__pyx_codeobj__62; PyObject *__pyx_codeobj__63; PyObject *__pyx_codeobj__64; PyObject *__pyx_codeobj__65; - PyObject *__pyx_codeobj__66; PyObject *__pyx_codeobj__67; PyObject *__pyx_codeobj__68; PyObject *__pyx_codeobj__69; PyObject *__pyx_codeobj__70; + PyObject *__pyx_codeobj__71; PyObject *__pyx_codeobj__72; PyObject *__pyx_codeobj__73; PyObject *__pyx_codeobj__74; - PyObject *__pyx_codeobj__75; PyObject *__pyx_codeobj__76; PyObject *__pyx_codeobj__77; PyObject *__pyx_codeobj__78; + PyObject *__pyx_codeobj__79; + PyObject *__pyx_codeobj__80; + PyObject *__pyx_codeobj__81; + PyObject *__pyx_codeobj__82; } __pyx_mstate; #if CYTHON_USE_MODULE_STATE @@ -3734,6 +3794,8 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_kp_s__8); Py_CLEAR(clear_module_state->__pyx_kp_s__9); Py_CLEAR(clear_module_state->__pyx_kp_u__9); + Py_CLEAR(clear_module_state->__pyx_n_s_abs_real_path_and_base); + Py_CLEAR(clear_module_state->__pyx_n_s_absolute_filename); Py_CLEAR(clear_module_state->__pyx_n_s_add); Py_CLEAR(clear_module_state->__pyx_n_s_add_command); Py_CLEAR(clear_module_state->__pyx_n_s_add_exception_to_frame); @@ -3756,7 +3818,10 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_call); Py_CLEAR(clear_module_state->__pyx_n_s_call_2); Py_CLEAR(clear_module_state->__pyx_n_s_can_skip); + Py_CLEAR(clear_module_state->__pyx_n_s_canonical_normalized_filename); Py_CLEAR(clear_module_state->__pyx_kp_s_cell); + Py_CLEAR(clear_module_state->__pyx_n_s_check_excs); + Py_CLEAR(clear_module_state->__pyx_n_s_check_trace_obj); Py_CLEAR(clear_module_state->__pyx_n_s_checkcache); Py_CLEAR(clear_module_state->__pyx_n_s_children_variants); Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); @@ -3775,6 +3840,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_constant_to_str); Py_CLEAR(clear_module_state->__pyx_n_s_constructed_tid_to_last_frame); Py_CLEAR(clear_module_state->__pyx_n_s_container_obj); + Py_CLEAR(clear_module_state->__pyx_n_s_curr_stat); Py_CLEAR(clear_module_state->__pyx_n_s_current_frames); Py_CLEAR(clear_module_state->__pyx_n_s_current_frames_2); Py_CLEAR(clear_module_state->__pyx_n_s_custom_key); @@ -3791,16 +3857,22 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_endswith); Py_CLEAR(clear_module_state->__pyx_n_s_enter); Py_CLEAR(clear_module_state->__pyx_n_s_event); + Py_CLEAR(clear_module_state->__pyx_n_s_exc_break); + Py_CLEAR(clear_module_state->__pyx_n_s_exc_break_caught); + Py_CLEAR(clear_module_state->__pyx_n_s_exc_break_user); Py_CLEAR(clear_module_state->__pyx_n_s_exc_info); + Py_CLEAR(clear_module_state->__pyx_n_s_exc_lineno); Py_CLEAR(clear_module_state->__pyx_n_s_except_line); Py_CLEAR(clear_module_state->__pyx_n_s_exception); Py_CLEAR(clear_module_state->__pyx_n_s_exception_break); + Py_CLEAR(clear_module_state->__pyx_n_s_exception_breakpoint); Py_CLEAR(clear_module_state->__pyx_n_s_exception_type); Py_CLEAR(clear_module_state->__pyx_n_s_exclude_exception_by_filter); Py_CLEAR(clear_module_state->__pyx_n_s_exec); Py_CLEAR(clear_module_state->__pyx_n_s_execfile); Py_CLEAR(clear_module_state->__pyx_n_s_exit); Py_CLEAR(clear_module_state->__pyx_n_s_expression); + Py_CLEAR(clear_module_state->__pyx_n_s_f); Py_CLEAR(clear_module_state->__pyx_n_s_f_back); Py_CLEAR(clear_module_state->__pyx_n_s_f_code); Py_CLEAR(clear_module_state->__pyx_n_s_f_globals); @@ -3817,8 +3889,10 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_force_only_unhandled_tracer); Py_CLEAR(clear_module_state->__pyx_n_s_frame); Py_CLEAR(clear_module_state->__pyx_n_s_frame_cache_key); + Py_CLEAR(clear_module_state->__pyx_n_s_frame_id_to_frame); Py_CLEAR(clear_module_state->__pyx_n_s_frame_skips_cache); Py_CLEAR(clear_module_state->__pyx_n_s_frame_trace_dispatch); + Py_CLEAR(clear_module_state->__pyx_n_s_from_user_input); Py_CLEAR(clear_module_state->__pyx_n_s_func_name); Py_CLEAR(clear_module_state->__pyx_n_s_function_breakpoint_name_to_brea); Py_CLEAR(clear_module_state->__pyx_kp_u_gc); @@ -3840,6 +3914,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_global_notify_skipped_step_in_l); Py_CLEAR(clear_module_state->__pyx_n_s_handle_breakpoint_condition); Py_CLEAR(clear_module_state->__pyx_n_s_handle_breakpoint_expression); + Py_CLEAR(clear_module_state->__pyx_n_s_handle_exception); Py_CLEAR(clear_module_state->__pyx_n_s_handle_user_exception); Py_CLEAR(clear_module_state->__pyx_n_s_has_condition); Py_CLEAR(clear_module_state->__pyx_n_s_has_plugin_exception_breaks); @@ -3853,6 +3928,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_import); Py_CLEAR(clear_module_state->__pyx_n_s_in_project_scope); Py_CLEAR(clear_module_state->__pyx_n_s_info); + Py_CLEAR(clear_module_state->__pyx_n_s_initial_trace_obj); Py_CLEAR(clear_module_state->__pyx_n_s_initializing); Py_CLEAR(clear_module_state->__pyx_kp_s_invalid); Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); @@ -3861,19 +3937,24 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_is_line_in_try_block); Py_CLEAR(clear_module_state->__pyx_n_s_is_logpoint); Py_CLEAR(clear_module_state->__pyx_n_s_is_thread_alive); + Py_CLEAR(clear_module_state->__pyx_n_s_is_user_uncaught); Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); Py_CLEAR(clear_module_state->__pyx_n_s_j); Py_CLEAR(clear_module_state->__pyx_n_s_just_raised); Py_CLEAR(clear_module_state->__pyx_n_s_kwargs); Py_CLEAR(clear_module_state->__pyx_kp_s_lambda); + Py_CLEAR(clear_module_state->__pyx_n_s_last_stat); Py_CLEAR(clear_module_state->__pyx_n_s_line); Py_CLEAR(clear_module_state->__pyx_n_s_linecache); + Py_CLEAR(clear_module_state->__pyx_n_s_lines); + Py_CLEAR(clear_module_state->__pyx_n_s_lines_ignored); Py_CLEAR(clear_module_state->__pyx_n_s_linesep); Py_CLEAR(clear_module_state->__pyx_n_s_main); Py_CLEAR(clear_module_state->__pyx_n_s_main_2); Py_CLEAR(clear_module_state->__pyx_n_s_make_console_message); Py_CLEAR(clear_module_state->__pyx_n_s_make_io_message); Py_CLEAR(clear_module_state->__pyx_n_s_match); + Py_CLEAR(clear_module_state->__pyx_n_s_merged); Py_CLEAR(clear_module_state->__pyx_n_s_method_object); Py_CLEAR(clear_module_state->__pyx_kp_s_module); Py_CLEAR(clear_module_state->__pyx_n_s_name); @@ -3890,6 +3971,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_pickle); Py_CLEAR(clear_module_state->__pyx_n_s_plugin); Py_CLEAR(clear_module_state->__pyx_n_s_pop); + Py_CLEAR(clear_module_state->__pyx_n_s_prev_exc_info); Py_CLEAR(clear_module_state->__pyx_n_s_py_db); Py_CLEAR(clear_module_state->__pyx_kp_s_pyc); Py_CLEAR(clear_module_state->__pyx_n_s_pydb_disposed); @@ -3938,8 +4020,10 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_reduce_ex); Py_CLEAR(clear_module_state->__pyx_n_s_remove_exception_from_frame); Py_CLEAR(clear_module_state->__pyx_n_s_remove_return_values_flag); + Py_CLEAR(clear_module_state->__pyx_n_s_result); Py_CLEAR(clear_module_state->__pyx_n_s_ret); Py_CLEAR(clear_module_state->__pyx_n_s_return); + Py_CLEAR(clear_module_state->__pyx_n_s_return_exc_info); Py_CLEAR(clear_module_state->__pyx_n_s_return_line); Py_CLEAR(clear_module_state->__pyx_n_s_returns); Py_CLEAR(clear_module_state->__pyx_n_s_rfind); @@ -3956,6 +4040,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_setstate); Py_CLEAR(clear_module_state->__pyx_n_s_setstate_cython); Py_CLEAR(clear_module_state->__pyx_n_s_should_stop); + Py_CLEAR(clear_module_state->__pyx_n_s_should_stop_on_exception); Py_CLEAR(clear_module_state->__pyx_n_s_should_trace_hook); Py_CLEAR(clear_module_state->__pyx_n_s_show_return_values); Py_CLEAR(clear_module_state->__pyx_n_s_skip_on_exceptions_thrown_in_sam); @@ -3967,6 +4052,7 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_state); Py_CLEAR(clear_module_state->__pyx_n_s_stop); Py_CLEAR(clear_module_state->__pyx_n_s_stop_on_unhandled_exception); + Py_CLEAR(clear_module_state->__pyx_n_s_stopped); Py_CLEAR(clear_module_state->__pyx_kp_s_stringsource); Py_CLEAR(clear_module_state->__pyx_n_s_suspend); Py_CLEAR(clear_module_state->__pyx_n_s_suspend_other_threads); @@ -3993,14 +4079,17 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_n_s_trace_dispatch); Py_CLEAR(clear_module_state->__pyx_n_s_trace_dispatch_and_unhandled_exc); Py_CLEAR(clear_module_state->__pyx_n_s_trace_exception); + Py_CLEAR(clear_module_state->__pyx_n_s_trace_obj); Py_CLEAR(clear_module_state->__pyx_n_s_trace_unhandled_exceptions); Py_CLEAR(clear_module_state->__pyx_n_s_try_exc_info); Py_CLEAR(clear_module_state->__pyx_n_s_try_except_infos); Py_CLEAR(clear_module_state->__pyx_n_s_update); Py_CLEAR(clear_module_state->__pyx_n_s_use_setstate); Py_CLEAR(clear_module_state->__pyx_kp_s_utf_8); + Py_CLEAR(clear_module_state->__pyx_n_s_value); Py_CLEAR(clear_module_state->__pyx_n_s_values); Py_CLEAR(clear_module_state->__pyx_n_s_version); + Py_CLEAR(clear_module_state->__pyx_n_s_was_just_raised); Py_CLEAR(clear_module_state->__pyx_n_s_writer); Py_CLEAR(clear_module_state->__pyx_int_0); Py_CLEAR(clear_module_state->__pyx_int_1); @@ -4056,11 +4145,13 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_tuple__43); Py_CLEAR(clear_module_state->__pyx_tuple__47); Py_CLEAR(clear_module_state->__pyx_tuple__49); + Py_CLEAR(clear_module_state->__pyx_tuple__51); Py_CLEAR(clear_module_state->__pyx_tuple__53); - Py_CLEAR(clear_module_state->__pyx_tuple__55); Py_CLEAR(clear_module_state->__pyx_tuple__57); - Py_CLEAR(clear_module_state->__pyx_tuple__62); - Py_CLEAR(clear_module_state->__pyx_tuple__71); + Py_CLEAR(clear_module_state->__pyx_tuple__59); + Py_CLEAR(clear_module_state->__pyx_tuple__61); + Py_CLEAR(clear_module_state->__pyx_tuple__66); + Py_CLEAR(clear_module_state->__pyx_tuple__75); Py_CLEAR(clear_module_state->__pyx_codeobj__20); Py_CLEAR(clear_module_state->__pyx_codeobj__22); Py_CLEAR(clear_module_state->__pyx_codeobj__24); @@ -4077,29 +4168,31 @@ static int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_codeobj__46); Py_CLEAR(clear_module_state->__pyx_codeobj__48); Py_CLEAR(clear_module_state->__pyx_codeobj__50); - Py_CLEAR(clear_module_state->__pyx_codeobj__51); Py_CLEAR(clear_module_state->__pyx_codeobj__52); Py_CLEAR(clear_module_state->__pyx_codeobj__54); + Py_CLEAR(clear_module_state->__pyx_codeobj__55); Py_CLEAR(clear_module_state->__pyx_codeobj__56); Py_CLEAR(clear_module_state->__pyx_codeobj__58); - Py_CLEAR(clear_module_state->__pyx_codeobj__59); Py_CLEAR(clear_module_state->__pyx_codeobj__60); - Py_CLEAR(clear_module_state->__pyx_codeobj__61); + Py_CLEAR(clear_module_state->__pyx_codeobj__62); Py_CLEAR(clear_module_state->__pyx_codeobj__63); Py_CLEAR(clear_module_state->__pyx_codeobj__64); Py_CLEAR(clear_module_state->__pyx_codeobj__65); - Py_CLEAR(clear_module_state->__pyx_codeobj__66); Py_CLEAR(clear_module_state->__pyx_codeobj__67); Py_CLEAR(clear_module_state->__pyx_codeobj__68); Py_CLEAR(clear_module_state->__pyx_codeobj__69); Py_CLEAR(clear_module_state->__pyx_codeobj__70); + Py_CLEAR(clear_module_state->__pyx_codeobj__71); Py_CLEAR(clear_module_state->__pyx_codeobj__72); Py_CLEAR(clear_module_state->__pyx_codeobj__73); Py_CLEAR(clear_module_state->__pyx_codeobj__74); - Py_CLEAR(clear_module_state->__pyx_codeobj__75); Py_CLEAR(clear_module_state->__pyx_codeobj__76); Py_CLEAR(clear_module_state->__pyx_codeobj__77); Py_CLEAR(clear_module_state->__pyx_codeobj__78); + Py_CLEAR(clear_module_state->__pyx_codeobj__79); + Py_CLEAR(clear_module_state->__pyx_codeobj__80); + Py_CLEAR(clear_module_state->__pyx_codeobj__81); + Py_CLEAR(clear_module_state->__pyx_codeobj__82); return 0; } #endif @@ -4221,6 +4314,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_kp_s__8); Py_VISIT(traverse_module_state->__pyx_kp_s__9); Py_VISIT(traverse_module_state->__pyx_kp_u__9); + Py_VISIT(traverse_module_state->__pyx_n_s_abs_real_path_and_base); + Py_VISIT(traverse_module_state->__pyx_n_s_absolute_filename); Py_VISIT(traverse_module_state->__pyx_n_s_add); Py_VISIT(traverse_module_state->__pyx_n_s_add_command); Py_VISIT(traverse_module_state->__pyx_n_s_add_exception_to_frame); @@ -4243,7 +4338,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_call); Py_VISIT(traverse_module_state->__pyx_n_s_call_2); Py_VISIT(traverse_module_state->__pyx_n_s_can_skip); + Py_VISIT(traverse_module_state->__pyx_n_s_canonical_normalized_filename); Py_VISIT(traverse_module_state->__pyx_kp_s_cell); + Py_VISIT(traverse_module_state->__pyx_n_s_check_excs); + Py_VISIT(traverse_module_state->__pyx_n_s_check_trace_obj); Py_VISIT(traverse_module_state->__pyx_n_s_checkcache); Py_VISIT(traverse_module_state->__pyx_n_s_children_variants); Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); @@ -4262,6 +4360,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_constant_to_str); Py_VISIT(traverse_module_state->__pyx_n_s_constructed_tid_to_last_frame); Py_VISIT(traverse_module_state->__pyx_n_s_container_obj); + Py_VISIT(traverse_module_state->__pyx_n_s_curr_stat); Py_VISIT(traverse_module_state->__pyx_n_s_current_frames); Py_VISIT(traverse_module_state->__pyx_n_s_current_frames_2); Py_VISIT(traverse_module_state->__pyx_n_s_custom_key); @@ -4278,16 +4377,22 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_endswith); Py_VISIT(traverse_module_state->__pyx_n_s_enter); Py_VISIT(traverse_module_state->__pyx_n_s_event); + Py_VISIT(traverse_module_state->__pyx_n_s_exc_break); + Py_VISIT(traverse_module_state->__pyx_n_s_exc_break_caught); + Py_VISIT(traverse_module_state->__pyx_n_s_exc_break_user); Py_VISIT(traverse_module_state->__pyx_n_s_exc_info); + Py_VISIT(traverse_module_state->__pyx_n_s_exc_lineno); Py_VISIT(traverse_module_state->__pyx_n_s_except_line); Py_VISIT(traverse_module_state->__pyx_n_s_exception); Py_VISIT(traverse_module_state->__pyx_n_s_exception_break); + Py_VISIT(traverse_module_state->__pyx_n_s_exception_breakpoint); Py_VISIT(traverse_module_state->__pyx_n_s_exception_type); Py_VISIT(traverse_module_state->__pyx_n_s_exclude_exception_by_filter); Py_VISIT(traverse_module_state->__pyx_n_s_exec); Py_VISIT(traverse_module_state->__pyx_n_s_execfile); Py_VISIT(traverse_module_state->__pyx_n_s_exit); Py_VISIT(traverse_module_state->__pyx_n_s_expression); + Py_VISIT(traverse_module_state->__pyx_n_s_f); Py_VISIT(traverse_module_state->__pyx_n_s_f_back); Py_VISIT(traverse_module_state->__pyx_n_s_f_code); Py_VISIT(traverse_module_state->__pyx_n_s_f_globals); @@ -4304,8 +4409,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_force_only_unhandled_tracer); Py_VISIT(traverse_module_state->__pyx_n_s_frame); Py_VISIT(traverse_module_state->__pyx_n_s_frame_cache_key); + Py_VISIT(traverse_module_state->__pyx_n_s_frame_id_to_frame); Py_VISIT(traverse_module_state->__pyx_n_s_frame_skips_cache); Py_VISIT(traverse_module_state->__pyx_n_s_frame_trace_dispatch); + Py_VISIT(traverse_module_state->__pyx_n_s_from_user_input); Py_VISIT(traverse_module_state->__pyx_n_s_func_name); Py_VISIT(traverse_module_state->__pyx_n_s_function_breakpoint_name_to_brea); Py_VISIT(traverse_module_state->__pyx_kp_u_gc); @@ -4327,6 +4434,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_global_notify_skipped_step_in_l); Py_VISIT(traverse_module_state->__pyx_n_s_handle_breakpoint_condition); Py_VISIT(traverse_module_state->__pyx_n_s_handle_breakpoint_expression); + Py_VISIT(traverse_module_state->__pyx_n_s_handle_exception); Py_VISIT(traverse_module_state->__pyx_n_s_handle_user_exception); Py_VISIT(traverse_module_state->__pyx_n_s_has_condition); Py_VISIT(traverse_module_state->__pyx_n_s_has_plugin_exception_breaks); @@ -4340,6 +4448,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_import); Py_VISIT(traverse_module_state->__pyx_n_s_in_project_scope); Py_VISIT(traverse_module_state->__pyx_n_s_info); + Py_VISIT(traverse_module_state->__pyx_n_s_initial_trace_obj); Py_VISIT(traverse_module_state->__pyx_n_s_initializing); Py_VISIT(traverse_module_state->__pyx_kp_s_invalid); Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); @@ -4348,19 +4457,24 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_is_line_in_try_block); Py_VISIT(traverse_module_state->__pyx_n_s_is_logpoint); Py_VISIT(traverse_module_state->__pyx_n_s_is_thread_alive); + Py_VISIT(traverse_module_state->__pyx_n_s_is_user_uncaught); Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); Py_VISIT(traverse_module_state->__pyx_n_s_j); Py_VISIT(traverse_module_state->__pyx_n_s_just_raised); Py_VISIT(traverse_module_state->__pyx_n_s_kwargs); Py_VISIT(traverse_module_state->__pyx_kp_s_lambda); + Py_VISIT(traverse_module_state->__pyx_n_s_last_stat); Py_VISIT(traverse_module_state->__pyx_n_s_line); Py_VISIT(traverse_module_state->__pyx_n_s_linecache); + Py_VISIT(traverse_module_state->__pyx_n_s_lines); + Py_VISIT(traverse_module_state->__pyx_n_s_lines_ignored); Py_VISIT(traverse_module_state->__pyx_n_s_linesep); Py_VISIT(traverse_module_state->__pyx_n_s_main); Py_VISIT(traverse_module_state->__pyx_n_s_main_2); Py_VISIT(traverse_module_state->__pyx_n_s_make_console_message); Py_VISIT(traverse_module_state->__pyx_n_s_make_io_message); Py_VISIT(traverse_module_state->__pyx_n_s_match); + Py_VISIT(traverse_module_state->__pyx_n_s_merged); Py_VISIT(traverse_module_state->__pyx_n_s_method_object); Py_VISIT(traverse_module_state->__pyx_kp_s_module); Py_VISIT(traverse_module_state->__pyx_n_s_name); @@ -4377,6 +4491,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_pickle); Py_VISIT(traverse_module_state->__pyx_n_s_plugin); Py_VISIT(traverse_module_state->__pyx_n_s_pop); + Py_VISIT(traverse_module_state->__pyx_n_s_prev_exc_info); Py_VISIT(traverse_module_state->__pyx_n_s_py_db); Py_VISIT(traverse_module_state->__pyx_kp_s_pyc); Py_VISIT(traverse_module_state->__pyx_n_s_pydb_disposed); @@ -4425,8 +4540,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_reduce_ex); Py_VISIT(traverse_module_state->__pyx_n_s_remove_exception_from_frame); Py_VISIT(traverse_module_state->__pyx_n_s_remove_return_values_flag); + Py_VISIT(traverse_module_state->__pyx_n_s_result); Py_VISIT(traverse_module_state->__pyx_n_s_ret); Py_VISIT(traverse_module_state->__pyx_n_s_return); + Py_VISIT(traverse_module_state->__pyx_n_s_return_exc_info); Py_VISIT(traverse_module_state->__pyx_n_s_return_line); Py_VISIT(traverse_module_state->__pyx_n_s_returns); Py_VISIT(traverse_module_state->__pyx_n_s_rfind); @@ -4443,6 +4560,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_setstate); Py_VISIT(traverse_module_state->__pyx_n_s_setstate_cython); Py_VISIT(traverse_module_state->__pyx_n_s_should_stop); + Py_VISIT(traverse_module_state->__pyx_n_s_should_stop_on_exception); Py_VISIT(traverse_module_state->__pyx_n_s_should_trace_hook); Py_VISIT(traverse_module_state->__pyx_n_s_show_return_values); Py_VISIT(traverse_module_state->__pyx_n_s_skip_on_exceptions_thrown_in_sam); @@ -4454,6 +4572,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_state); Py_VISIT(traverse_module_state->__pyx_n_s_stop); Py_VISIT(traverse_module_state->__pyx_n_s_stop_on_unhandled_exception); + Py_VISIT(traverse_module_state->__pyx_n_s_stopped); Py_VISIT(traverse_module_state->__pyx_kp_s_stringsource); Py_VISIT(traverse_module_state->__pyx_n_s_suspend); Py_VISIT(traverse_module_state->__pyx_n_s_suspend_other_threads); @@ -4480,14 +4599,17 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_n_s_trace_dispatch); Py_VISIT(traverse_module_state->__pyx_n_s_trace_dispatch_and_unhandled_exc); Py_VISIT(traverse_module_state->__pyx_n_s_trace_exception); + Py_VISIT(traverse_module_state->__pyx_n_s_trace_obj); Py_VISIT(traverse_module_state->__pyx_n_s_trace_unhandled_exceptions); Py_VISIT(traverse_module_state->__pyx_n_s_try_exc_info); Py_VISIT(traverse_module_state->__pyx_n_s_try_except_infos); Py_VISIT(traverse_module_state->__pyx_n_s_update); Py_VISIT(traverse_module_state->__pyx_n_s_use_setstate); Py_VISIT(traverse_module_state->__pyx_kp_s_utf_8); + Py_VISIT(traverse_module_state->__pyx_n_s_value); Py_VISIT(traverse_module_state->__pyx_n_s_values); Py_VISIT(traverse_module_state->__pyx_n_s_version); + Py_VISIT(traverse_module_state->__pyx_n_s_was_just_raised); Py_VISIT(traverse_module_state->__pyx_n_s_writer); Py_VISIT(traverse_module_state->__pyx_int_0); Py_VISIT(traverse_module_state->__pyx_int_1); @@ -4543,11 +4665,13 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_tuple__43); Py_VISIT(traverse_module_state->__pyx_tuple__47); Py_VISIT(traverse_module_state->__pyx_tuple__49); + Py_VISIT(traverse_module_state->__pyx_tuple__51); Py_VISIT(traverse_module_state->__pyx_tuple__53); - Py_VISIT(traverse_module_state->__pyx_tuple__55); Py_VISIT(traverse_module_state->__pyx_tuple__57); - Py_VISIT(traverse_module_state->__pyx_tuple__62); - Py_VISIT(traverse_module_state->__pyx_tuple__71); + Py_VISIT(traverse_module_state->__pyx_tuple__59); + Py_VISIT(traverse_module_state->__pyx_tuple__61); + Py_VISIT(traverse_module_state->__pyx_tuple__66); + Py_VISIT(traverse_module_state->__pyx_tuple__75); Py_VISIT(traverse_module_state->__pyx_codeobj__20); Py_VISIT(traverse_module_state->__pyx_codeobj__22); Py_VISIT(traverse_module_state->__pyx_codeobj__24); @@ -4564,29 +4688,31 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(traverse_module_state->__pyx_codeobj__46); Py_VISIT(traverse_module_state->__pyx_codeobj__48); Py_VISIT(traverse_module_state->__pyx_codeobj__50); - Py_VISIT(traverse_module_state->__pyx_codeobj__51); Py_VISIT(traverse_module_state->__pyx_codeobj__52); Py_VISIT(traverse_module_state->__pyx_codeobj__54); + Py_VISIT(traverse_module_state->__pyx_codeobj__55); Py_VISIT(traverse_module_state->__pyx_codeobj__56); Py_VISIT(traverse_module_state->__pyx_codeobj__58); - Py_VISIT(traverse_module_state->__pyx_codeobj__59); Py_VISIT(traverse_module_state->__pyx_codeobj__60); - Py_VISIT(traverse_module_state->__pyx_codeobj__61); + Py_VISIT(traverse_module_state->__pyx_codeobj__62); Py_VISIT(traverse_module_state->__pyx_codeobj__63); Py_VISIT(traverse_module_state->__pyx_codeobj__64); Py_VISIT(traverse_module_state->__pyx_codeobj__65); - Py_VISIT(traverse_module_state->__pyx_codeobj__66); Py_VISIT(traverse_module_state->__pyx_codeobj__67); Py_VISIT(traverse_module_state->__pyx_codeobj__68); Py_VISIT(traverse_module_state->__pyx_codeobj__69); Py_VISIT(traverse_module_state->__pyx_codeobj__70); + Py_VISIT(traverse_module_state->__pyx_codeobj__71); Py_VISIT(traverse_module_state->__pyx_codeobj__72); Py_VISIT(traverse_module_state->__pyx_codeobj__73); Py_VISIT(traverse_module_state->__pyx_codeobj__74); - Py_VISIT(traverse_module_state->__pyx_codeobj__75); Py_VISIT(traverse_module_state->__pyx_codeobj__76); Py_VISIT(traverse_module_state->__pyx_codeobj__77); Py_VISIT(traverse_module_state->__pyx_codeobj__78); + Py_VISIT(traverse_module_state->__pyx_codeobj__79); + Py_VISIT(traverse_module_state->__pyx_codeobj__80); + Py_VISIT(traverse_module_state->__pyx_codeobj__81); + Py_VISIT(traverse_module_state->__pyx_codeobj__82); return 0; } #endif @@ -4732,6 +4858,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_kp_s__8 __pyx_mstate_global->__pyx_kp_s__8 #define __pyx_kp_s__9 __pyx_mstate_global->__pyx_kp_s__9 #define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9 +#define __pyx_n_s_abs_real_path_and_base __pyx_mstate_global->__pyx_n_s_abs_real_path_and_base +#define __pyx_n_s_absolute_filename __pyx_mstate_global->__pyx_n_s_absolute_filename #define __pyx_n_s_add __pyx_mstate_global->__pyx_n_s_add #define __pyx_n_s_add_command __pyx_mstate_global->__pyx_n_s_add_command #define __pyx_n_s_add_exception_to_frame __pyx_mstate_global->__pyx_n_s_add_exception_to_frame @@ -4754,7 +4882,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_call __pyx_mstate_global->__pyx_n_s_call #define __pyx_n_s_call_2 __pyx_mstate_global->__pyx_n_s_call_2 #define __pyx_n_s_can_skip __pyx_mstate_global->__pyx_n_s_can_skip +#define __pyx_n_s_canonical_normalized_filename __pyx_mstate_global->__pyx_n_s_canonical_normalized_filename #define __pyx_kp_s_cell __pyx_mstate_global->__pyx_kp_s_cell +#define __pyx_n_s_check_excs __pyx_mstate_global->__pyx_n_s_check_excs +#define __pyx_n_s_check_trace_obj __pyx_mstate_global->__pyx_n_s_check_trace_obj #define __pyx_n_s_checkcache __pyx_mstate_global->__pyx_n_s_checkcache #define __pyx_n_s_children_variants __pyx_mstate_global->__pyx_n_s_children_variants #define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem @@ -4773,6 +4904,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_constant_to_str __pyx_mstate_global->__pyx_n_s_constant_to_str #define __pyx_n_s_constructed_tid_to_last_frame __pyx_mstate_global->__pyx_n_s_constructed_tid_to_last_frame #define __pyx_n_s_container_obj __pyx_mstate_global->__pyx_n_s_container_obj +#define __pyx_n_s_curr_stat __pyx_mstate_global->__pyx_n_s_curr_stat #define __pyx_n_s_current_frames __pyx_mstate_global->__pyx_n_s_current_frames #define __pyx_n_s_current_frames_2 __pyx_mstate_global->__pyx_n_s_current_frames_2 #define __pyx_n_s_custom_key __pyx_mstate_global->__pyx_n_s_custom_key @@ -4789,16 +4921,22 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_endswith __pyx_mstate_global->__pyx_n_s_endswith #define __pyx_n_s_enter __pyx_mstate_global->__pyx_n_s_enter #define __pyx_n_s_event __pyx_mstate_global->__pyx_n_s_event +#define __pyx_n_s_exc_break __pyx_mstate_global->__pyx_n_s_exc_break +#define __pyx_n_s_exc_break_caught __pyx_mstate_global->__pyx_n_s_exc_break_caught +#define __pyx_n_s_exc_break_user __pyx_mstate_global->__pyx_n_s_exc_break_user #define __pyx_n_s_exc_info __pyx_mstate_global->__pyx_n_s_exc_info +#define __pyx_n_s_exc_lineno __pyx_mstate_global->__pyx_n_s_exc_lineno #define __pyx_n_s_except_line __pyx_mstate_global->__pyx_n_s_except_line #define __pyx_n_s_exception __pyx_mstate_global->__pyx_n_s_exception #define __pyx_n_s_exception_break __pyx_mstate_global->__pyx_n_s_exception_break +#define __pyx_n_s_exception_breakpoint __pyx_mstate_global->__pyx_n_s_exception_breakpoint #define __pyx_n_s_exception_type __pyx_mstate_global->__pyx_n_s_exception_type #define __pyx_n_s_exclude_exception_by_filter __pyx_mstate_global->__pyx_n_s_exclude_exception_by_filter #define __pyx_n_s_exec __pyx_mstate_global->__pyx_n_s_exec #define __pyx_n_s_execfile __pyx_mstate_global->__pyx_n_s_execfile #define __pyx_n_s_exit __pyx_mstate_global->__pyx_n_s_exit #define __pyx_n_s_expression __pyx_mstate_global->__pyx_n_s_expression +#define __pyx_n_s_f __pyx_mstate_global->__pyx_n_s_f #define __pyx_n_s_f_back __pyx_mstate_global->__pyx_n_s_f_back #define __pyx_n_s_f_code __pyx_mstate_global->__pyx_n_s_f_code #define __pyx_n_s_f_globals __pyx_mstate_global->__pyx_n_s_f_globals @@ -4815,8 +4953,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_force_only_unhandled_tracer __pyx_mstate_global->__pyx_n_s_force_only_unhandled_tracer #define __pyx_n_s_frame __pyx_mstate_global->__pyx_n_s_frame #define __pyx_n_s_frame_cache_key __pyx_mstate_global->__pyx_n_s_frame_cache_key +#define __pyx_n_s_frame_id_to_frame __pyx_mstate_global->__pyx_n_s_frame_id_to_frame #define __pyx_n_s_frame_skips_cache __pyx_mstate_global->__pyx_n_s_frame_skips_cache #define __pyx_n_s_frame_trace_dispatch __pyx_mstate_global->__pyx_n_s_frame_trace_dispatch +#define __pyx_n_s_from_user_input __pyx_mstate_global->__pyx_n_s_from_user_input #define __pyx_n_s_func_name __pyx_mstate_global->__pyx_n_s_func_name #define __pyx_n_s_function_breakpoint_name_to_brea __pyx_mstate_global->__pyx_n_s_function_breakpoint_name_to_brea #define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc @@ -4838,6 +4978,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_global_notify_skipped_step_in_l __pyx_mstate_global->__pyx_n_s_global_notify_skipped_step_in_l #define __pyx_n_s_handle_breakpoint_condition __pyx_mstate_global->__pyx_n_s_handle_breakpoint_condition #define __pyx_n_s_handle_breakpoint_expression __pyx_mstate_global->__pyx_n_s_handle_breakpoint_expression +#define __pyx_n_s_handle_exception __pyx_mstate_global->__pyx_n_s_handle_exception #define __pyx_n_s_handle_user_exception __pyx_mstate_global->__pyx_n_s_handle_user_exception #define __pyx_n_s_has_condition __pyx_mstate_global->__pyx_n_s_has_condition #define __pyx_n_s_has_plugin_exception_breaks __pyx_mstate_global->__pyx_n_s_has_plugin_exception_breaks @@ -4851,6 +4992,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import #define __pyx_n_s_in_project_scope __pyx_mstate_global->__pyx_n_s_in_project_scope #define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info +#define __pyx_n_s_initial_trace_obj __pyx_mstate_global->__pyx_n_s_initial_trace_obj #define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing #define __pyx_kp_s_invalid __pyx_mstate_global->__pyx_kp_s_invalid #define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine @@ -4859,19 +5001,24 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_is_line_in_try_block __pyx_mstate_global->__pyx_n_s_is_line_in_try_block #define __pyx_n_s_is_logpoint __pyx_mstate_global->__pyx_n_s_is_logpoint #define __pyx_n_s_is_thread_alive __pyx_mstate_global->__pyx_n_s_is_thread_alive +#define __pyx_n_s_is_user_uncaught __pyx_mstate_global->__pyx_n_s_is_user_uncaught #define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled #define __pyx_n_s_j __pyx_mstate_global->__pyx_n_s_j #define __pyx_n_s_just_raised __pyx_mstate_global->__pyx_n_s_just_raised #define __pyx_n_s_kwargs __pyx_mstate_global->__pyx_n_s_kwargs #define __pyx_kp_s_lambda __pyx_mstate_global->__pyx_kp_s_lambda +#define __pyx_n_s_last_stat __pyx_mstate_global->__pyx_n_s_last_stat #define __pyx_n_s_line __pyx_mstate_global->__pyx_n_s_line #define __pyx_n_s_linecache __pyx_mstate_global->__pyx_n_s_linecache +#define __pyx_n_s_lines __pyx_mstate_global->__pyx_n_s_lines +#define __pyx_n_s_lines_ignored __pyx_mstate_global->__pyx_n_s_lines_ignored #define __pyx_n_s_linesep __pyx_mstate_global->__pyx_n_s_linesep #define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main #define __pyx_n_s_main_2 __pyx_mstate_global->__pyx_n_s_main_2 #define __pyx_n_s_make_console_message __pyx_mstate_global->__pyx_n_s_make_console_message #define __pyx_n_s_make_io_message __pyx_mstate_global->__pyx_n_s_make_io_message #define __pyx_n_s_match __pyx_mstate_global->__pyx_n_s_match +#define __pyx_n_s_merged __pyx_mstate_global->__pyx_n_s_merged #define __pyx_n_s_method_object __pyx_mstate_global->__pyx_n_s_method_object #define __pyx_kp_s_module __pyx_mstate_global->__pyx_kp_s_module #define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name @@ -4888,6 +5035,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_pickle __pyx_mstate_global->__pyx_n_s_pickle #define __pyx_n_s_plugin __pyx_mstate_global->__pyx_n_s_plugin #define __pyx_n_s_pop __pyx_mstate_global->__pyx_n_s_pop +#define __pyx_n_s_prev_exc_info __pyx_mstate_global->__pyx_n_s_prev_exc_info #define __pyx_n_s_py_db __pyx_mstate_global->__pyx_n_s_py_db #define __pyx_kp_s_pyc __pyx_mstate_global->__pyx_kp_s_pyc #define __pyx_n_s_pydb_disposed __pyx_mstate_global->__pyx_n_s_pydb_disposed @@ -4936,8 +5084,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_reduce_ex __pyx_mstate_global->__pyx_n_s_reduce_ex #define __pyx_n_s_remove_exception_from_frame __pyx_mstate_global->__pyx_n_s_remove_exception_from_frame #define __pyx_n_s_remove_return_values_flag __pyx_mstate_global->__pyx_n_s_remove_return_values_flag +#define __pyx_n_s_result __pyx_mstate_global->__pyx_n_s_result #define __pyx_n_s_ret __pyx_mstate_global->__pyx_n_s_ret #define __pyx_n_s_return __pyx_mstate_global->__pyx_n_s_return +#define __pyx_n_s_return_exc_info __pyx_mstate_global->__pyx_n_s_return_exc_info #define __pyx_n_s_return_line __pyx_mstate_global->__pyx_n_s_return_line #define __pyx_n_s_returns __pyx_mstate_global->__pyx_n_s_returns #define __pyx_n_s_rfind __pyx_mstate_global->__pyx_n_s_rfind @@ -4954,6 +5104,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_setstate __pyx_mstate_global->__pyx_n_s_setstate #define __pyx_n_s_setstate_cython __pyx_mstate_global->__pyx_n_s_setstate_cython #define __pyx_n_s_should_stop __pyx_mstate_global->__pyx_n_s_should_stop +#define __pyx_n_s_should_stop_on_exception __pyx_mstate_global->__pyx_n_s_should_stop_on_exception #define __pyx_n_s_should_trace_hook __pyx_mstate_global->__pyx_n_s_should_trace_hook #define __pyx_n_s_show_return_values __pyx_mstate_global->__pyx_n_s_show_return_values #define __pyx_n_s_skip_on_exceptions_thrown_in_sam __pyx_mstate_global->__pyx_n_s_skip_on_exceptions_thrown_in_sam @@ -4965,6 +5116,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state #define __pyx_n_s_stop __pyx_mstate_global->__pyx_n_s_stop #define __pyx_n_s_stop_on_unhandled_exception __pyx_mstate_global->__pyx_n_s_stop_on_unhandled_exception +#define __pyx_n_s_stopped __pyx_mstate_global->__pyx_n_s_stopped #define __pyx_kp_s_stringsource __pyx_mstate_global->__pyx_kp_s_stringsource #define __pyx_n_s_suspend __pyx_mstate_global->__pyx_n_s_suspend #define __pyx_n_s_suspend_other_threads __pyx_mstate_global->__pyx_n_s_suspend_other_threads @@ -4991,14 +5143,17 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_n_s_trace_dispatch __pyx_mstate_global->__pyx_n_s_trace_dispatch #define __pyx_n_s_trace_dispatch_and_unhandled_exc __pyx_mstate_global->__pyx_n_s_trace_dispatch_and_unhandled_exc #define __pyx_n_s_trace_exception __pyx_mstate_global->__pyx_n_s_trace_exception +#define __pyx_n_s_trace_obj __pyx_mstate_global->__pyx_n_s_trace_obj #define __pyx_n_s_trace_unhandled_exceptions __pyx_mstate_global->__pyx_n_s_trace_unhandled_exceptions #define __pyx_n_s_try_exc_info __pyx_mstate_global->__pyx_n_s_try_exc_info #define __pyx_n_s_try_except_infos __pyx_mstate_global->__pyx_n_s_try_except_infos #define __pyx_n_s_update __pyx_mstate_global->__pyx_n_s_update #define __pyx_n_s_use_setstate __pyx_mstate_global->__pyx_n_s_use_setstate #define __pyx_kp_s_utf_8 __pyx_mstate_global->__pyx_kp_s_utf_8 +#define __pyx_n_s_value __pyx_mstate_global->__pyx_n_s_value #define __pyx_n_s_values __pyx_mstate_global->__pyx_n_s_values #define __pyx_n_s_version __pyx_mstate_global->__pyx_n_s_version +#define __pyx_n_s_was_just_raised __pyx_mstate_global->__pyx_n_s_was_just_raised #define __pyx_n_s_writer __pyx_mstate_global->__pyx_n_s_writer #define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 #define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 @@ -5054,11 +5209,13 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_tuple__43 __pyx_mstate_global->__pyx_tuple__43 #define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47 #define __pyx_tuple__49 __pyx_mstate_global->__pyx_tuple__49 +#define __pyx_tuple__51 __pyx_mstate_global->__pyx_tuple__51 #define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53 -#define __pyx_tuple__55 __pyx_mstate_global->__pyx_tuple__55 #define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57 -#define __pyx_tuple__62 __pyx_mstate_global->__pyx_tuple__62 -#define __pyx_tuple__71 __pyx_mstate_global->__pyx_tuple__71 +#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59 +#define __pyx_tuple__61 __pyx_mstate_global->__pyx_tuple__61 +#define __pyx_tuple__66 __pyx_mstate_global->__pyx_tuple__66 +#define __pyx_tuple__75 __pyx_mstate_global->__pyx_tuple__75 #define __pyx_codeobj__20 __pyx_mstate_global->__pyx_codeobj__20 #define __pyx_codeobj__22 __pyx_mstate_global->__pyx_codeobj__22 #define __pyx_codeobj__24 __pyx_mstate_global->__pyx_codeobj__24 @@ -5075,29 +5232,31 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { #define __pyx_codeobj__46 __pyx_mstate_global->__pyx_codeobj__46 #define __pyx_codeobj__48 __pyx_mstate_global->__pyx_codeobj__48 #define __pyx_codeobj__50 __pyx_mstate_global->__pyx_codeobj__50 -#define __pyx_codeobj__51 __pyx_mstate_global->__pyx_codeobj__51 #define __pyx_codeobj__52 __pyx_mstate_global->__pyx_codeobj__52 #define __pyx_codeobj__54 __pyx_mstate_global->__pyx_codeobj__54 +#define __pyx_codeobj__55 __pyx_mstate_global->__pyx_codeobj__55 #define __pyx_codeobj__56 __pyx_mstate_global->__pyx_codeobj__56 #define __pyx_codeobj__58 __pyx_mstate_global->__pyx_codeobj__58 -#define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59 #define __pyx_codeobj__60 __pyx_mstate_global->__pyx_codeobj__60 -#define __pyx_codeobj__61 __pyx_mstate_global->__pyx_codeobj__61 +#define __pyx_codeobj__62 __pyx_mstate_global->__pyx_codeobj__62 #define __pyx_codeobj__63 __pyx_mstate_global->__pyx_codeobj__63 #define __pyx_codeobj__64 __pyx_mstate_global->__pyx_codeobj__64 #define __pyx_codeobj__65 __pyx_mstate_global->__pyx_codeobj__65 -#define __pyx_codeobj__66 __pyx_mstate_global->__pyx_codeobj__66 #define __pyx_codeobj__67 __pyx_mstate_global->__pyx_codeobj__67 #define __pyx_codeobj__68 __pyx_mstate_global->__pyx_codeobj__68 #define __pyx_codeobj__69 __pyx_mstate_global->__pyx_codeobj__69 #define __pyx_codeobj__70 __pyx_mstate_global->__pyx_codeobj__70 +#define __pyx_codeobj__71 __pyx_mstate_global->__pyx_codeobj__71 #define __pyx_codeobj__72 __pyx_mstate_global->__pyx_codeobj__72 #define __pyx_codeobj__73 __pyx_mstate_global->__pyx_codeobj__73 #define __pyx_codeobj__74 __pyx_mstate_global->__pyx_codeobj__74 -#define __pyx_codeobj__75 __pyx_mstate_global->__pyx_codeobj__75 #define __pyx_codeobj__76 __pyx_mstate_global->__pyx_codeobj__76 #define __pyx_codeobj__77 __pyx_mstate_global->__pyx_codeobj__77 #define __pyx_codeobj__78 __pyx_mstate_global->__pyx_codeobj__78 +#define __pyx_codeobj__79 __pyx_mstate_global->__pyx_codeobj__79 +#define __pyx_codeobj__80 __pyx_mstate_global->__pyx_codeobj__80 +#define __pyx_codeobj__81 __pyx_mstate_global->__pyx_codeobj__81 +#define __pyx_codeobj__82 __pyx_mstate_global->__pyx_codeobj__82 /* #### Code section: module_code ### */ /* "_pydevd_bundle/pydevd_cython.pyx":67 @@ -10652,7 +10811,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainer return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":295 +/* "_pydevd_bundle/pydevd_cython.pyx":288 * cdef int should_skip * cdef object exc_info * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -10696,12 +10855,12 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__(PyObje (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 295, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L3_error) else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 295, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 288, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; @@ -10712,7 +10871,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__(PyObje } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 295, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 288, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -10726,7 +10885,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__(PyObje __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 295, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 288, __pyx_L1_error) __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_args); /* function exit code */ @@ -10749,7 +10908,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":296 + /* "_pydevd_bundle/pydevd_cython.pyx":289 * cdef object exc_info * def __init__(self, tuple args): * self._args = args # In the cython version we don't need to pass the frame # <<<<<<<<<<<<<< @@ -10762,7 +10921,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct __Pyx_DECREF(__pyx_v_self->_args); __pyx_v_self->_args = __pyx_v_args; - /* "_pydevd_bundle/pydevd_cython.pyx":297 + /* "_pydevd_bundle/pydevd_cython.pyx":290 * def __init__(self, tuple args): * self._args = args # In the cython version we don't need to pass the frame * self.should_skip = -1 # On cythonized version, put in instance. # <<<<<<<<<<<<<< @@ -10771,7 +10930,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct */ __pyx_v_self->should_skip = -1; - /* "_pydevd_bundle/pydevd_cython.pyx":298 + /* "_pydevd_bundle/pydevd_cython.pyx":291 * self._args = args # In the cython version we don't need to pass the frame * self.should_skip = -1 # On cythonized version, put in instance. * self.exc_info = () # <<<<<<<<<<<<<< @@ -10784,7 +10943,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct __Pyx_DECREF(__pyx_v_self->exc_info); __pyx_v_self->exc_info = __pyx_empty_tuple; - /* "_pydevd_bundle/pydevd_cython.pyx":295 + /* "_pydevd_bundle/pydevd_cython.pyx":288 * cdef int should_skip * cdef object exc_info * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -10798,7 +10957,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":316 +/* "_pydevd_bundle/pydevd_cython.pyx":309 * # ENDIF * * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< @@ -10855,7 +11014,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_2set_suspe int __pyx_clineno = 0; __Pyx_RefNannySetupContext("set_suspend", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":317 + /* "_pydevd_bundle/pydevd_cython.pyx":310 * * def set_suspend(self, *args, **kwargs): * self._args[0].set_suspend(*args, **kwargs) # <<<<<<<<<<<<<< @@ -10864,22 +11023,22 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_2set_suspe */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 317, __pyx_L1_error) + __PYX_ERR(0, 310, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":316 + /* "_pydevd_bundle/pydevd_cython.pyx":309 * # ENDIF * * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< @@ -10902,7 +11061,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_2set_suspe return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":319 +/* "_pydevd_bundle/pydevd_cython.pyx":312 * self._args[0].set_suspend(*args, **kwargs) * * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< @@ -10959,7 +11118,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_4do_wait_s int __pyx_clineno = 0; __Pyx_RefNannySetupContext("do_wait_suspend", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":320 + /* "_pydevd_bundle/pydevd_cython.pyx":313 * * def do_wait_suspend(self, *args, **kwargs): * self._args[0].do_wait_suspend(*args, **kwargs) # <<<<<<<<<<<<<< @@ -10968,22 +11127,22 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_4do_wait_s */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 320, __pyx_L1_error) + __PYX_ERR(0, 313, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":319 + /* "_pydevd_bundle/pydevd_cython.pyx":312 * self._args[0].set_suspend(*args, **kwargs) * * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< @@ -11006,7 +11165,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_4do_wait_s return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":323 +/* "_pydevd_bundle/pydevd_cython.pyx":316 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< @@ -11073,7 +11232,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -11081,9 +11240,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 1); __PYX_ERR(0, 323, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 1); __PYX_ERR(0, 316, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -11091,14 +11250,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 2); __PYX_ERR(0, 323, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 2); __PYX_ERR(0, 316, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_exception") < 0)) __PYX_ERR(0, 323, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_exception") < 0)) __PYX_ERR(0, 316, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 3)) { goto __pyx_L5_argtuple_error; @@ -11113,7 +11272,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 323, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 316, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -11127,7 +11286,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 323, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 316, __pyx_L1_error) __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exception(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); /* function exit code */ @@ -11159,196 +11318,299 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; - PyObject *(*__pyx_t_6)(PyObject *); - int __pyx_t_7; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; int __pyx_t_8; + PyObject *(*__pyx_t_9)(PyObject *); + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("trace_exception", 0); __Pyx_INCREF(__pyx_v_frame); - /* "_pydevd_bundle/pydevd_cython.pyx":329 + /* "_pydevd_bundle/pydevd_cython.pyx":322 * # def trace_exception(self, frame, event, arg): * # ENDIF * if event == 'exception': # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info */ - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 329, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 322, __pyx_L1_error) if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":330 + /* "_pydevd_bundle/pydevd_cython.pyx":323 * # ENDIF * if event == 'exception': - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) # <<<<<<<<<<<<<< + * self.exc_info = exc_info * - * if should_stop: */ - __pyx_t_2 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_should_stop_on_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 323, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 323, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 323, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_8 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[7] = {__pyx_t_7, __pyx_t_4, __pyx_t_5, __pyx_v_frame, __pyx_t_6, __pyx_v_arg, __pyx_v_self->exc_info}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 6+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 330, __pyx_L1_error) + __PYX_ERR(0, 323, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); - __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + __pyx_t_5 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 330, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; - __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); - index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; + __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); + index = 0; __pyx_t_3 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); - index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 330, __pyx_L1_error) - __pyx_t_6 = NULL; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + index = 1; __pyx_t_6 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_6)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + index = 2; __pyx_t_5 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_4), 3) < 0) __PYX_ERR(0, 323, __pyx_L1_error) + __pyx_t_9 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L5_unpacking_done; __pyx_L4_unpacking_failed:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 330, __pyx_L1_error) + __PYX_ERR(0, 323, __pyx_L1_error) __pyx_L5_unpacking_done:; } - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(PyTuple_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_5))) __PYX_ERR(0, 323, __pyx_L1_error) __pyx_v_should_stop = __pyx_t_1; - __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_4); - __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_v_exc_info = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":332 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":324 + * if event == 'exception': + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info # <<<<<<<<<<<<<< + * + * if should_stop: + */ + __Pyx_INCREF(__pyx_v_exc_info); + __Pyx_GIVEREF(__pyx_v_exc_info); + __Pyx_GOTREF(__pyx_v_self->exc_info); + __Pyx_DECREF(__pyx_v_self->exc_info); + __pyx_v_self->exc_info = __pyx_v_exc_info; + + /* "_pydevd_bundle/pydevd_cython.pyx":326 + * self.exc_info = exc_info * * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): * return self.trace_dispatch */ if (__pyx_v_should_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":333 + /* "_pydevd_bundle/pydevd_cython.pyx":327 * * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< * return self.trace_dispatch * */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(0, 333, __pyx_L1_error) - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 333, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_handle_exception); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 327, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 327, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_8 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[6] = {__pyx_t_7, __pyx_t_6, __pyx_t_3, __pyx_v_frame, __pyx_v_arg, __pyx_t_4}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 5+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 333, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":334 + /* "_pydevd_bundle/pydevd_cython.pyx":328 * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): * return self.trace_dispatch # <<<<<<<<<<<<<< * * elif event == 'return': */ __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 334, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":333 + /* "_pydevd_bundle/pydevd_cython.pyx":327 * * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< * return self.trace_dispatch * */ } - /* "_pydevd_bundle/pydevd_cython.pyx":332 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":326 + * self.exc_info = exc_info * * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): * return self.trace_dispatch */ } - /* "_pydevd_bundle/pydevd_cython.pyx":329 + /* "_pydevd_bundle/pydevd_cython.pyx":322 * # def trace_exception(self, frame, event, arg): * # ENDIF * if event == 'exception': # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info */ goto __pyx_L3; } - /* "_pydevd_bundle/pydevd_cython.pyx":336 + /* "_pydevd_bundle/pydevd_cython.pyx":330 * return self.trace_dispatch * * elif event == 'return': # <<<<<<<<<<<<<< * exc_info = self.exc_info * if exc_info and arg is None: */ - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 336, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 330, __pyx_L1_error) if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":337 + /* "_pydevd_bundle/pydevd_cython.pyx":331 * * elif event == 'return': * exc_info = self.exc_info # <<<<<<<<<<<<<< * if exc_info and arg is None: * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] */ - if (!(likely(PyTuple_CheckExact(__pyx_v_self->exc_info))||((__pyx_v_self->exc_info) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_self->exc_info))) __PYX_ERR(0, 337, __pyx_L1_error) - __pyx_t_4 = __pyx_v_self->exc_info; - __Pyx_INCREF(__pyx_t_4); - __pyx_v_exc_info = ((PyObject*)__pyx_t_4); - __pyx_t_4 = 0; + if (!(likely(PyTuple_CheckExact(__pyx_v_self->exc_info))||((__pyx_v_self->exc_info) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_self->exc_info))) __PYX_ERR(0, 331, __pyx_L1_error) + __pyx_t_2 = __pyx_v_self->exc_info; + __Pyx_INCREF(__pyx_t_2); + __pyx_v_exc_info = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":338 + /* "_pydevd_bundle/pydevd_cython.pyx":332 * elif event == 'return': * exc_info = self.exc_info * if exc_info and arg is None: # <<<<<<<<<<<<<< * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] * custom_key = (frame_cache_key, 'try_exc_info') */ - __pyx_t_7 = (__pyx_v_exc_info != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_exc_info) != 0); - if (__pyx_t_7) { + __pyx_t_10 = (__pyx_v_exc_info != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_exc_info) != 0); + if (__pyx_t_10) { } else { - __pyx_t_1 = __pyx_t_7; + __pyx_t_1 = __pyx_t_10; goto __pyx_L9_bool_binop_done; } - __pyx_t_7 = (__pyx_v_arg == Py_None); - __pyx_t_1 = __pyx_t_7; + __pyx_t_10 = (__pyx_v_arg == Py_None); + __pyx_t_1 = __pyx_t_10; __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":339 + /* "_pydevd_bundle/pydevd_cython.pyx":333 * exc_info = self.exc_info * if exc_info and arg is None: * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] # <<<<<<<<<<<<<< @@ -11357,74 +11619,74 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 339, __pyx_L1_error) + __PYX_ERR(0, 333, __pyx_L1_error) } - __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 339, __pyx_L1_error) + __PYX_ERR(0, 333, __pyx_L1_error) } - __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_frame_skips_cache = __pyx_t_4; - __pyx_t_4 = 0; - __pyx_v_frame_cache_key = __pyx_t_2; + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 333, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_frame_skips_cache = __pyx_t_2; __pyx_t_2 = 0; + __pyx_v_frame_cache_key = __pyx_t_5; + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":340 + /* "_pydevd_bundle/pydevd_cython.pyx":334 * if exc_info and arg is None: * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] * custom_key = (frame_cache_key, 'try_exc_info') # <<<<<<<<<<<<<< * container_obj = frame_skips_cache.get(custom_key) * if container_obj is None: */ - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 334, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_frame_cache_key); __Pyx_GIVEREF(__pyx_v_frame_cache_key); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 340, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 334, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_try_exc_info); __Pyx_GIVEREF(__pyx_n_s_try_exc_info); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_try_exc_info)) __PYX_ERR(0, 340, __pyx_L1_error); - __pyx_v_custom_key = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_try_exc_info)) __PYX_ERR(0, 334, __pyx_L1_error); + __pyx_v_custom_key = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":341 + /* "_pydevd_bundle/pydevd_cython.pyx":335 * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] * custom_key = (frame_cache_key, 'try_exc_info') * container_obj = frame_skips_cache.get(custom_key) # <<<<<<<<<<<<<< * if container_obj is None: * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame_skips_cache, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame_skips_cache, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; __pyx_t_8 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); + __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_custom_key}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_custom_key}; + __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } - __pyx_v_container_obj = __pyx_t_2; - __pyx_t_2 = 0; + __pyx_v_container_obj = __pyx_t_5; + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":342 + /* "_pydevd_bundle/pydevd_cython.pyx":336 * custom_key = (frame_cache_key, 'try_exc_info') * container_obj = frame_skips_cache.get(custom_key) * if container_obj is None: # <<<<<<<<<<<<<< @@ -11434,21 +11696,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc __pyx_t_1 = (__pyx_v_container_obj == Py_None); if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":343 + /* "_pydevd_bundle/pydevd_cython.pyx":337 * container_obj = frame_skips_cache.get(custom_key) * if container_obj is None: * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() # <<<<<<<<<<<<<< * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ * self.handle_user_exception(frame): */ - __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_2); - __Pyx_DECREF_SET(__pyx_v_container_obj, __pyx_t_2); - if (unlikely((PyObject_SetItem(__pyx_v_frame_skips_cache, __pyx_v_custom_key, __pyx_t_2) < 0))) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_5); + __Pyx_DECREF_SET(__pyx_v_container_obj, __pyx_t_5); + if (unlikely((PyObject_SetItem(__pyx_v_frame_skips_cache, __pyx_v_custom_key, __pyx_t_5) < 0))) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":342 + /* "_pydevd_bundle/pydevd_cython.pyx":336 * custom_key = (frame_cache_key, 'try_exc_info') * container_obj = frame_skips_cache.get(custom_key) * if container_obj is None: # <<<<<<<<<<<<<< @@ -11457,7 +11719,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ } - /* "_pydevd_bundle/pydevd_cython.pyx":344 + /* "_pydevd_bundle/pydevd_cython.pyx":338 * if container_obj is None: * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< @@ -11466,74 +11728,74 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 344, __pyx_L1_error) + __PYX_ERR(0, 338, __pyx_L1_error) } - __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); if (unlikely(__pyx_v_exc_info == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 344, __pyx_L1_error) + __PYX_ERR(0, 338, __pyx_L1_error) } - __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 344, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__pyx_v_exc_info == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 344, __pyx_L1_error) + __PYX_ERR(0, 338, __pyx_L1_error) } - __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(PySet_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_2))) __PYX_ERR(0, 338, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(__pyx_v_container_obj, __pyx_t_5, __pyx_v_frame, __pyx_t_8, ((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (!(likely(PySet_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_4))) __PYX_ERR(0, 344, __pyx_L1_error) - __pyx_t_3 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(__pyx_v_container_obj, __pyx_t_2, __pyx_v_frame, __pyx_t_8, ((PyObject*)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 344, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { + if (__pyx_t_10) { } else { - __pyx_t_1 = __pyx_t_7; + __pyx_t_1 = __pyx_t_10; goto __pyx_L13_bool_binop_done; } - /* "_pydevd_bundle/pydevd_cython.pyx":345 + /* "_pydevd_bundle/pydevd_cython.pyx":339 * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ * self.handle_user_exception(frame): # <<<<<<<<<<<<<< * return self.trace_dispatch * */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = NULL; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; __pyx_t_8 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); + __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_frame}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_frame}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 345, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = __pyx_t_7; + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 339, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = __pyx_t_10; __pyx_L13_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":344 + /* "_pydevd_bundle/pydevd_cython.pyx":338 * if container_obj is None: * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< @@ -11542,7 +11804,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":346 + /* "_pydevd_bundle/pydevd_cython.pyx":340 * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ * self.handle_user_exception(frame): * return self.trace_dispatch # <<<<<<<<<<<<<< @@ -11550,13 +11812,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc * return self.trace_exception */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 340, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":344 + /* "_pydevd_bundle/pydevd_cython.pyx":338 * if container_obj is None: * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< @@ -11565,7 +11827,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ } - /* "_pydevd_bundle/pydevd_cython.pyx":338 + /* "_pydevd_bundle/pydevd_cython.pyx":332 * elif event == 'return': * exc_info = self.exc_info * if exc_info and arg is None: # <<<<<<<<<<<<<< @@ -11574,7 +11836,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc */ } - /* "_pydevd_bundle/pydevd_cython.pyx":336 + /* "_pydevd_bundle/pydevd_cython.pyx":330 * return self.trace_dispatch * * elif event == 'return': # <<<<<<<<<<<<<< @@ -11584,21 +11846,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc } __pyx_L3:; - /* "_pydevd_bundle/pydevd_cython.pyx":348 + /* "_pydevd_bundle/pydevd_cython.pyx":342 * return self.trace_dispatch * * return self.trace_exception # <<<<<<<<<<<<<< * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def handle_user_exception(self, frame): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 342, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":323 + /* "_pydevd_bundle/pydevd_cython.pyx":316 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< @@ -11612,6 +11874,8 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; @@ -11626,31 +11890,112 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exc return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":351 +/* "_pydevd_bundle/pydevd_cython.pyx":344 + * return self.trace_exception * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _should_stop_on_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< - * cdef PyDBAdditionalThreadInfo info; - * cdef bint should_stop; + * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info: */ -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, CYTHON_UNUSED PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { - struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; - int __pyx_v_should_stop; - int __pyx_v_was_just_raised; - PyObject *__pyx_v_check_excs = 0; - PyObject *__pyx_v_py_db = NULL; - PyObject *__pyx_v_exception = NULL; - PyObject *__pyx_v_value = NULL; - PyObject *__pyx_v_trace = NULL; - PyObject *__pyx_v_exception_breakpoint = NULL; - PyObject *__pyx_v_result = NULL; - PyObject *__pyx_v_exc_break_user = NULL; - PyObject *__pyx_v_exc_break_caught = NULL; - PyObject *__pyx_v_exc_break = NULL; - PyObject *__pyx_v_is_user_uncaught = NULL; +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception = {"handle_user_exception", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + PyObject *__pyx_v_frame = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[1] = {0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("handle_user_exception (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,0}; + if (__pyx_kwds) { + Py_ssize_t kw_args; + switch (__pyx_nargs) { + case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); + switch (__pyx_nargs) { + case 0: + if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 344, __pyx_L3_error) + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "handle_user_exception") < 0)) __PYX_ERR(0, 344, __pyx_L3_error) + } + } else if (unlikely(__pyx_nargs != 1)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + } + __pyx_v_frame = values[0]; + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("handle_user_exception", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 344, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.handle_user_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame); + + /* function exit code */ + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { PyObject *__pyx_v_exc_info = NULL; - PyObject *__pyx_v_lines = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -11658,2138 +12003,1618 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_sto PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; - PyObject *(*__pyx_t_6)(PyObject *); - int __pyx_t_7; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; + int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_should_stop_on_exception", 0); - __Pyx_INCREF(__pyx_v_frame); + __Pyx_RefNannySetupContext("handle_user_exception", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":361 + /* "_pydevd_bundle/pydevd_cython.pyx":345 * - * # py_db, _filename, info, _thread = self._args - * py_db = self._args[0] # <<<<<<<<<<<<<< - * info = self._args[2] - * should_stop = False + * def handle_user_exception(self, frame): + * exc_info = self.exc_info # <<<<<<<<<<<<<< + * if exc_info: + * return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) */ - if (unlikely(__pyx_v_self->_args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 361, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_py_db = __pyx_t_1; + __pyx_t_1 = __pyx_v_self->exc_info; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_exc_info = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":362 - * # py_db, _filename, info, _thread = self._args - * py_db = self._args[0] - * info = self._args[2] # <<<<<<<<<<<<<< - * should_stop = False - * + /* "_pydevd_bundle/pydevd_cython.pyx":346 + * def handle_user_exception(self, frame): + * exc_info = self.exc_info + * if exc_info: # <<<<<<<<<<<<<< + * return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False */ - if (unlikely(__pyx_v_self->_args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 362, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 362, __pyx_L1_error) - __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_1); - __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 346, __pyx_L1_error) + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":363 - * py_db = self._args[0] - * info = self._args[2] - * should_stop = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":347 + * exc_info = self.exc_info + * if exc_info: + * return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) # <<<<<<<<<<<<<< + * return False * - * # 2 = 2 */ - __pyx_v_should_stop = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_handle_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 347, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 347, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_exc_info, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[6] = {__pyx_t_8, __pyx_t_4, __pyx_t_5, __pyx_v_frame, __pyx_t_6, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 5+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 347, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":366 - * - * # 2 = 2 - * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< - * exception, value, trace = arg + /* "_pydevd_bundle/pydevd_cython.pyx":346 + * def handle_user_exception(self, frame): + * exc_info = self.exc_info + * if exc_info: # <<<<<<<<<<<<<< + * return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":348 + * if exc_info: + * return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False # <<<<<<<<<<<<<< * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __pyx_t_2 = (__pyx_v_info->pydev_state != 2); - if (__pyx_t_2) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":367 - * # 2 = 2 - * if info.pydev_state != 2: # and breakpoint is not None: - * exception, value, trace = arg # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":344 + * return self.trace_exception * - * if trace is not None and hasattr(trace, 'tb_next'): + * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info: */ - if ((likely(PyTuple_CheckExact(__pyx_v_arg))) || (PyList_CheckExact(__pyx_v_arg))) { - PyObject* sequence = __pyx_v_arg; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 3)) { - if (size > 3) __Pyx_RaiseTooManyValuesError(3); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 367, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); - } else { - __pyx_t_1 = PyList_GET_ITEM(sequence, 0); - __pyx_t_3 = PyList_GET_ITEM(sequence, 1); - __pyx_t_4 = PyList_GET_ITEM(sequence, 2); - } - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - Py_ssize_t index = -1; - __pyx_t_5 = PyObject_GetIter(__pyx_v_arg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); - index = 0; __pyx_t_1 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); - index = 2; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 3) < 0) __PYX_ERR(0, 367, __pyx_L1_error) - __pyx_t_6 = NULL; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L5_unpacking_done; - __pyx_L4_unpacking_failed:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 367, __pyx_L1_error) - __pyx_L5_unpacking_done:; - } - __pyx_v_exception = __pyx_t_1; - __pyx_t_1 = 0; - __pyx_v_value = __pyx_t_3; - __pyx_t_3 = 0; - __pyx_v_trace = __pyx_t_4; - __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":369 - * exception, value, trace = arg - * - * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< - * # on jython trace is None on the first event and it may not have a tb_next. - * - */ - __pyx_t_7 = (__pyx_v_trace != Py_None); - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_7 = __Pyx_HasAttr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 369, __pyx_L1_error) - __pyx_t_2 = __pyx_t_7; - __pyx_L7_bool_binop_done:; - if (__pyx_t_2) { + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.handle_user_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "_pydevd_bundle/pydevd_cython.pyx":372 - * # on jython trace is None on the first event and it may not have a tb_next. +/* "_pydevd_bundle/pydevd_cython.pyx":351 * - * should_stop = False # <<<<<<<<<<<<<< - * exception_breakpoint = None - * try: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< + * cdef str func_name + * # ELSE */ - __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":373 - * - * should_stop = False - * exception_breakpoint = None # <<<<<<<<<<<<<< - * try: - * if py_db.plugin is not None: +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_func_name = 0; + PyObject *__pyx_v_code_obj = NULL; + PyObject *__pyx_v_cls_name = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_func_name", 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":356 + * # def get_func_name(self, frame): + * # ENDIF + * code_obj = frame.f_code # <<<<<<<<<<<<<< + * func_name = code_obj.co_name + * try: */ - __Pyx_INCREF(Py_None); - __pyx_v_exception_breakpoint = Py_None; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_code_obj = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":374 - * should_stop = False - * exception_breakpoint = None - * try: # <<<<<<<<<<<<<< - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":357 + * # ENDIF + * code_obj = frame.f_code + * func_name = code_obj.co_name # <<<<<<<<<<<<<< + * try: + * cls_name = get_clsname_for_code(code_obj, frame) */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code_obj, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 357, __pyx_L1_error) + __pyx_v_func_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":375 - * exception_breakpoint = None - * try: - * if py_db.plugin is not None: # <<<<<<<<<<<<<< - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - * if result: + /* "_pydevd_bundle/pydevd_cython.pyx":358 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_2) { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":376 - * try: - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) # <<<<<<<<<<<<<< - * if result: - * should_stop, frame = result + /* "_pydevd_bundle/pydevd_cython.pyx":359 + * func_name = code_obj.co_name + * try: + * cls_name = get_clsname_for_code(code_obj, frame) # <<<<<<<<<<<<<< + * if cls_name is not None: + * return "%s.%s" % (cls_name, func_name) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 376, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exception_break); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[6] = {__pyx_t_3, __pyx_v_py_db, ((PyObject *)__pyx_v_self), __pyx_v_frame, __pyx_v_self->_args, __pyx_v_arg}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 5+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_v_result = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_clsname_for_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 359, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_7 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_code_obj, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __pyx_v_cls_name = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":377 - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - * if result: # <<<<<<<<<<<<<< - * should_stop, frame = result - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":360 + * try: + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: # <<<<<<<<<<<<<< + * return "%s.%s" % (cls_name, func_name) + * else: */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 377, __pyx_L9_error) - if (__pyx_t_2) { + __pyx_t_8 = (__pyx_v_cls_name != Py_None); + if (__pyx_t_8) { - /* "_pydevd_bundle/pydevd_cython.pyx":378 - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - * if result: - * should_stop, frame = result # <<<<<<<<<<<<<< - * except: - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":361 + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: + * return "%s.%s" % (cls_name, func_name) # <<<<<<<<<<<<<< + * else: + * return func_name */ - if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { - PyObject* sequence = __pyx_v_result; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 378, __pyx_L9_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_4 = PyList_GET_ITEM(sequence, 0); - __pyx_t_1 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - #else - __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 378, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); - index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - index = 1; __pyx_t_1 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L17_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_3), 2) < 0) __PYX_ERR(0, 378, __pyx_L9_error) - __pyx_t_6 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L18_unpacking_done; - __pyx_L17_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 378, __pyx_L9_error) - __pyx_L18_unpacking_done:; - } - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 378, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_should_stop = __pyx_t_2; - __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_1); - __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_cls_name); + __Pyx_GIVEREF(__pyx_v_cls_name); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cls_name)) __PYX_ERR(0, 361, __pyx_L3_error); + __Pyx_INCREF(__pyx_v_func_name); + __Pyx_GIVEREF(__pyx_v_func_name); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_func_name)) __PYX_ERR(0, 361, __pyx_L3_error); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 361, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":377 - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - * if result: # <<<<<<<<<<<<<< - * should_stop, frame = result - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":360 + * try: + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: # <<<<<<<<<<<<<< + * return "%s.%s" % (cls_name, func_name) + * else: */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":375 - * exception_breakpoint = None - * try: - * if py_db.plugin is not None: # <<<<<<<<<<<<<< - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - * if result: + /* "_pydevd_bundle/pydevd_cython.pyx":363 + * return "%s.%s" % (cls_name, func_name) + * else: + * return func_name # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() */ - } + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_func_name); + __pyx_r = __pyx_v_func_name; + goto __pyx_L7_try_return; + } - /* "_pydevd_bundle/pydevd_cython.pyx":374 - * should_stop = False - * exception_breakpoint = None - * try: # <<<<<<<<<<<<<< - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":358 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L14_try_end; - __pyx_L9_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":379 - * if result: - * should_stop, frame = result - * except: # <<<<<<<<<<<<<< - * pydev_log.exception() - * + /* "_pydevd_bundle/pydevd_cython.pyx":364 + * else: + * return func_name + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * return func_name */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 379, __pyx_L11_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_3); + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 364, __pyx_L5_except_error) + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_6); - /* "_pydevd_bundle/pydevd_cython.pyx":380 - * should_stop, frame = result - * except: - * pydev_log.exception() # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":365 + * return func_name + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * return func_name * - * if not should_stop: */ - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 380, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 380, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 380, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L10_exception_handled; + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 365, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 365, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + __pyx_t_7 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + __pyx_t_7 = 1; } - - /* "_pydevd_bundle/pydevd_cython.pyx":374 - * should_stop = False - * exception_breakpoint = None - * try: # <<<<<<<<<<<<<< - * if py_db.plugin is not None: - * result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - */ - __pyx_L11_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L10_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L14_try_end:; } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; + __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 365, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":382 - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":366 + * except: + * pydev_log.exception() + * return func_name # <<<<<<<<<<<<<< * - * if not should_stop: # <<<<<<<<<<<<<< - * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). - * if exception == SystemExit and py_db.ignore_system_exit_code(value): + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __pyx_t_2 = (!__pyx_v_should_stop); - if (__pyx_t_2) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_func_name); + __pyx_r = __pyx_v_func_name; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L6_except_return; + } - /* "_pydevd_bundle/pydevd_cython.pyx":384 - * if not should_stop: - * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). - * if exception == SystemExit and py_db.ignore_system_exit_code(value): # <<<<<<<<<<<<<< - * pass - * + /* "_pydevd_bundle/pydevd_cython.pyx":358 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: */ - __pyx_t_3 = PyObject_RichCompare(__pyx_v_exception, __pyx_builtin_SystemExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 384, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L23_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_ignore_system_exit_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_value}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 384, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __pyx_t_7; - __pyx_L23_bool_binop_done:; - if (__pyx_t_2) { - goto __pyx_L22; - } + __pyx_L5_except_error:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":387 - * pass + /* "_pydevd_bundle/pydevd_cython.pyx":351 * - * elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): # <<<<<<<<<<<<<< - * # These exceptions are control-flow related (they work as a generator - * # pause), so, we shouldn't stop on them. + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< + * cdef str func_name + * # ELSE */ - __Pyx_INCREF(__pyx_v_exception); - __pyx_t_3 = __pyx_v_exception; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_builtin_GeneratorExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 387, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L25_bool_binop_done; - } - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_builtin_StopIteration, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 387, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L25_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_StopAsyncIteration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 387, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __pyx_t_7; - __pyx_L25_bool_binop_done:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __pyx_t_2; - if (__pyx_t_7) { - goto __pyx_L22; - } - /* "_pydevd_bundle/pydevd_cython.pyx":392 - * pass - * - * elif ignore_exception_trace(trace): # <<<<<<<<<<<<<< - * pass - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ignore_exception_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_trace}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 392, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { - goto __pyx_L22; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":396 - * - * else: - * was_just_raised = trace.tb_next is None # <<<<<<<<<<<<<< - * - * # It was not handled by any plugin, lets check exception breakpoints. - */ - /*else*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = (__pyx_t_3 == Py_None); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_was_just_raised = __pyx_t_7; - - /* "_pydevd_bundle/pydevd_cython.pyx":399 - * - * # It was not handled by any plugin, lets check exception breakpoints. - * check_excs = [] # <<<<<<<<<<<<<< - * - * # Note: check user unhandled before regular exceptions. - */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_check_excs = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_func_name); + __Pyx_XDECREF(__pyx_v_code_obj); + __Pyx_XDECREF(__pyx_v_cls_name); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "_pydevd_bundle/pydevd_cython.pyx":402 +/* "_pydevd_bundle/pydevd_cython.pyx":369 * - * # Note: check user unhandled before regular exceptions. - * exc_break_user = py_db.get_exception_breakpoint( # <<<<<<<<<<<<<< - * exception, py_db.break_on_user_uncaught_exceptions) - * if exc_break_user is not None: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< + * # ELSE + * # def _show_return_values(self, frame, arg): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - /* "_pydevd_bundle/pydevd_cython.pyx":403 - * # Note: check user unhandled before regular exceptions. - * exc_break_user = py_db.get_exception_breakpoint( - * exception, py_db.break_on_user_uncaught_exceptions) # <<<<<<<<<<<<<< - * if exc_break_user is not None: - * check_excs.append((exc_break_user, True)) - */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_exception, __pyx_t_4}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_v_exc_break_user = __pyx_t_3; - __pyx_t_3 = 0; +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg) { + PyObject *__pyx_v_f_locals_back = NULL; + PyObject *__pyx_v_return_values_dict = NULL; + PyObject *__pyx_v_name = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + char const *__pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_show_return_values", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":404 - * exc_break_user = py_db.get_exception_breakpoint( - * exception, py_db.break_on_user_uncaught_exceptions) - * if exc_break_user is not None: # <<<<<<<<<<<<<< - * check_excs.append((exc_break_user, True)) - * + /* "_pydevd_bundle/pydevd_cython.pyx":373 + * # def _show_return_values(self, frame, arg): + * # ENDIF + * try: # <<<<<<<<<<<<<< + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) */ - __pyx_t_7 = (__pyx_v_exc_break_user != Py_None); - if (__pyx_t_7) { + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":405 - * exception, py_db.break_on_user_uncaught_exceptions) - * if exc_break_user is not None: - * check_excs.append((exc_break_user, True)) # <<<<<<<<<<<<<< - * - * exc_break_caught = py_db.get_exception_breakpoint( + /* "_pydevd_bundle/pydevd_cython.pyx":374 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_exc_break_user); - __Pyx_GIVEREF(__pyx_v_exc_break_user); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_exc_break_user)) __PYX_ERR(0, 405, __pyx_L1_error); - __Pyx_INCREF(Py_True); - __Pyx_GIVEREF(Py_True); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_True)) __PYX_ERR(0, 405, __pyx_L1_error); - __pyx_t_14 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_3); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 405, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":404 - * exc_break_user = py_db.get_exception_breakpoint( - * exception, py_db.break_on_user_uncaught_exceptions) - * if exc_break_user is not None: # <<<<<<<<<<<<<< - * check_excs.append((exc_break_user, True)) - * + /* "_pydevd_bundle/pydevd_cython.pyx":375 + * try: + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) */ - } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_f_locals_back = __pyx_t_5; + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":407 - * check_excs.append((exc_break_user, True)) - * - * exc_break_caught = py_db.get_exception_breakpoint( # <<<<<<<<<<<<<< - * exception, py_db.break_on_caught_exceptions) - * if exc_break_caught is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":376 + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = (__pyx_v_f_locals_back != Py_None); + if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":408 - * - * exc_break_caught = py_db.get_exception_breakpoint( - * exception, py_db.break_on_caught_exceptions) # <<<<<<<<<<<<<< - * if exc_break_caught is not None: - * check_excs.append((exc_break_caught, False)) + /* "_pydevd_bundle/pydevd_cython.pyx":377 + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + * if return_values_dict is None: + * return_values_dict = {} */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 377, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_9 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_9 = 1; } } #endif { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_exception, __pyx_t_4}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_7, Py_None}; + __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 377, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - __pyx_v_exc_break_caught = __pyx_t_3; - __pyx_t_3 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":409 - * exc_break_caught = py_db.get_exception_breakpoint( - * exception, py_db.break_on_caught_exceptions) - * if exc_break_caught is not None: # <<<<<<<<<<<<<< - * check_excs.append((exc_break_caught, False)) - * - */ - __pyx_t_7 = (__pyx_v_exc_break_caught != Py_None); - if (__pyx_t_7) { - - /* "_pydevd_bundle/pydevd_cython.pyx":410 - * exception, py_db.break_on_caught_exceptions) - * if exc_break_caught is not None: - * check_excs.append((exc_break_caught, False)) # <<<<<<<<<<<<<< - * - * for exc_break, is_user_uncaught in check_excs: - */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_exc_break_caught); - __Pyx_GIVEREF(__pyx_v_exc_break_caught); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_exc_break_caught)) __PYX_ERR(0, 410, __pyx_L1_error); - __Pyx_INCREF(Py_False); - __Pyx_GIVEREF(Py_False); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_False)) __PYX_ERR(0, 410, __pyx_L1_error); - __pyx_t_14 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_3); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 410, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_return_values_dict = __pyx_t_5; + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":409 - * exc_break_caught = py_db.get_exception_breakpoint( - * exception, py_db.break_on_caught_exceptions) - * if exc_break_caught is not None: # <<<<<<<<<<<<<< - * check_excs.append((exc_break_caught, False)) - * + /* "_pydevd_bundle/pydevd_cython.pyx":378 + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: # <<<<<<<<<<<<<< + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict */ - } + __pyx_t_6 = (__pyx_v_return_values_dict == Py_None); + if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":412 - * check_excs.append((exc_break_caught, False)) - * - * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< - * # Initially mark that it should stop and then go into exclusions. - * should_stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":379 + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: + * return_values_dict = {} # <<<<<<<<<<<<<< + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) */ - __pyx_t_3 = __pyx_v_check_excs; __Pyx_INCREF(__pyx_t_3); - __pyx_t_15 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 412, __pyx_L1_error) - #endif - if (__pyx_t_15 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely((0 < 0))) __PYX_ERR(0, 412, __pyx_L1_error) - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 412, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_4 = PyList_GET_ITEM(sequence, 0); - __pyx_t_5 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - #else - __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 412, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_13); - index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_13); if (unlikely(!__pyx_t_4)) goto __pyx_L32_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - index = 1; __pyx_t_5 = __pyx_t_6(__pyx_t_13); if (unlikely(!__pyx_t_5)) goto __pyx_L32_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_13), 2) < 0) __PYX_ERR(0, 412, __pyx_L1_error) - __pyx_t_6 = NULL; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L33_unpacking_done; - __pyx_L32_unpacking_failed:; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_6 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 412, __pyx_L1_error) - __pyx_L33_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_exc_break, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_XDECREF_SET(__pyx_v_is_user_uncaught, __pyx_t_5); + __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 379, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF_SET(__pyx_v_return_values_dict, __pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":414 - * for exc_break, is_user_uncaught in check_excs: - * # Initially mark that it should stop and then go into exclusions. - * should_stop = True # <<<<<<<<<<<<<< - * - * if py_db.exclude_exception_by_filter(exc_break, trace): + /* "_pydevd_bundle/pydevd_cython.pyx":380 + * if return_values_dict is None: + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict # <<<<<<<<<<<<<< + * name = self.get_func_name(frame) + * return_values_dict[name] = arg */ - __pyx_v_should_stop = 1; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 380, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely((PyObject_SetItem(__pyx_v_f_locals_back, __pyx_t_5, __pyx_v_return_values_dict) < 0))) __PYX_ERR(0, 380, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":416 - * should_stop = True - * - * if py_db.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< - * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":378 + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: # <<<<<<<<<<<<<< + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_exclude_exception_by_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_exc_break, __pyx_v_trace}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 416, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":417 - * - * if py_db.exclude_exception_by_filter(exc_break, trace): - * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) # <<<<<<<<<<<<<< - * should_stop = False - * + /* "_pydevd_bundle/pydevd_cython.pyx":381 + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) # <<<<<<<<<<<<<< + * return_values_dict[name] = arg + * except: */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_exception); - __Pyx_GIVEREF(__pyx_v_exception); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_exception)) __PYX_ERR(0, 417, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_13); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_13)) __PYX_ERR(0, 417, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_12); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_12)) __PYX_ERR(0, 417, __pyx_L1_error); - __pyx_t_13 = 0; - __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_Ignore_exception_s_in_library_s, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_12}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->get_func_name(__pyx_v_self, __pyx_v_frame); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 381, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_name = __pyx_t_5; + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":418 - * if py_db.exclude_exception_by_filter(exc_break, trace): - * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) - * should_stop = False # <<<<<<<<<<<<<< - * - * elif exc_break.condition is not None and \ + /* "_pydevd_bundle/pydevd_cython.pyx":382 + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) + * return_values_dict[name] = arg # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() */ - __pyx_v_should_stop = 0; + if (unlikely((PyObject_SetItem(__pyx_v_return_values_dict, __pyx_v_name, __pyx_v_arg) < 0))) __PYX_ERR(0, 382, __pyx_L6_error) - /* "_pydevd_bundle/pydevd_cython.pyx":416 - * should_stop = True - * - * if py_db.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< - * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":376 + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: */ - goto __pyx_L34; - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":420 - * should_stop = False - * - * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< - * not py_db.handle_breakpoint_condition(info, exc_break, frame): - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":374 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - } else { - __pyx_t_7 = __pyx_t_2; - goto __pyx_L35_bool_binop_done; - } + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L11_try_end; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":421 - * - * elif exc_break.condition is not None and \ - * not py_db.handle_breakpoint_condition(info, exc_break, frame): # <<<<<<<<<<<<<< - * should_stop = False - * + /* "_pydevd_bundle/pydevd_cython.pyx":383 + * name = self.get_func_name(frame) + * return_values_dict[name] = arg + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * finally: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_12, ((PyObject *)__pyx_v_info), __pyx_v_exc_break, __pyx_v_frame}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 421, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = (!__pyx_t_2); - __pyx_t_7 = __pyx_t_16; - __pyx_L35_bool_binop_done:; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 383, __pyx_L8_except_error) + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_7); - /* "_pydevd_bundle/pydevd_cython.pyx":420 - * should_stop = False - * - * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< - * not py_db.handle_breakpoint_condition(info, exc_break, frame): - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":384 + * return_values_dict[name] = arg + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * finally: + * f_locals_back = None */ - if (__pyx_t_7) { + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 384, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 384, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 384, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L7_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":422 - * elif exc_break.condition is not None and \ - * not py_db.handle_breakpoint_condition(info, exc_break, frame): - * should_stop = False # <<<<<<<<<<<<<< - * - * elif is_user_uncaught: + /* "_pydevd_bundle/pydevd_cython.pyx":374 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: */ - __pyx_v_should_stop = 0; + __pyx_L8_except_error:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L4_error; + __pyx_L7_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L11_try_end:; + } + } - /* "_pydevd_bundle/pydevd_cython.pyx":420 - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":386 + * pydev_log.exception() + * finally: + * f_locals_back = None # <<<<<<<<<<<<<< * - * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< - * not py_db.handle_breakpoint_condition(info, exc_break, frame): - * should_stop = False + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - goto __pyx_L34; - } + /*finally:*/ { + /*normal exit:*/{ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __pyx_t_9 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; + { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + } + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; + goto __pyx_L1_error; + } + __pyx_L5:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":424 - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":369 * - * elif is_user_uncaught: # <<<<<<<<<<<<<< - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False - */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_is_user_uncaught); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 424, __pyx_L1_error) - if (__pyx_t_7) { - - /* "_pydevd_bundle/pydevd_cython.pyx":426 - * elif is_user_uncaught: - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False # <<<<<<<<<<<<<< - * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - */ - __pyx_v_should_stop = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":427 - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False - * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - * # User uncaught means that we're currently in user code but the code - */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_v_frame, __pyx_t_5, Py_True}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = (!__pyx_t_16); - if (__pyx_t_2) { - } else { - __pyx_t_7 = __pyx_t_2; - goto __pyx_L38_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":428 - * should_stop = False - * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): # <<<<<<<<<<<<<< - * # User uncaught means that we're currently in user code but the code - * # up the stack is library code. - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__pyx_t_1 == Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_2) { - } else { - __pyx_t_7 = __pyx_t_2; - goto __pyx_L38_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_f_code); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_13, __pyx_t_5, __pyx_t_12, Py_True}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 428, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_7 = __pyx_t_2; - __pyx_L38_bool_binop_done:; - - /* "_pydevd_bundle/pydevd_cython.pyx":427 - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False - * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - * # User uncaught means that we're currently in user code but the code - */ - if (__pyx_t_7) { - - /* "_pydevd_bundle/pydevd_cython.pyx":431 - * # User uncaught means that we're currently in user code but the code - * # up the stack is library code. - * exc_info = self.exc_info # <<<<<<<<<<<<<< - * if not exc_info: - * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - */ - __pyx_t_1 = __pyx_v_self->exc_info; - __Pyx_INCREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_exc_info, __pyx_t_1); - __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":432 - * # up the stack is library code. - * exc_info = self.exc_info - * if not exc_info: # <<<<<<<<<<<<<< - * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - * else: - */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 432, __pyx_L1_error) - __pyx_t_2 = (!__pyx_t_7); - if (__pyx_t_2) { - - /* "_pydevd_bundle/pydevd_cython.pyx":433 - * exc_info = self.exc_info - * if not exc_info: - * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) # <<<<<<<<<<<<<< - * else: - * lines = exc_info[2] - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = PySet_New(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - if (PySet_Add(__pyx_t_12, __pyx_t_4) < 0) __PYX_ERR(0, 433, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_v_arg); - __Pyx_GIVEREF(__pyx_v_arg); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_arg)) __PYX_ERR(0, 433, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_12); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_12)) __PYX_ERR(0, 433, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_12 = 0; - __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_4); - __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":432 - * # up the stack is library code. - * exc_info = self.exc_info - * if not exc_info: # <<<<<<<<<<<<<< - * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - * else: - */ - goto __pyx_L41; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":435 - * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - * else: - * lines = exc_info[2] # <<<<<<<<<<<<<< - * lines.add(frame.f_lineno) - * exc_info = (arg, frame.f_lineno, lines) - */ - /*else*/ { - __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_lines, __pyx_t_4); - __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":436 - * else: - * lines = exc_info[2] - * lines.add(frame.f_lineno) # <<<<<<<<<<<<<< - * exc_info = (arg, frame.f_lineno, lines) - * self.exc_info = exc_info - */ - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_1}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":437 - * lines = exc_info[2] - * lines.add(frame.f_lineno) - * exc_info = (arg, frame.f_lineno, lines) # <<<<<<<<<<<<<< - * self.exc_info = exc_info - * else: - */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_INCREF(__pyx_v_arg); - __Pyx_GIVEREF(__pyx_v_arg); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_arg)) __PYX_ERR(0, 437, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_v_lines)) __PYX_ERR(0, 437, __pyx_L1_error); - __pyx_t_4 = 0; - __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_12); - __pyx_t_12 = 0; - } - __pyx_L41:; - - /* "_pydevd_bundle/pydevd_cython.pyx":438 - * lines.add(frame.f_lineno) - * exc_info = (arg, frame.f_lineno, lines) - * self.exc_info = exc_info # <<<<<<<<<<<<<< - * else: - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< + * # ELSE + * # def _show_return_values(self, frame, arg): */ - __Pyx_INCREF(__pyx_v_exc_info); - __Pyx_GIVEREF(__pyx_v_exc_info); - __Pyx_GOTREF(__pyx_v_self->exc_info); - __Pyx_DECREF(__pyx_v_self->exc_info); - __pyx_v_self->exc_info = __pyx_v_exc_info; - /* "_pydevd_bundle/pydevd_cython.pyx":427 - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False - * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - * # User uncaught means that we're currently in user code but the code - */ - } + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f_locals_back); + __Pyx_XDECREF(__pyx_v_return_values_dict); + __Pyx_XDECREF(__pyx_v_name); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "_pydevd_bundle/pydevd_cython.pyx":424 - * should_stop = False +/* "_pydevd_bundle/pydevd_cython.pyx":389 * - * elif is_user_uncaught: # <<<<<<<<<<<<<< - * # Note: we don't stop here, we just collect the exc_info to use later on... - * should_stop = False - */ - goto __pyx_L34; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":441 - * else: - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised and not just_raised(trace.tb_next): - * # In this case we never stop if it was just raised, so, to know if it was the first we - */ - /*else*/ { - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 441, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L43_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":442 - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ - * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< - * # In this case we never stop if it was just raised, so, to know if it was the first we - * # need to check if we're in the 2nd method. + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _remove_return_values(self, py_db, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _remove_return_values(self, py_db, frame): */ - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - /* "_pydevd_bundle/pydevd_cython.pyx":441 - * else: - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised and not just_raised(trace.tb_next): - * # In this case we never stop if it was just raised, so, to know if it was the first we - */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 441, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L43_bool_binop_done; - } +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_f_locals_back = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + char const *__pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_remove_return_values", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":442 - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ - * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< - * # In this case we never stop if it was just raised, so, to know if it was the first we - * # need to check if we're in the 2nd method. + /* "_pydevd_bundle/pydevd_cython.pyx":393 + * # def _remove_return_values(self, py_db, frame): + * # ENDIF + * try: # <<<<<<<<<<<<<< + * try: + * # Showing return values was turned off, we should remove them from locals dict. */ - __pyx_t_7 = (!__pyx_v_was_just_raised); - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L43_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_just_raised); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_1}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_16 = (!__pyx_t_7); - __pyx_t_2 = __pyx_t_16; - __pyx_L43_bool_binop_done:; + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":441 - * else: - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised and not just_raised(trace.tb_next): - * # In this case we never stop if it was just raised, so, to know if it was the first we + /* "_pydevd_bundle/pydevd_cython.pyx":394 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one */ - if (__pyx_t_2) { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":445 - * # In this case we never stop if it was just raised, so, to know if it was the first we - * # need to check if we're in the 2nd method. - * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":397 + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one + * frame.f_locals.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - */ - __pyx_v_should_stop = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":441 - * else: - * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised and not just_raised(trace.tb_next): - * # In this case we never stop if it was just raised, so, to know if it was the first we + * f_locals_back = getattr(frame.f_back, "f_locals", None) */ - goto __pyx_L42; - } + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 397, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_8 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_5, Py_None}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 397, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":447 - * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + /* "_pydevd_bundle/pydevd_cython.pyx":399 + * frame.f_locals.pop(RETURN_VALUES_DICT, None) * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised: - * should_stop = False # I.e.: we stop only when it was just raised + * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) */ - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_16) { - } else { - __pyx_t_2 = __pyx_t_16; - goto __pyx_L47_bool_binop_done; - } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 399, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 399, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_f_locals_back = __pyx_t_6; + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":448 - * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - * and not was_just_raised: # <<<<<<<<<<<<<< - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":400 * + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: */ - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); + __pyx_t_9 = (__pyx_v_f_locals_back != Py_None); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":447 - * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception - * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised: - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":401 + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() */ - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_7 = (!__pyx_t_16); - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L47_bool_binop_done; - } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_pop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 401, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 401, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_8 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_5, Py_None}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 401, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":448 - * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - * and not was_just_raised: # <<<<<<<<<<<<<< - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":400 * + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: */ - __pyx_t_7 = (!__pyx_v_was_just_raised); - __pyx_t_2 = __pyx_t_7; - __pyx_L47_bool_binop_done:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":447 - * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception - * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised: - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":394 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one */ - if (__pyx_t_2) { + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L11_try_end; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":449 - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - * and not was_just_raised: - * should_stop = False # I.e.: we stop only when it was just raised # <<<<<<<<<<<<<< - * - * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: + /* "_pydevd_bundle/pydevd_cython.pyx":402 + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * finally: */ - __pyx_v_should_stop = 0; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 402, __pyx_L8_except_error) + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_5); - /* "_pydevd_bundle/pydevd_cython.pyx":447 - * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception - * - * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< - * and not was_just_raised: - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":403 + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * finally: + * f_locals_back = None */ - goto __pyx_L42; - } + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 403, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 403, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + __pyx_t_8 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + __pyx_t_8 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 403, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L7_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":451 - * should_stop = False # I.e.: we stop only when it was just raised - * - * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< - * # Option: Don't break if an exception is caught in the same function from which it is thrown - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":394 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one */ - if (__pyx_v_was_just_raised) { - } else { - __pyx_t_2 = __pyx_v_was_just_raised; - goto __pyx_L50_bool_binop_done; - } - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_2 = __pyx_t_7; - __pyx_L50_bool_binop_done:; - if (__pyx_t_2) { + __pyx_L8_except_error:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L4_error; + __pyx_L7_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L11_try_end:; + } + } - /* "_pydevd_bundle/pydevd_cython.pyx":453 - * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: - * # Option: Don't break if an exception is caught in the same function from which it is thrown - * should_stop = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":405 + * pydev_log.exception() + * finally: + * f_locals_back = None # <<<<<<<<<<<<<< * - * if should_stop: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __pyx_v_should_stop = 0; + /*finally:*/ { + /*normal exit:*/{ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __pyx_t_8 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; + { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + } + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; + goto __pyx_L1_error; + } + __pyx_L5:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":451 - * should_stop = False # I.e.: we stop only when it was just raised + /* "_pydevd_bundle/pydevd_cython.pyx":389 * - * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< - * # Option: Don't break if an exception is caught in the same function from which it is thrown - * should_stop = False + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _remove_return_values(self, py_db, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _remove_return_values(self, py_db, frame): */ - } - __pyx_L42:; - } - __pyx_L34:; - /* "_pydevd_bundle/pydevd_cython.pyx":455 - * should_stop = False - * - * if should_stop: # <<<<<<<<<<<<<< - * exception_breakpoint = exc_break - * try: - */ - if (__pyx_v_should_stop) { + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f_locals_back); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "_pydevd_bundle/pydevd_cython.pyx":456 +/* "_pydevd_bundle/pydevd_cython.pyx":408 * - * if should_stop: - * exception_breakpoint = exc_break # <<<<<<<<<<<<<< - * try: - * info.pydev_message = exc_break.qname - */ - __Pyx_INCREF(__pyx_v_exc_break); - __Pyx_DECREF_SET(__pyx_v_exception_breakpoint, __pyx_v_exc_break); - - /* "_pydevd_bundle/pydevd_cython.pyx":457 - * if should_stop: - * exception_breakpoint = exc_break - * try: # <<<<<<<<<<<<<< - * info.pydev_message = exc_break.qname - * except: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _get_unfiltered_back_frame(self, py_db, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _get_unfiltered_back_frame(self, py_db, frame): */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":458 - * exception_breakpoint = exc_break - * try: - * info.pydev_message = exc_break.qname # <<<<<<<<<<<<<< - * except: - * info.pydev_message = exc_break.qname.encode('utf-8') - */ - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 458, __pyx_L53_error) - __Pyx_GOTREF(__pyx_t_12); - if (!(likely(PyString_CheckExact(__pyx_t_12))||((__pyx_t_12) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_12))) __PYX_ERR(0, 458, __pyx_L53_error) - __Pyx_GIVEREF(__pyx_t_12); - __Pyx_GOTREF(__pyx_v_info->pydev_message); - __Pyx_DECREF(__pyx_v_info->pydev_message); - __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_12); - __pyx_t_12 = 0; +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__get_unfiltered_back_frame(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_get_unfiltered_back_frame", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":457 - * if should_stop: - * exception_breakpoint = exc_break - * try: # <<<<<<<<<<<<<< - * info.pydev_message = exc_break.qname - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":412 + * # def _get_unfiltered_back_frame(self, py_db, frame): + * # ENDIF + * f = frame.f_back # <<<<<<<<<<<<<< + * while f is not None: + * if not py_db.is_files_filter_enabled: */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L60_try_end; - __pyx_L53_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":459 - * try: - * info.pydev_message = exc_break.qname - * except: # <<<<<<<<<<<<<< - * info.pydev_message = exc_break.qname.encode('utf-8') - * break + /* "_pydevd_bundle/pydevd_cython.pyx":413 + * # ENDIF + * f = frame.f_back + * while f is not None: # <<<<<<<<<<<<<< + * if not py_db.is_files_filter_enabled: + * return f */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 459, __pyx_L55_except_error) - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_1); + while (1) { + __pyx_t_2 = (__pyx_v_f != Py_None); + if (!__pyx_t_2) break; - /* "_pydevd_bundle/pydevd_cython.pyx":460 - * info.pydev_message = exc_break.qname - * except: - * info.pydev_message = exc_break.qname.encode('utf-8') # <<<<<<<<<<<<<< - * break + /* "_pydevd_bundle/pydevd_cython.pyx":414 + * f = frame.f_back + * while f is not None: + * if not py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * return f * */ - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 460, __pyx_L55_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_encode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 460, __pyx_L55_except_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_kp_s_utf_8}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L55_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - if (!(likely(PyString_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_5))) __PYX_ERR(0, 460, __pyx_L55_except_error) - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_v_info->pydev_message); - __Pyx_DECREF(__pyx_v_info->pydev_message); - __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L54_exception_handled; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":457 - * if should_stop: - * exception_breakpoint = exc_break - * try: # <<<<<<<<<<<<<< - * info.pydev_message = exc_break.qname - * except: - */ - __pyx_L55_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L54_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_8); - __pyx_L60_try_end:; - } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 414, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (!__pyx_t_2); + if (__pyx_t_3) { - /* "_pydevd_bundle/pydevd_cython.pyx":461 - * except: - * info.pydev_message = exc_break.qname.encode('utf-8') - * break # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":415 + * while f is not None: + * if not py_db.is_files_filter_enabled: + * return f # <<<<<<<<<<<<<< * - * if should_stop: + * else: */ - goto __pyx_L31_break; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; + goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":455 - * should_stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":414 + * f = frame.f_back + * while f is not None: + * if not py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * return f * - * if should_stop: # <<<<<<<<<<<<<< - * exception_breakpoint = exc_break - * try: */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":412 - * check_excs.append((exc_break_caught, False)) + /* "_pydevd_bundle/pydevd_cython.pyx":418 * - * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< - * # Initially mark that it should stop and then go into exclusions. - * should_stop = True - */ - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L63_for_end; - __pyx_L31_break:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L63_for_end; - __pyx_L63_for_end:; - } - __pyx_L22:; - - /* "_pydevd_bundle/pydevd_cython.pyx":382 - * pydev_log.exception() + * else: + * if py_db.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< + * f = f.f_back * - * if not should_stop: # <<<<<<<<<<<<<< - * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). - * if exception == SystemExit and py_db.ignore_system_exit_code(value): */ + /*else*/ { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_7 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_7 = 1; + } } - - /* "_pydevd_bundle/pydevd_cython.pyx":463 - * break - * - * if should_stop: # <<<<<<<<<<<<<< - * # Always add exception to frame (must remove later after we proceed). - * add_exception_to_frame(frame, (exception, value, trace)) - */ - if (__pyx_v_should_stop) { - - /* "_pydevd_bundle/pydevd_cython.pyx":465 - * if should_stop: - * # Always add exception to frame (must remove later after we proceed). - * add_exception_to_frame(frame, (exception, value, trace)) # <<<<<<<<<<<<<< - * - * if exception_breakpoint is not None and exception_breakpoint.expression is not None: - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_add_exception_to_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error) + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_f, __pyx_t_6, Py_False}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_v_exception); - __Pyx_GIVEREF(__pyx_v_exception); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_exception)) __PYX_ERR(0, 465, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_value); - __Pyx_GIVEREF(__pyx_v_value); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value)) __PYX_ERR(0, 465, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_trace); - __Pyx_GIVEREF(__pyx_v_trace); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_trace)) __PYX_ERR(0, 465, __pyx_L1_error); - __pyx_t_12 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_frame, __pyx_t_4}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":467 - * add_exception_to_frame(frame, (exception, value, trace)) - * - * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< - * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) - * - */ - __pyx_t_7 = (__pyx_v_exception_breakpoint != Py_None); - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L66_bool_binop_done; - } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = (__pyx_t_3 != Py_None); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __pyx_t_7; - __pyx_L66_bool_binop_done:; - if (__pyx_t_2) { + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { - /* "_pydevd_bundle/pydevd_cython.pyx":468 - * - * if exception_breakpoint is not None and exception_breakpoint.expression is not None: - * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":419 + * else: + * if py_db.apply_files_filter(f, f.f_code.co_filename, False): + * f = f.f_back # <<<<<<<<<<<<<< * - * return should_stop, frame + * else: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_exception_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_frame}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":467 - * add_exception_to_frame(frame, (exception, value, trace)) + /* "_pydevd_bundle/pydevd_cython.pyx":418 * - * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< - * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) - * - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":463 - * break + * else: + * if py_db.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< + * f = f.f_back * - * if should_stop: # <<<<<<<<<<<<<< - * # Always add exception to frame (must remove later after we proceed). - * add_exception_to_frame(frame, (exception, value, trace)) */ + goto __pyx_L6; } - /* "_pydevd_bundle/pydevd_cython.pyx":369 - * exception, value, trace = arg + /* "_pydevd_bundle/pydevd_cython.pyx":422 * - * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< - * # on jython trace is None on the first event and it may not have a tb_next. + * else: + * return f # <<<<<<<<<<<<<< * + * return f */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; + goto __pyx_L0; + } + __pyx_L6:; } - - /* "_pydevd_bundle/pydevd_cython.pyx":366 - * - * # 2 = 2 - * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< - * exception, value, trace = arg - * - */ } - /* "_pydevd_bundle/pydevd_cython.pyx":470 - * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":424 + * return f * - * return should_stop, frame # <<<<<<<<<<<<<< + * return f # <<<<<<<<<<<<<< * - * def handle_user_exception(self, frame): + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_should_stop); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3)) __PYX_ERR(0, 470, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_frame); - __Pyx_GIVEREF(__pyx_v_frame); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_frame)) __PYX_ERR(0, 470, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":351 + /* "_pydevd_bundle/pydevd_cython.pyx":408 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _should_stop_on_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< - * cdef PyDBAdditionalThreadInfo info; - * cdef bint should_stop; + * cdef _get_unfiltered_back_frame(self, py_db, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _get_unfiltered_back_frame(self, py_db, frame): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._get_unfiltered_back_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_info); - __Pyx_XDECREF(__pyx_v_check_excs); - __Pyx_XDECREF(__pyx_v_py_db); - __Pyx_XDECREF(__pyx_v_exception); - __Pyx_XDECREF(__pyx_v_value); - __Pyx_XDECREF(__pyx_v_trace); - __Pyx_XDECREF(__pyx_v_exception_breakpoint); - __Pyx_XDECREF(__pyx_v_result); - __Pyx_XDECREF(__pyx_v_exc_break_user); - __Pyx_XDECREF(__pyx_v_exc_break_caught); - __Pyx_XDECREF(__pyx_v_exc_break); - __Pyx_XDECREF(__pyx_v_is_user_uncaught); - __Pyx_XDECREF(__pyx_v_exc_info); - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XDECREF(__pyx_v_f); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":472 - * return should_stop, frame +/* "_pydevd_bundle/pydevd_cython.pyx":427 * - * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< - * exc_info = self.exc_info - * if exc_info: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * # ELSE */ -/* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception = {"handle_user_exception", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_frame = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__is_same_frame(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_target_frame, PyObject *__pyx_v_current_frame) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("handle_user_exception (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 472, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "handle_user_exception") < 0)) __PYX_ERR(0, 472, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_frame = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("handle_user_exception", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 472, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } + __Pyx_RefNannySetupContext("_is_same_frame", 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * # def _is_same_frame(self, target_frame, current_frame): + * # ENDIF + * if target_frame is current_frame: # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_t_1 = (__pyx_v_target_frame == __pyx_v_current_frame); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":433 + * # ENDIF + * if target_frame is current_frame: + * return True # <<<<<<<<<<<<<< + * + * info = self._args[2] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * # def _is_same_frame(self, target_frame, current_frame): + * # ENDIF + * if target_frame is current_frame: # <<<<<<<<<<<<<< + * return True + * + */ } - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.handle_user_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame); - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } + /* "_pydevd_bundle/pydevd_cython.pyx":435 + * return True + * + * info = self._args[2] # <<<<<<<<<<<<<< + * if info.pydev_use_scoped_step_frame: + * # If using scoped step we don't check the target, we just need to check + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 435, __pyx_L1_error) } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 435, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 435, __pyx_L1_error) + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_2); + __pyx_t_2 = 0; -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { - PyObject *__pyx_v_exc_info = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("handle_user_exception", 1); + /* "_pydevd_bundle/pydevd_cython.pyx":436 + * + * info = self._args[2] + * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + */ + if (__pyx_v_info->pydev_use_scoped_step_frame) { + + /* "_pydevd_bundle/pydevd_cython.pyx":439 + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + * # The co_name may be different (it may include the line number), but + */ + __pyx_t_3 = (__pyx_v_target_frame != Py_None); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_current_frame != Py_None); + __pyx_t_1 = __pyx_t_3; + __pyx_L6_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":440 + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_target_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":443 + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + * f = current_frame.f_back # <<<<<<<<<<<<<< + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 443, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":444 + * # the filename must still be the same. + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + __pyx_t_3 = (__pyx_v_f != Py_None); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L10_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_L10_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":445 + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back # <<<<<<<<<<<<<< + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * return True + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 445, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":473 + /* "_pydevd_bundle/pydevd_cython.pyx":446 + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * return True * - * def handle_user_exception(self, frame): - * exc_info = self.exc_info # <<<<<<<<<<<<<< - * if exc_info: - * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) */ - __pyx_t_1 = __pyx_v_self->exc_info; - __Pyx_INCREF(__pyx_t_1); - __pyx_v_exc_info = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_v_f != Py_None); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L13_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 446, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_L13_bool_binop_done:; + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":474 - * def handle_user_exception(self, frame): - * exc_info = self.exc_info - * if exc_info: # <<<<<<<<<<<<<< - * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + /* "_pydevd_bundle/pydevd_cython.pyx":447 + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * return True # <<<<<<<<<<<<<< + * * return False */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 474, __pyx_L1_error) - if (__pyx_t_2) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":475 - * exc_info = self.exc_info - * if exc_info: - * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) # <<<<<<<<<<<<<< - * return False + /* "_pydevd_bundle/pydevd_cython.pyx":446 + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * return True * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_exc_info, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(0, 475, __pyx_L1_error) - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_n_s_exception, __pyx_t_1, ((PyObject*)__pyx_t_3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":474 - * def handle_user_exception(self, frame): - * exc_info = self.exc_info - * if exc_info: # <<<<<<<<<<<<<< - * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) - * return False + /* "_pydevd_bundle/pydevd_cython.pyx":444 + * # the filename must still be the same. + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":440 + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":439 + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + * # The co_name may be different (it may include the line number), but + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":436 + * + * info = self._args[2] + * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. */ } - /* "_pydevd_bundle/pydevd_cython.pyx":476 - * if exc_info: - * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + /* "_pydevd_bundle/pydevd_cython.pyx":449 + * return True + * * return False # <<<<<<<<<<<<<< * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) @@ -13799,5265 +13624,4759 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_us __pyx_r = Py_False; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":472 - * return should_stop, frame + /* "_pydevd_bundle/pydevd_cython.pyx":427 * - * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< - * exc_info = self.exc_info - * if exc_info: + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * # ELSE */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.handle_user_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._is_same_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; __pyx_L0:; - __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XDECREF((PyObject *)__pyx_v_info); + __Pyx_XDECREF(__pyx_v_f); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":479 +/* "_pydevd_bundle/pydevd_cython.pyx":452 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _handle_exception(self, frame, str event, arg, str exception_type): # <<<<<<<<<<<<<< - * cdef bint stopped; - * cdef tuple abs_real_path_and_base; + * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef tuple abs_path_canonical_path_and_base; + * cdef bint is_exception_event; */ -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type) { - int __pyx_v_stopped; - PyObject *__pyx_v_abs_real_path_and_base = 0; - PyObject *__pyx_v_absolute_filename = 0; - PyObject *__pyx_v_canonical_normalized_filename = 0; - PyObject *__pyx_v_filename_to_lines_where_exceptions_are_ignored = 0; - PyObject *__pyx_v_lines_ignored = 0; - PyObject *__pyx_v_frame_id_to_frame = 0; - PyObject *__pyx_v_merged = 0; - PyObject *__pyx_v_trace_obj = 0; - PyObject *__pyx_v_py_db = 0; - PyObject *__pyx_v_initial_trace_obj = NULL; - PyObject *__pyx_v_check_trace_obj = NULL; - PyObject *__pyx_v_curr_stat = NULL; - PyObject *__pyx_v_last_stat = NULL; - PyObject *__pyx_v_from_user_input = NULL; - PyObject *__pyx_v_exc_lineno = NULL; - PyObject *__pyx_v_line = NULL; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, int __pyx_skip_dispatch) { + PyObject *__pyx_v_abs_path_canonical_path_and_base = 0; + int __pyx_v_is_exception_event; + int __pyx_v_has_exception_breakpoints; + int __pyx_v_can_skip; + int __pyx_v_stop; + int __pyx_v_stop_on_plugin_breakpoint; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + int __pyx_v_step_cmd; + int __pyx_v_line; + int __pyx_v_is_line; + int __pyx_v_is_call; + int __pyx_v_is_return; + int __pyx_v_should_stop; + PyObject *__pyx_v_breakpoints_for_file = 0; + PyObject *__pyx_v_stop_info = 0; + PyObject *__pyx_v_curr_func_name = 0; + PyObject *__pyx_v_frame_skips_cache = 0; + PyObject *__pyx_v_frame_cache_key = 0; + PyObject *__pyx_v_line_cache_key = 0; + int __pyx_v_breakpoints_in_line_cache; + int __pyx_v_breakpoints_in_frame_cache; + int __pyx_v_has_breakpoint_in_frame; + int __pyx_v_bp_line; + PyObject *__pyx_v_bp = 0; + int __pyx_v_pydev_smart_parent_offset; + int __pyx_v_pydev_smart_child_offset; + PyObject *__pyx_v_pydev_smart_step_into_variants = 0; + PyObject *__pyx_v_py_db = NULL; PyObject *__pyx_v_thread = NULL; + PyObject *__pyx_v_plugin_manager = NULL; + PyObject *__pyx_v_stop_frame = NULL; + PyObject *__pyx_v_function_breakpoint_on_call_event = NULL; + PyObject *__pyx_v_returns_cache_key = NULL; + PyObject *__pyx_v_return_lines = NULL; + PyObject *__pyx_v_x = NULL; PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_exc_info = NULL; + PyObject *__pyx_v_func_lines = NULL; + PyObject *__pyx_v_offset_and_lineno = NULL; + PyObject *__pyx_v_breakpoint = NULL; + PyObject *__pyx_v_stop_reason = NULL; + PyObject *__pyx_v_bp_type = NULL; + PyObject *__pyx_v_new_frame = NULL; + PyObject *__pyx_v_result = NULL; + PyObject *__pyx_v_eval_result = NULL; + PyObject *__pyx_v_cmd = NULL; + PyObject *__pyx_v_exc = NULL; + long __pyx_v_should_skip; + PyObject *__pyx_v_plugin_stop = NULL; + PyObject *__pyx_v_force_check_project_scope = NULL; + PyObject *__pyx_v_filename = NULL; + PyObject *__pyx_v_f2 = NULL; + PyObject *__pyx_v_back = NULL; + PyObject *__pyx_v_smart_step_into_variant = NULL; + PyObject *__pyx_v_children_variants = NULL; + PyObject *__pyx_v_f_code = NULL; + CYTHON_UNUSED PyObject *__pyx_v_stopped_on_plugin = NULL; + PyObject *__pyx_v_back_absolute_filename = NULL; + CYTHON_UNUSED PyObject *__pyx_v__ = NULL; + PyObject *__pyx_v_base = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; + int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - char const *__pyx_t_17; + int __pyx_t_10; + int __pyx_t_11; + Py_ssize_t __pyx_t_12; + PyObject *(*__pyx_t_13)(PyObject *); + PyObject *(*__pyx_t_14)(PyObject *); + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; + int __pyx_t_19; + Py_ssize_t __pyx_t_20; PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; + char const *__pyx_t_22; PyObject *__pyx_t_23 = NULL; - int __pyx_t_24; - char const *__pyx_t_25; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + PyObject *__pyx_t_26 = NULL; + PyObject *__pyx_t_27 = NULL; + PyObject *__pyx_t_28 = NULL; + char const *__pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_handle_exception", 0); + __Pyx_RefNannySetupContext("trace_dispatch", 0); __Pyx_INCREF(__pyx_v_frame); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { + PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch)) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); + if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) { + __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + } + #endif + } - /* "_pydevd_bundle/pydevd_cython.pyx":493 - * # def _handle_exception(self, frame, event, arg, exception_type): - * # ENDIF - * stopped = False # <<<<<<<<<<<<<< - * try: - * # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) - */ - __pyx_v_stopped = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":494 - * # ENDIF - * stopped = False - * try: # <<<<<<<<<<<<<< - * # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) + /* "_pydevd_bundle/pydevd_cython.pyx":492 + * # generation be better split among what each part does). * + * try: # <<<<<<<<<<<<<< + * # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename + * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args */ /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":498 - * - * # We have 3 things in arg: exception type, description, traceback object - * trace_obj = arg[2] # <<<<<<<<<<<<<< - * py_db = self._args[0] - * - */ - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_arg, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_trace_obj = __pyx_t_1; - __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":499 - * # We have 3 things in arg: exception type, description, traceback object - * trace_obj = arg[2] - * py_db = self._args[0] # <<<<<<<<<<<<<< - * - * initial_trace_obj = trace_obj + /* "_pydevd_bundle/pydevd_cython.pyx":494 + * try: + * # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename + * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args # <<<<<<<<<<<<<< + * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + * info.is_tracing += 1 */ - if (unlikely(__pyx_v_self->_args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 499, __pyx_L4_error) + __pyx_t_1 = __pyx_v_self->_args; + __Pyx_INCREF(__pyx_t_1); + if (likely(__pyx_t_1 != Py_None)) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 6)) { + if (size > 6) __Pyx_RaiseTooManyValuesError(6); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 494, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 4); + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + #else + { + Py_ssize_t i; + PyObject** temps[6] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8}; + for (i=0; i < 6; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 494, __pyx_L4_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 494, __pyx_L4_error) } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_py_db = __pyx_t_1; - __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":501 - * py_db = self._args[0] - * - * initial_trace_obj = trace_obj # <<<<<<<<<<<<<< - * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: - * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). - */ - __Pyx_INCREF(__pyx_v_trace_obj); - __pyx_v_initial_trace_obj = __pyx_v_trace_obj; + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_3))) __PYX_ERR(0, 494, __pyx_L4_error) + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 494, __pyx_L4_error) + if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_7))) __PYX_ERR(0, 494, __pyx_L4_error) + __pyx_v_py_db = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_abs_path_canonical_path_and_base = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_thread = __pyx_t_6; + __pyx_t_6 = 0; + __pyx_v_frame_skips_cache = ((PyObject*)__pyx_t_7); + __pyx_t_7 = 0; + __pyx_v_frame_cache_key = __pyx_t_8; + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":502 + /* "_pydevd_bundle/pydevd_cython.pyx":496 + * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args + * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + * info.is_tracing += 1 # <<<<<<<<<<<<<< + * + * # TODO: This shouldn't be needed. The fact that frame.f_lineno + */ + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing + 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":501 + * # is None seems like a bug in Python 3.11. + * # Reported in: https://github.com/python/cpython/issues/94485 + * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None # <<<<<<<<<<<<<< + * line_cache_key = (frame_cache_key, line) * - * initial_trace_obj = trace_obj - * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: # <<<<<<<<<<<<<< - * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). - * pass */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 == Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 501, __pyx_L4_error) + if (!__pyx_t_9) { + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { - __pyx_t_2 = __pyx_t_3; - goto __pyx_L7_bool_binop_done; + __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 501, __pyx_L4_error) + __pyx_t_5 = __pyx_t_10; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L6_bool_binop_done; } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error) + __pyx_t_5 = 0; + __pyx_L6_bool_binop_done:; + __pyx_v_line = __pyx_t_5; + + /* "_pydevd_bundle/pydevd_cython.pyx":502 + * # Reported in: https://github.com/python/cpython/issues/94485 + * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None + * line_cache_key = (frame_cache_key, line) # <<<<<<<<<<<<<< + * + * if py_db.pydb_disposed: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = (__pyx_t_1 == __pyx_v_frame); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __pyx_t_3; - __pyx_L7_bool_binop_done:; - if (__pyx_t_2) { - goto __pyx_L6; - } + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 502, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 502, __pyx_L4_error); + __Pyx_GIVEREF(__pyx_t_1); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error); + __pyx_t_1 = 0; + __pyx_v_line_cache_key = ((PyObject*)__pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":507 - * else: - * # Get the trace_obj from where the exception was raised... - * while trace_obj.tb_next is not None: # <<<<<<<<<<<<<< - * trace_obj = trace_obj.tb_next + /* "_pydevd_bundle/pydevd_cython.pyx":504 + * line_cache_key = (frame_cache_key, line) + * + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE * */ - /*else*/ { - while (1) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 507, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_2) break; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 504, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 504, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":508 - * # Get the trace_obj from where the exception was raised... - * while trace_obj.tb_next is not None: - * trace_obj = trace_obj.tb_next # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":505 + * + * if py_db.pydb_disposed: + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< * - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * plugin_manager = py_db.plugin */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L4_error) + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 505, __pyx_L4_error) + if (__pyx_t_9) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_trace_obj, __pyx_t_1); + __pyx_t_8 = __pyx_t_1; __pyx_t_1 = 0; } - } - __pyx_L6:; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":510 - * trace_obj = trace_obj.tb_next + /* "_pydevd_bundle/pydevd_cython.pyx":504 + * line_cache_key = (frame_cache_key, line) * - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< - * for check_trace_obj in (initial_trace_obj, trace_obj): - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_ignore_exceptions_thrown_in_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 510, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - /* "_pydevd_bundle/pydevd_cython.pyx":511 + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE * - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: - * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - * absolute_filename = abs_real_path_and_base[0] */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 511, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_initial_trace_obj); - __Pyx_GIVEREF(__pyx_v_initial_trace_obj); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_initial_trace_obj)) __PYX_ERR(0, 511, __pyx_L4_error); - __Pyx_INCREF(__pyx_v_trace_obj); - __Pyx_GIVEREF(__pyx_v_trace_obj); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_trace_obj)) __PYX_ERR(0, 511, __pyx_L4_error); - __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (__pyx_t_5 >= 2) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 511, __pyx_L4_error) - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 511, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, __pyx_t_1); - __pyx_t_1 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":512 - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: - * for check_trace_obj in (initial_trace_obj, trace_obj): - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) # <<<<<<<<<<<<<< - * absolute_filename = abs_real_path_and_base[0] - * canonical_normalized_filename = abs_real_path_and_base[1] + /* "_pydevd_bundle/pydevd_cython.pyx":507 + * return None if event == 'call' else NO_FTRACE + * + * plugin_manager = py_db.plugin # <<<<<<<<<<<<<< + * has_exception_breakpoints = ( + * py_db.break_on_caught_exceptions */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 512, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 512, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(0, 512, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_abs_real_path_and_base, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 507, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_plugin_manager = __pyx_t_8; + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":513 - * for check_trace_obj in (initial_trace_obj, trace_obj): - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - * absolute_filename = abs_real_path_and_base[0] # <<<<<<<<<<<<<< - * canonical_normalized_filename = abs_real_path_and_base[1] - * + /* "_pydevd_bundle/pydevd_cython.pyx":509 + * plugin_manager = py_db.plugin + * has_exception_breakpoints = ( + * py_db.break_on_caught_exceptions # <<<<<<<<<<<<<< + * or py_db.break_on_user_uncaught_exceptions + * or py_db.has_plugin_exception_breaks) */ - if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 513, __pyx_L4_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 513, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_absolute_filename, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 509, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 509, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L9_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":514 - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - * absolute_filename = abs_real_path_and_base[0] - * canonical_normalized_filename = abs_real_path_and_base[1] # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":510 + * has_exception_breakpoints = ( + * py_db.break_on_caught_exceptions + * or py_db.break_on_user_uncaught_exceptions # <<<<<<<<<<<<<< + * or py_db.has_plugin_exception_breaks) * - * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored */ - if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 514, __pyx_L4_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 514, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_canonical_normalized_filename, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 510, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 510, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L9_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":516 - * canonical_normalized_filename = abs_real_path_and_base[1] - * - * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":511 + * py_db.break_on_caught_exceptions + * or py_db.break_on_user_uncaught_exceptions + * or py_db.has_plugin_exception_breaks) # <<<<<<<<<<<<<< * - * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * stop_frame = info.pydev_step_stop */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_1))) __PYX_ERR(0, 516, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_filename_to_lines_where_exceptions_are_ignored, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 511, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 511, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L9_bool_binop_done:; + __pyx_v_has_exception_breakpoints = __pyx_t_9; - /* "_pydevd_bundle/pydevd_cython.pyx":518 - * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored + /* "_pydevd_bundle/pydevd_cython.pyx":513 + * or py_db.has_plugin_exception_breaks) * - * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< - * if lines_ignored is None: - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * stop_frame = info.pydev_step_stop # <<<<<<<<<<<<<< + * step_cmd = info.pydev_step_cmd + * function_breakpoint_on_call_event = None */ - if (unlikely(__pyx_v_filename_to_lines_where_exceptions_are_ignored == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 518, __pyx_L4_error) - } - __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_filename_to_lines_where_exceptions_are_ignored, __pyx_v_canonical_normalized_filename, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_1))) __PYX_ERR(0, 518, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_lines_ignored, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __pyx_t_8 = __pyx_v_info->pydev_step_stop; + __Pyx_INCREF(__pyx_t_8); + __pyx_v_stop_frame = __pyx_t_8; + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":519 + /* "_pydevd_bundle/pydevd_cython.pyx":514 * - * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if lines_ignored is None: # <<<<<<<<<<<<<< - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * stop_frame = info.pydev_step_stop + * step_cmd = info.pydev_step_cmd # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = None * */ - __pyx_t_2 = (__pyx_v_lines_ignored == ((PyObject*)Py_None)); - if (__pyx_t_2) { + __pyx_t_5 = __pyx_v_info->pydev_step_cmd; + __pyx_v_step_cmd = __pyx_t_5; - /* "_pydevd_bundle/pydevd_cython.pyx":520 - * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if lines_ignored is None: - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":515 + * stop_frame = info.pydev_step_stop + * step_cmd = info.pydev_step_cmd + * function_breakpoint_on_call_event = None # <<<<<<<<<<<<<< * - * try: + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_lines_ignored, __pyx_t_1); - if (unlikely(__pyx_v_filename_to_lines_where_exceptions_are_ignored == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 520, __pyx_L4_error) - } - if (unlikely((PyDict_SetItem(__pyx_v_filename_to_lines_where_exceptions_are_ignored, __pyx_v_canonical_normalized_filename, __pyx_t_1) < 0))) __PYX_ERR(0, 520, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(Py_None); + __pyx_v_function_breakpoint_on_call_event = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":519 - * - * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if lines_ignored is None: # <<<<<<<<<<<<<< - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + /* "_pydevd_bundle/pydevd_cython.pyx":517 + * function_breakpoint_on_call_event = None * + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 # <<<<<<<<<<<<<< + * # Dealing with coroutines and generators: + * # When in a coroutine we change the perceived event to the debugger because */ - } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 517, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_AndObjC(__pyx_t_1, __pyx_int_160, 0xa0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 517, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 517, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":522 - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} - * - * try: # <<<<<<<<<<<<<< - * curr_stat = os.stat(absolute_filename) - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + /* "_pydevd_bundle/pydevd_cython.pyx":521 + * # When in a coroutine we change the perceived event to the debugger because + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_line, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 521, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":523 - * - * try: - * curr_stat = os.stat(absolute_filename) # <<<<<<<<<<<<<< - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":522 + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': + * is_line = True # <<<<<<<<<<<<<< + * is_call = False + * is_return = False */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_os); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 523, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_stat); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 523, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_absolute_filename}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 523, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_curr_stat, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_is_line = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":524 - * try: - * curr_stat = os.stat(absolute_filename) - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) # <<<<<<<<<<<<<< - * except: - * curr_stat = None + /* "_pydevd_bundle/pydevd_cython.pyx":523 + * if event == 'line': + * is_line = True + * is_call = False # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 524, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_mtime); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 524, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1)) __PYX_ERR(0, 524, __pyx_L15_error); - __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7)) __PYX_ERR(0, 524, __pyx_L15_error); - __pyx_t_1 = 0; - __pyx_t_7 = 0; - __Pyx_DECREF_SET(__pyx_v_curr_stat, __pyx_t_6); - __pyx_t_6 = 0; + __pyx_v_is_call = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":522 - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + /* "_pydevd_bundle/pydevd_cython.pyx":524 + * is_line = True + * is_call = False + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False * - * try: # <<<<<<<<<<<<<< - * curr_stat = os.stat(absolute_filename) - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_is_return = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":525 - * curr_stat = os.stat(absolute_filename) - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) - * except: # <<<<<<<<<<<<<< - * curr_stat = None + /* "_pydevd_bundle/pydevd_cython.pyx":525 + * is_call = False + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< * + * elif event == 'return': */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(0, 525, __pyx_L17_except_error) - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_1); + __pyx_v_is_exception_event = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":526 - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) - * except: - * curr_stat = None # <<<<<<<<<<<<<< - * - * last_stat = self.filename_to_stat_info.get(absolute_filename) + /* "_pydevd_bundle/pydevd_cython.pyx":521 + * # When in a coroutine we change the perceived event to the debugger because + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_curr_stat, Py_None); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L16_exception_handled; - } + goto __pyx_L13; + } - /* "_pydevd_bundle/pydevd_cython.pyx":522 - * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + /* "_pydevd_bundle/pydevd_cython.pyx":527 + * is_exception_event = False * - * try: # <<<<<<<<<<<<<< - * curr_stat = os.stat(absolute_filename) - * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_call = False */ - __pyx_L17_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L4_error; - __pyx_L16_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 527, __pyx_L4_error) + if (__pyx_t_9) { /* "_pydevd_bundle/pydevd_cython.pyx":528 - * curr_stat = None * - * last_stat = self.filename_to_stat_info.get(absolute_filename) # <<<<<<<<<<<<<< - * if last_stat != curr_stat: - * self.filename_to_stat_info[absolute_filename] = curr_stat + * elif event == 'return': + * is_line = False # <<<<<<<<<<<<<< + * is_call = False + * is_return = True */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 528, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_absolute_filename}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_last_stat, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_is_line = 0; /* "_pydevd_bundle/pydevd_cython.pyx":529 - * - * last_stat = self.filename_to_stat_info.get(absolute_filename) - * if last_stat != curr_stat: # <<<<<<<<<<<<<< - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() + * elif event == 'return': + * is_line = False + * is_call = False # <<<<<<<<<<<<<< + * is_return = True + * is_exception_event = False */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_last_stat, __pyx_v_curr_stat, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L4_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 529, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { + __pyx_v_is_call = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":530 - * last_stat = self.filename_to_stat_info.get(absolute_filename) - * if last_stat != curr_stat: - * self.filename_to_stat_info[absolute_filename] = curr_stat # <<<<<<<<<<<<<< - * lines_ignored.clear() - * try: + /* "_pydevd_bundle/pydevd_cython.pyx":530 + * is_line = False + * is_call = False + * is_return = True # <<<<<<<<<<<<<< + * is_exception_event = False + * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_curr_stat) < 0))) __PYX_ERR(0, 530, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_is_return = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":531 - * if last_stat != curr_stat: - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() # <<<<<<<<<<<<<< - * try: - * linecache.checkcache(absolute_filename) + /* "_pydevd_bundle/pydevd_cython.pyx":531 + * is_call = False + * is_return = True + * is_exception_event = False # <<<<<<<<<<<<<< + * + * returns_cache_key = (frame_cache_key, 'returns') */ - if (unlikely(__pyx_v_lines_ignored == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear"); - __PYX_ERR(0, 531, __pyx_L4_error) - } - __pyx_t_13 = __Pyx_PyDict_Clear(__pyx_v_lines_ignored); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 531, __pyx_L4_error) + __pyx_v_is_exception_event = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":532 - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() - * try: # <<<<<<<<<<<<<< - * linecache.checkcache(absolute_filename) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":533 + * is_exception_event = False + * + * returns_cache_key = (frame_cache_key, 'returns') # <<<<<<<<<<<<<< + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 533, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 533, __pyx_L4_error); + __Pyx_INCREF(__pyx_n_s_returns); + __Pyx_GIVEREF(__pyx_n_s_returns); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_returns)) __PYX_ERR(0, 533, __pyx_L4_error); + __pyx_v_returns_cache_key = ((PyObject*)__pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":533 - * lines_ignored.clear() - * try: - * linecache.checkcache(absolute_filename) # <<<<<<<<<<<<<< - * except: - * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + /* "_pydevd_bundle/pydevd_cython.pyx":534 + * + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) # <<<<<<<<<<<<<< + * if return_lines is None: + * # Note: we're collecting the return lines by inspecting the bytecode as */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_linecache); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 533, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_checkcache); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 533, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_absolute_filename}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 534, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 534, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_return_lines = __pyx_t_8; + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":532 - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() - * try: # <<<<<<<<<<<<<< - * linecache.checkcache(absolute_filename) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":535 + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: # <<<<<<<<<<<<<< + * # Note: we're collecting the return lines by inspecting the bytecode as + * # there are multiple returns and multiple stop iterations when awaiting and */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L33_try_end; - __pyx_L26_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = (__pyx_v_return_lines == Py_None); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":534 - * try: - * linecache.checkcache(absolute_filename) - * except: # <<<<<<<<<<<<<< - * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) - * + /* "_pydevd_bundle/pydevd_cython.pyx":540 + * # it doesn't give any clear indication when a coroutine or generator is + * # finishing or just pausing. + * return_lines = set() # <<<<<<<<<<<<<< + * for x in py_db.collect_return_info(frame.f_code): + * # Note: cython does not support closures in cpdefs (so we can't use */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 534, __pyx_L28_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); + __pyx_t_8 = PySet_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 540, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_return_lines, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":535 - * linecache.checkcache(absolute_filename) - * except: - * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) # <<<<<<<<<<<<<< - * - * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + /* "_pydevd_bundle/pydevd_cython.pyx":541 + * # finishing or just pausing. + * return_lines = set() + * for x in py_db.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). */ - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 535, __pyx_L28_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_exception); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 535, __pyx_L28_except_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_9 = 1; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_collect_return_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 541, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 541, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { + __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); + __pyx_t_12 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 541, __pyx_L4_error) + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); + #if !CYTHON_ASSUME_SAFE_MACROS + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 541, __pyx_L4_error) + #endif + if (__pyx_t_12 >= __pyx_temp) break; } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_14, __pyx_kp_s_Error_in_linecache_checkcache_r, __pyx_v_absolute_filename}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 535, __pyx_L28_except_error) + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 541, __pyx_L4_error) + #else + __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 541, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + #endif + } else { + { + Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); + #if !CYTHON_ASSUME_SAFE_MACROS + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 541, __pyx_L4_error) + #endif + if (__pyx_t_12 >= __pyx_temp) break; + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 541, __pyx_L4_error) + #else + __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 541, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + #endif } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L27_exception_handled; + } else { + __pyx_t_8 = __pyx_t_13(__pyx_t_1); + if (unlikely(!__pyx_t_8)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 541, __pyx_L4_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_8); } + __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":532 - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() - * try: # <<<<<<<<<<<<<< - * linecache.checkcache(absolute_filename) - * except: - */ - __pyx_L28_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L4_error; - __pyx_L27_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L33_try_end:; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":529 + /* "_pydevd_bundle/pydevd_cython.pyx":544 + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). + * return_lines.add(x.return_line) # <<<<<<<<<<<<<< * - * last_stat = self.filename_to_stat_info.get(absolute_filename) - * if last_stat != curr_stat: # <<<<<<<<<<<<<< - * self.filename_to_stat_info[absolute_filename] = curr_stat - * lines_ignored.clear() + * frame_skips_cache[returns_cache_key] = return_lines */ - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 544, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_return_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 544, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 544, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":537 - * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) - * - * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< - * if from_user_input: - * merged = {} + /* "_pydevd_bundle/pydevd_cython.pyx":541 + * # finishing or just pausing. + * return_lines = set() + * for x in py_db.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 537, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_canonical_normalized_filename}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_from_user_input, __pyx_t_6); - __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":538 + /* "_pydevd_bundle/pydevd_cython.pyx":546 + * return_lines.add(x.return_line) + * + * frame_skips_cache[returns_cache_key] = return_lines # <<<<<<<<<<<<<< * - * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if from_user_input: # <<<<<<<<<<<<<< - * merged = {} - * merged.update(lines_ignored) + * if line not in return_lines: */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_from_user_input); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 538, __pyx_L4_error) - if (__pyx_t_2) { + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 546, __pyx_L4_error) + } + if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, __pyx_v_return_lines) < 0))) __PYX_ERR(0, 546, __pyx_L4_error) - /* "_pydevd_bundle/pydevd_cython.pyx":539 - * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if from_user_input: - * merged = {} # <<<<<<<<<<<<<< - * merged.update(lines_ignored) - * # Override what we have with the related entries that the user entered + /* "_pydevd_bundle/pydevd_cython.pyx":535 + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: # <<<<<<<<<<<<<< + * # Note: we're collecting the return lines by inspecting the bytecode as + * # there are multiple returns and multiple stop iterations when awaiting and */ - __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 539, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_XDECREF_SET(__pyx_v_merged, ((PyObject*)__pyx_t_6)); - __pyx_t_6 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":540 - * if from_user_input: - * merged = {} - * merged.update(lines_ignored) # <<<<<<<<<<<<<< - * # Override what we have with the related entries that the user entered - * merged.update(from_user_input) + /* "_pydevd_bundle/pydevd_cython.pyx":548 + * frame_skips_cache[returns_cache_key] = return_lines + * + * if line not in return_lines: # <<<<<<<<<<<<<< + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch */ - __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_lines_ignored); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 540, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_return_lines, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 548, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":542 - * merged.update(lines_ignored) - * # Override what we have with the related entries that the user entered - * merged.update(from_user_input) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":550 + * if line not in return_lines: + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch # <<<<<<<<<<<<<< * else: - * merged = lines_ignored + * if self.exc_info: */ - __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_from_user_input); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 542, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":538 + /* "_pydevd_bundle/pydevd_cython.pyx":548 + * frame_skips_cache[returns_cache_key] = return_lines * - * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - * if from_user_input: # <<<<<<<<<<<<<< - * merged = {} - * merged.update(lines_ignored) + * if line not in return_lines: # <<<<<<<<<<<<<< + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch */ - goto __pyx_L36; } - /* "_pydevd_bundle/pydevd_cython.pyx":544 - * merged.update(from_user_input) + /* "_pydevd_bundle/pydevd_cython.pyx":552 + * return self.trace_dispatch * else: - * merged = lines_ignored # <<<<<<<<<<<<<< - * - * exc_lineno = check_trace_obj.tb_lineno + * if self.exc_info: # <<<<<<<<<<<<<< + * self.handle_user_exception(frame) + * return self.trace_dispatch */ /*else*/ { - __Pyx_INCREF(__pyx_v_lines_ignored); - __Pyx_XDECREF_SET(__pyx_v_merged, __pyx_v_lines_ignored); - } - __pyx_L36:; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 552, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":546 - * merged = lines_ignored - * - * exc_lineno = check_trace_obj.tb_lineno # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":553 + * else: + * if self.exc_info: + * self.handle_user_exception(frame) # <<<<<<<<<<<<<< + * return self.trace_dispatch * - * # print ('lines ignored', lines_ignored) */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_lineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 546, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_XDECREF_SET(__pyx_v_exc_lineno, __pyx_t_6); - __pyx_t_6 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 553, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 553, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":552 - * # print ('merged', merged, 'curr', exc_lineno) + /* "_pydevd_bundle/pydevd_cython.pyx":554 + * if self.exc_info: + * self.handle_user_exception(frame) + * return self.trace_dispatch # <<<<<<<<<<<<<< * - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< - * try: - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * # Tricky handling: usually when we're on a frame which is about to exit */ - if (unlikely(__pyx_v_merged == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 552, __pyx_L4_error) - } - __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_v_exc_lineno, __pyx_v_merged, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 552, __pyx_L4_error) - if (__pyx_t_2) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":553 - * - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - * try: # <<<<<<<<<<<<<< - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":552 + * return self.trace_dispatch + * else: + * if self.exc_info: # <<<<<<<<<<<<<< + * self.handle_user_exception(frame) + * return self.trace_dispatch */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { + } - /* "_pydevd_bundle/pydevd_cython.pyx":554 - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - * try: - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) # <<<<<<<<<<<<<< - * except: - * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + /* "_pydevd_bundle/pydevd_cython.pyx":572 + * # as the return shouldn't mean that we've actually completed executing a + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(py_db, frame) */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linecache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getline); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 554, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L38_error) + __pyx_t_11 = (__pyx_v_stop_frame == __pyx_v_frame); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L21_bool_binop_done; + } + __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); + __pyx_t_9 = __pyx_t_11; + __pyx_L21_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":573 + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x9F: + case 0x6B: + case 0x90: + + /* "_pydevd_bundle/pydevd_cython.pyx":574 + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(py_db, frame) # <<<<<<<<<<<<<< + * if f is not None: + * info.pydev_step_cmd = 206 + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_f_globals); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 554, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_exc_lineno, __pyx_t_8}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 554, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_6); - __pyx_t_6 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":553 - * - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - * try: # <<<<<<<<<<<<<< - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":575 + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L45_try_end; - __pyx_L38_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = (__pyx_v_f != Py_None); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":555 - * try: - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - * except: # <<<<<<<<<<<<<< - * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) - * line = '' + /* "_pydevd_bundle/pydevd_cython.pyx":576 + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: + * info.pydev_step_cmd = 206 # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 555, __pyx_L40_except_error) - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); + __pyx_v_info->pydev_step_cmd = 0xCE; - /* "_pydevd_bundle/pydevd_cython.pyx":556 - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - * except: - * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) # <<<<<<<<<<<<<< - * line = '' - * + /* "_pydevd_bundle/pydevd_cython.pyx":577 + * if f is not None: + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f # <<<<<<<<<<<<<< + * else: + * if step_cmd == 108: */ - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 556, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_exception); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 556, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_15)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_15); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_15, __pyx_kp_s_Error_in_linecache_getline_r_s_f, __pyx_v_absolute_filename, __pyx_v_exc_lineno}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 556, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = __pyx_v_f; + + /* "_pydevd_bundle/pydevd_cython.pyx":575 + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f + */ + goto __pyx_L23; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":557 - * except: - * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) - * line = '' # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":579 + * info.pydev_step_stop = f + * else: + * if step_cmd == 108: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None + */ + /*else*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":583 + * info.pydev_step_stop = None * - * if IGNORE_EXCEPTION_TAG.match(line) is not None: + * elif step_cmd == 159: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None */ - __Pyx_INCREF(__pyx_kp_s_); - __Pyx_XDECREF_SET(__pyx_v_line, __pyx_kp_s_); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L39_exception_handled; - } + switch (__pyx_v_step_cmd) { + case 0x6C: - /* "_pydevd_bundle/pydevd_cython.pyx":553 + /* "_pydevd_bundle/pydevd_cython.pyx":580 + * else: + * if step_cmd == 108: + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None * - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - * try: # <<<<<<<<<<<<<< - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - * except: */ - __pyx_L40_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L4_error; - __pyx_L39_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L45_try_end:; - } + __pyx_v_info->pydev_step_cmd = 0x6B; - /* "_pydevd_bundle/pydevd_cython.pyx":559 - * line = '' + /* "_pydevd_bundle/pydevd_cython.pyx":581 + * if step_cmd == 108: + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< * - * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< - * lines_ignored[exc_lineno] = 1 - * return False + * elif step_cmd == 159: */ - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_IGNORE_EXCEPTION_TAG); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 559, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_match); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 559, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_line}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 559, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_2 = (__pyx_t_8 != Py_None); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_2) { - - /* "_pydevd_bundle/pydevd_cython.pyx":560 - * - * if IGNORE_EXCEPTION_TAG.match(line) is not None: - * lines_ignored[exc_lineno] = 1 # <<<<<<<<<<<<<< - * return False - * else: - */ - if (unlikely(__pyx_v_lines_ignored == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 560, __pyx_L4_error) - } - if (unlikely((PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_1) < 0))) __PYX_ERR(0, 560, __pyx_L4_error) + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":561 - * if IGNORE_EXCEPTION_TAG.match(line) is not None: - * lines_ignored[exc_lineno] = 1 - * return False # <<<<<<<<<<<<<< - * else: - * # Put in the cache saying not to ignore + /* "_pydevd_bundle/pydevd_cython.pyx":579 + * info.pydev_step_stop = f + * else: + * if step_cmd == 108: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L3_return; + break; + case 0x9F: - /* "_pydevd_bundle/pydevd_cython.pyx":559 - * line = '' + /* "_pydevd_bundle/pydevd_cython.pyx":584 * - * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< - * lines_ignored[exc_lineno] = 1 - * return False - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":564 - * else: - * # Put in the cache saying not to ignore - * lines_ignored[exc_lineno] = 0 # <<<<<<<<<<<<<< - * else: - * # Ok, dict has it already cached, so, let's check it... - */ - /*else*/ { - if (unlikely(__pyx_v_lines_ignored == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 564, __pyx_L4_error) - } - if (unlikely((PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_0) < 0))) __PYX_ERR(0, 564, __pyx_L4_error) - } - - /* "_pydevd_bundle/pydevd_cython.pyx":552 - * # print ('merged', merged, 'curr', exc_lineno) + * elif step_cmd == 159: + * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None * - * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< - * try: - * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) */ - goto __pyx_L37; - } + __pyx_v_info->pydev_step_cmd = 0x90; - /* "_pydevd_bundle/pydevd_cython.pyx":567 - * else: - * # Ok, dict has it already cached, so, let's check it... - * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< - * return False + /* "_pydevd_bundle/pydevd_cython.pyx":585 + * elif step_cmd == 159: + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< * + * elif step_cmd == 206: */ - /*else*/ { - if (unlikely(__pyx_v_merged == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 567, __pyx_L4_error) - } - __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_merged, __pyx_v_exc_lineno, __pyx_int_0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 567, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 567, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_2) { + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":568 - * # Ok, dict has it already cached, so, let's check it... - * if merged.get(exc_lineno, 0): - * return False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":583 + * info.pydev_step_stop = None * - * thread = self._args[3] + * elif step_cmd == 159: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L3_return; + break; + default: break; + } + } + __pyx_L23:; - /* "_pydevd_bundle/pydevd_cython.pyx":567 - * else: - * # Ok, dict has it already cached, so, let's check it... - * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< - * return False - * + /* "_pydevd_bundle/pydevd_cython.pyx":573 + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: */ - } - } - __pyx_L37:; + break; + case 0xCE: - /* "_pydevd_bundle/pydevd_cython.pyx":511 - * - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: - * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - * absolute_filename = abs_real_path_and_base[0] + /* "_pydevd_bundle/pydevd_cython.pyx":589 + * elif step_cmd == 206: + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(py_db, frame) # <<<<<<<<<<<<<< + * if f is not None: + * info.pydev_step_stop = f */ - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":510 - * trace_obj = trace_obj.tb_next - * - * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< - * for check_trace_obj in (initial_trace_obj, trace_obj): - * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + /* "_pydevd_bundle/pydevd_cython.pyx":590 + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: */ - } + __pyx_t_9 = (__pyx_v_f != Py_None); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":570 - * return False - * - * thread = self._args[3] # <<<<<<<<<<<<<< - * - * try: + /* "_pydevd_bundle/pydevd_cython.pyx":591 + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: + * info.pydev_step_stop = f # <<<<<<<<<<<<<< + * else: + * info.pydev_step_cmd = 107 */ - if (unlikely(__pyx_v_self->_args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 570, __pyx_L4_error) - } - __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_thread = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = __pyx_v_f; - /* "_pydevd_bundle/pydevd_cython.pyx":572 - * thread = self._args[3] - * - * try: # <<<<<<<<<<<<<< - * frame_id_to_frame = {} - * frame_id_to_frame[id(frame)] = frame + /* "_pydevd_bundle/pydevd_cython.pyx":590 + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(py_db, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { + goto __pyx_L24; + } - /* "_pydevd_bundle/pydevd_cython.pyx":573 + /* "_pydevd_bundle/pydevd_cython.pyx":593 + * info.pydev_step_stop = f + * else: + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None * - * try: - * frame_id_to_frame = {} # <<<<<<<<<<<<<< - * frame_id_to_frame[id(frame)] = frame - * f = trace_obj.tb_frame - */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 573, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_frame_id_to_frame = ((PyObject*)__pyx_t_4); - __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":574 - * try: - * frame_id_to_frame = {} - * frame_id_to_frame[id(frame)] = frame # <<<<<<<<<<<<<< - * f = trace_obj.tb_frame - * while f is not None: - */ - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - if (unlikely((PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_4, __pyx_v_frame) < 0))) __PYX_ERR(0, 574, __pyx_L51_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":575 - * frame_id_to_frame = {} - * frame_id_to_frame[id(frame)] = frame - * f = trace_obj.tb_frame # <<<<<<<<<<<<<< - * while f is not None: - * frame_id_to_frame[id(f)] = f */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_f = __pyx_t_4; - __pyx_t_4 = 0; + /*else*/ { + __pyx_v_info->pydev_step_cmd = 0x6B; - /* "_pydevd_bundle/pydevd_cython.pyx":576 - * frame_id_to_frame[id(frame)] = frame - * f = trace_obj.tb_frame - * while f is not None: # <<<<<<<<<<<<<< - * frame_id_to_frame[id(f)] = f - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":594 + * else: + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * elif event == 'exception': */ - while (1) { - __pyx_t_2 = (__pyx_v_f != Py_None); - if (!__pyx_t_2) break; + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + } + __pyx_L24:; - /* "_pydevd_bundle/pydevd_cython.pyx":577 - * f = trace_obj.tb_frame - * while f is not None: - * frame_id_to_frame[id(f)] = f # <<<<<<<<<<<<<< - * f = f.f_back - * f = None + /* "_pydevd_bundle/pydevd_cython.pyx":587 + * info.pydev_step_stop = None + * + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(py_db, frame) */ - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 577, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - if (unlikely((PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_4, __pyx_v_f) < 0))) __PYX_ERR(0, 577, __pyx_L51_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + break; + default: break; + } - /* "_pydevd_bundle/pydevd_cython.pyx":578 - * while f is not None: - * frame_id_to_frame[id(f)] = f - * f = f.f_back # <<<<<<<<<<<<<< - * f = None - * + /* "_pydevd_bundle/pydevd_cython.pyx":572 + * # as the return shouldn't mean that we've actually completed executing a + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(py_db, frame) */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 578, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_4); - __pyx_t_4 = 0; + } } - /* "_pydevd_bundle/pydevd_cython.pyx":579 - * frame_id_to_frame[id(f)] = f - * f = f.f_back - * f = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":527 + * is_exception_event = False * - * stopped = True + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_call = False */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_f, Py_None); + goto __pyx_L13; + } - /* "_pydevd_bundle/pydevd_cython.pyx":581 - * f = None + /* "_pydevd_bundle/pydevd_cython.pyx":596 + * info.pydev_step_stop = None * - * stopped = True # <<<<<<<<<<<<<< - * py_db.send_caught_exception_stack(thread, arg, id(frame)) - * try: + * elif event == 'exception': # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: */ - __pyx_v_stopped = 1; + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 596, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":582 + /* "_pydevd_bundle/pydevd_cython.pyx":597 * - * stopped = True - * py_db.send_caught_exception_stack(thread, arg, id(frame)) # <<<<<<<<<<<<<< - * try: - * self.set_suspend(thread, 137) + * elif event == 'exception': + * breakpoints_for_file = None # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 582, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 582, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_v_thread, __pyx_v_arg, __pyx_t_6}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_INCREF(Py_None); + __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); - /* "_pydevd_bundle/pydevd_cython.pyx":583 - * stopped = True - * py_db.send_caught_exception_stack(thread, arg, id(frame)) - * try: # <<<<<<<<<<<<<< - * self.set_suspend(thread, 137) - * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + /* "_pydevd_bundle/pydevd_cython.pyx":598 + * elif event == 'exception': + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info */ - /*try:*/ { + if (__pyx_v_has_exception_breakpoints) { - /* "_pydevd_bundle/pydevd_cython.pyx":584 - * py_db.send_caught_exception_stack(thread, arg, id(frame)) - * try: - * self.set_suspend(thread, 137) # <<<<<<<<<<<<<< - * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) - * finally: + /* "_pydevd_bundle/pydevd_cython.pyx":599 + * breakpoints_for_file = None + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) # <<<<<<<<<<<<<< + * self.exc_info = exc_info + * if should_stop: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 584, __pyx_L60_error) + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_should_stop_on_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 599, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = NULL; - __pyx_t_9 = 0; + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 599, __pyx_L4_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 599, __pyx_L4_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 599, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + __pyx_t_5 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_6)) { + if (unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_9 = 1; + __pyx_t_5 = 1; } } #endif { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_thread, __pyx_int_137}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L60_error) - __Pyx_GOTREF(__pyx_t_4); + PyObject *__pyx_callargs[7] = {__pyx_t_3, __pyx_t_7, __pyx_t_6, __pyx_v_frame, __pyx_t_4, __pyx_v_arg, __pyx_v_self->exc_info}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 6+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 599, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_8 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); + index = 0; __pyx_t_8 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_8)) goto __pyx_L26_unpacking_failed; + __Pyx_GOTREF(__pyx_t_8); + index = 1; __pyx_t_4 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L26_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 2; __pyx_t_6 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L26_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_7), 3) < 0) __PYX_ERR(0, 599, __pyx_L4_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L27_unpacking_done; + __pyx_L26_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 599, __pyx_L4_error) + __pyx_L27_unpacking_done:; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_should_stop = __pyx_t_9; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_exc_info = __pyx_t_6; + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":585 - * try: - * self.set_suspend(thread, 137) - * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) # <<<<<<<<<<<<<< - * finally: - * py_db.send_caught_exception_stack_proceeded(thread) + /* "_pydevd_bundle/pydevd_cython.pyx":600 + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info # <<<<<<<<<<<<<< + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L60_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 585, __pyx_L60_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_thread)) __PYX_ERR(0, 585, __pyx_L60_error); - __Pyx_INCREF(__pyx_v_frame); - __Pyx_GIVEREF(__pyx_v_frame); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_frame)) __PYX_ERR(0, 585, __pyx_L60_error); - __Pyx_INCREF(__pyx_v_event); - __Pyx_GIVEREF(__pyx_v_event); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_event)) __PYX_ERR(0, 585, __pyx_L60_error); - __Pyx_INCREF(__pyx_v_arg); - __Pyx_GIVEREF(__pyx_v_arg); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_arg)) __PYX_ERR(0, 585, __pyx_L60_error); - __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 585, __pyx_L60_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_exception_type, __pyx_v_exception_type) < 0) __PYX_ERR(0, 585, __pyx_L60_error) - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L60_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } + __Pyx_INCREF(__pyx_v_exc_info); + __Pyx_GIVEREF(__pyx_v_exc_info); + __Pyx_GOTREF(__pyx_v_self->exc_info); + __Pyx_DECREF(__pyx_v_self->exc_info); + __pyx_v_self->exc_info = __pyx_v_exc_info; - /* "_pydevd_bundle/pydevd_cython.pyx":587 - * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) - * finally: - * py_db.send_caught_exception_stack_proceeded(thread) # <<<<<<<<<<<<<< - * except: - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":601 + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info + * if should_stop: # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch */ - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 587, __pyx_L51_error) + if (__pyx_v_should_stop) { + + /* "_pydevd_bundle/pydevd_cython.pyx":602 + * self.exc_info = exc_info + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_handle_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 602, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 602, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 602, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 602, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 602, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 602, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = NULL; + __pyx_t_5 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_9 = 1; + __pyx_t_5 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_thread}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 587, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L61; - } - __pyx_L60_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_9 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 587, __pyx_L63_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_24 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_24 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_thread}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_24, 1+__pyx_t_24); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 587, __pyx_L63_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } + PyObject *__pyx_callargs[6] = {__pyx_t_3, __pyx_t_4, __pyx_t_8, __pyx_v_frame, __pyx_v_arg, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 5+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L51_error; - __pyx_L63_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - goto __pyx_L51_error; - } - __pyx_L61:; - } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 602, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":572 - * thread = self._args[3] + /* "_pydevd_bundle/pydevd_cython.pyx":603 + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch # <<<<<<<<<<<<<< * - * try: # <<<<<<<<<<<<<< - * frame_id_to_frame = {} - * frame_id_to_frame[id(frame)] = frame + * return self.trace_dispatch */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L56_try_end; - __pyx_L51_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":588 - * finally: - * py_db.send_caught_exception_stack_proceeded(thread) - * except: # <<<<<<<<<<<<<< - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":602 + * self.exc_info = exc_info + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch * */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 588, __pyx_L53_except_error) - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); + } - /* "_pydevd_bundle/pydevd_cython.pyx":589 - * py_db.send_caught_exception_stack_proceeded(thread) - * except: - * pydev_log.exception() # <<<<<<<<<<<<<< - * - * py_db.set_trace_for_frame_and_parents(thread, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":601 + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info + * if should_stop: # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exception); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 589, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_16 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_16 = 1; } + + /* "_pydevd_bundle/pydevd_cython.pyx":598 + * elif event == 'exception': + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info + */ } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_16, 0+__pyx_t_16); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 589, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L52_exception_handled; - } - /* "_pydevd_bundle/pydevd_cython.pyx":572 - * thread = self._args[3] + /* "_pydevd_bundle/pydevd_cython.pyx":605 + * return self.trace_dispatch * - * try: # <<<<<<<<<<<<<< - * frame_id_to_frame = {} - * frame_id_to_frame[id(frame)] = frame + * return self.trace_dispatch # <<<<<<<<<<<<<< + * else: + * # event == 'call' or event == 'c_XXX' */ - __pyx_L53_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L4_error; - __pyx_L52_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L56_try_end:; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":591 - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":596 + * info.pydev_step_stop = None * - * py_db.set_trace_for_frame_and_parents(thread, frame) # <<<<<<<<<<<<<< - * finally: - * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * elif event == 'exception': # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_16 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_16 = 1; } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_thread, __pyx_v_frame}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_16, 2+__pyx_t_16); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 591, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - /* "_pydevd_bundle/pydevd_cython.pyx":594 - * finally: - * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. - * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< - * # Clear some local variables... - * frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":608 + * else: + * # event == 'call' or event == 'c_XXX' + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * else: # Not coroutine nor generator */ - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_16 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_16 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":596 - * remove_exception_from_frame(frame) - * # Clear some local variables... - * frame = None # <<<<<<<<<<<<<< - * trace_obj = None - * initial_trace_obj = None - */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + __pyx_L13:; - /* "_pydevd_bundle/pydevd_cython.pyx":597 - * # Clear some local variables... - * frame = None - * trace_obj = None # <<<<<<<<<<<<<< - * initial_trace_obj = None - * check_trace_obj = None + /* "_pydevd_bundle/pydevd_cython.pyx":517 + * function_breakpoint_on_call_event = None + * + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 # <<<<<<<<<<<<<< + * # Dealing with coroutines and generators: + * # When in a coroutine we change the perceived event to the debugger because */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); + goto __pyx_L12; + } - /* "_pydevd_bundle/pydevd_cython.pyx":598 - * frame = None - * trace_obj = None - * initial_trace_obj = None # <<<<<<<<<<<<<< - * check_trace_obj = None - * f = None + /* "_pydevd_bundle/pydevd_cython.pyx":611 + * + * else: # Not coroutine nor generator + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); + /*else*/ { + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_line, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 611, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":599 - * trace_obj = None - * initial_trace_obj = None - * check_trace_obj = None # <<<<<<<<<<<<<< - * f = None - * frame_id_to_frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":612 + * else: # Not coroutine nor generator + * if event == 'line': + * is_line = True # <<<<<<<<<<<<<< + * is_call = False + * is_return = False */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + __pyx_v_is_line = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":600 - * initial_trace_obj = None - * check_trace_obj = None - * f = None # <<<<<<<<<<<<<< - * frame_id_to_frame = None - * py_db = None + /* "_pydevd_bundle/pydevd_cython.pyx":613 + * if event == 'line': + * is_line = True + * is_call = False # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + __pyx_v_is_call = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":601 - * check_trace_obj = None - * f = None - * frame_id_to_frame = None # <<<<<<<<<<<<<< - * py_db = None - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":614 + * is_line = True + * is_call = False + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False + * */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + __pyx_v_is_return = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":602 - * f = None - * frame_id_to_frame = None - * py_db = None # <<<<<<<<<<<<<< - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":615 + * is_call = False + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< * + * elif event == 'return': */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_py_db, Py_None); + __pyx_v_is_exception_event = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":603 - * frame_id_to_frame = None - * py_db = None - * thread = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":611 * - * return stopped + * else: # Not coroutine nor generator + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_16 = __pyx_lineno; __pyx_t_9 = __pyx_clineno; __pyx_t_25 = __pyx_filename; - { + goto __pyx_L30; + } - /* "_pydevd_bundle/pydevd_cython.pyx":594 - * finally: - * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. - * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< - * # Clear some local variables... - * frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":617 + * is_exception_event = False + * + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_return = True */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L67_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_24 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_24 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_24, 1+__pyx_t_24); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 594, __pyx_L67_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 617, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":596 - * remove_exception_from_frame(frame) - * # Clear some local variables... - * frame = None # <<<<<<<<<<<<<< - * trace_obj = None - * initial_trace_obj = None + /* "_pydevd_bundle/pydevd_cython.pyx":618 + * + * elif event == 'return': + * is_line = False # <<<<<<<<<<<<<< + * is_return = True + * is_call = False */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + __pyx_v_is_line = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":597 - * # Clear some local variables... - * frame = None - * trace_obj = None # <<<<<<<<<<<<<< - * initial_trace_obj = None - * check_trace_obj = None + /* "_pydevd_bundle/pydevd_cython.pyx":619 + * elif event == 'return': + * is_line = False + * is_return = True # <<<<<<<<<<<<<< + * is_call = False + * is_exception_event = False */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_trace_obj, Py_None); + __pyx_v_is_return = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":598 - * frame = None - * trace_obj = None - * initial_trace_obj = None # <<<<<<<<<<<<<< - * check_trace_obj = None - * f = None + /* "_pydevd_bundle/pydevd_cython.pyx":620 + * is_line = False + * is_return = True + * is_call = False # <<<<<<<<<<<<<< + * is_exception_event = False + * */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_initial_trace_obj, Py_None); + __pyx_v_is_call = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":599 - * trace_obj = None - * initial_trace_obj = None - * check_trace_obj = None # <<<<<<<<<<<<<< - * f = None - * frame_id_to_frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":621 + * is_return = True + * is_call = False + * is_exception_event = False # <<<<<<<<<<<<<< + * + * # If we are in single step mode and something causes us to exit the current frame, we need to make sure we break */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + __pyx_v_is_exception_event = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":600 - * initial_trace_obj = None - * check_trace_obj = None - * f = None # <<<<<<<<<<<<<< - * frame_id_to_frame = None - * py_db = None + /* "_pydevd_bundle/pydevd_cython.pyx":630 + * # @DontTrace comment. + * if ( + * stop_frame is frame and # <<<<<<<<<<<<<< + * not info.pydev_use_scoped_step_frame and is_return and + * step_cmd in (108, 109, 159, 160, 128) */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + __pyx_t_11 = (__pyx_v_stop_frame == __pyx_v_frame); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L32_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":601 - * check_trace_obj = None - * f = None - * frame_id_to_frame = None # <<<<<<<<<<<<<< - * py_db = None - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":631 + * if ( + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and # <<<<<<<<<<<<<< + * step_cmd in (108, 109, 159, 160, 128) + * ): */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L32_bool_binop_done; + } + if (__pyx_v_is_return) { + } else { + __pyx_t_9 = __pyx_v_is_return; + goto __pyx_L32_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":602 - * f = None - * frame_id_to_frame = None - * py_db = None # <<<<<<<<<<<<<< - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":632 + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and + * step_cmd in (108, 109, 159, 160, 128) # <<<<<<<<<<<<<< + * ): * */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_py_db, Py_None); + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x9F: + case 0xA0: + case 0x80: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_15 = __pyx_t_11; + __pyx_t_9 = __pyx_t_15; + __pyx_L32_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":603 - * frame_id_to_frame = None - * py_db = None - * thread = None # <<<<<<<<<<<<<< - * - * return stopped + /* "_pydevd_bundle/pydevd_cython.pyx":629 + * # Note: this is especially troublesome when we're skipping code with the + * # @DontTrace comment. + * if ( # <<<<<<<<<<<<<< + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_22, __pyx_t_21); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; - __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_9; __pyx_filename = __pyx_t_25; - goto __pyx_L1_error; - __pyx_L67_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_22, __pyx_t_21); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; - goto __pyx_L1_error; - } - __pyx_L3_return: { - __pyx_t_21 = __pyx_r; - __pyx_r = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":594 - * finally: - * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. - * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< - * # Clear some local variables... - * frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":635 + * ): + * + * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * else: */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x80: - /* "_pydevd_bundle/pydevd_cython.pyx":596 - * remove_exception_from_frame(frame) - * # Clear some local variables... - * frame = None # <<<<<<<<<<<<<< - * trace_obj = None - * initial_trace_obj = None + /* "_pydevd_bundle/pydevd_cython.pyx":636 + * + * if step_cmd in (108, 109, 128): + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * else: + * info.pydev_step_cmd = 144 */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + __pyx_v_info->pydev_step_cmd = 0x6B; - /* "_pydevd_bundle/pydevd_cython.pyx":597 - * # Clear some local variables... - * frame = None - * trace_obj = None # <<<<<<<<<<<<<< - * initial_trace_obj = None - * check_trace_obj = None + /* "_pydevd_bundle/pydevd_cython.pyx":635 + * ): + * + * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * else: */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); + break; + default: - /* "_pydevd_bundle/pydevd_cython.pyx":598 - * frame = None - * trace_obj = None - * initial_trace_obj = None # <<<<<<<<<<<<<< - * check_trace_obj = None - * f = None + /* "_pydevd_bundle/pydevd_cython.pyx":638 + * info.pydev_step_cmd = 107 + * else: + * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); + __pyx_v_info->pydev_step_cmd = 0x90; + break; + } - /* "_pydevd_bundle/pydevd_cython.pyx":599 - * trace_obj = None - * initial_trace_obj = None - * check_trace_obj = None # <<<<<<<<<<<<<< - * f = None - * frame_id_to_frame = None + /* "_pydevd_bundle/pydevd_cython.pyx":639 + * else: + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * if self.exc_info: */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":600 - * initial_trace_obj = None - * check_trace_obj = None - * f = None # <<<<<<<<<<<<<< - * frame_id_to_frame = None - * py_db = None + /* "_pydevd_bundle/pydevd_cython.pyx":629 + * # Note: this is especially troublesome when we're skipping code with the + * # @DontTrace comment. + * if ( # <<<<<<<<<<<<<< + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + } - /* "_pydevd_bundle/pydevd_cython.pyx":601 - * check_trace_obj = None - * f = None - * frame_id_to_frame = None # <<<<<<<<<<<<<< - * py_db = None - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":641 + * info.pydev_step_stop = None + * + * if self.exc_info: # <<<<<<<<<<<<<< + * if self.handle_user_exception(frame): + * return self.trace_dispatch */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 641, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":602 - * f = None - * frame_id_to_frame = None - * py_db = None # <<<<<<<<<<<<<< - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":642 + * + * if self.exc_info: + * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< + * return self.trace_dispatch * */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_py_db, Py_None); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 642, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 642, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":603 - * frame_id_to_frame = None - * py_db = None - * thread = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":643 + * if self.exc_info: + * if self.handle_user_exception(frame): + * return self.trace_dispatch # <<<<<<<<<<<<<< * - * return stopped + * elif event == 'call': */ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); - __pyx_r = __pyx_t_21; - __pyx_t_21 = 0; - goto __pyx_L0; - } - __pyx_L5:; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":605 - * thread = None + /* "_pydevd_bundle/pydevd_cython.pyx":642 * - * return stopped # <<<<<<<<<<<<<< + * if self.exc_info: + * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< + * return self.trace_dispatch * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_stopped); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 605, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":479 + /* "_pydevd_bundle/pydevd_cython.pyx":641 + * info.pydev_step_stop = None * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _handle_exception(self, frame, str event, arg, str exception_type): # <<<<<<<<<<<<<< - * cdef bint stopped; - * cdef tuple abs_real_path_and_base; + * if self.exc_info: # <<<<<<<<<<<<<< + * if self.handle_user_exception(frame): + * return self.trace_dispatch */ + } - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_abs_real_path_and_base); - __Pyx_XDECREF(__pyx_v_absolute_filename); - __Pyx_XDECREF(__pyx_v_canonical_normalized_filename); - __Pyx_XDECREF(__pyx_v_filename_to_lines_where_exceptions_are_ignored); - __Pyx_XDECREF(__pyx_v_lines_ignored); - __Pyx_XDECREF(__pyx_v_frame_id_to_frame); - __Pyx_XDECREF(__pyx_v_merged); - __Pyx_XDECREF(__pyx_v_trace_obj); - __Pyx_XDECREF(__pyx_v_py_db); - __Pyx_XDECREF(__pyx_v_initial_trace_obj); - __Pyx_XDECREF(__pyx_v_check_trace_obj); - __Pyx_XDECREF(__pyx_v_curr_stat); - __Pyx_XDECREF(__pyx_v_last_stat); - __Pyx_XDECREF(__pyx_v_from_user_input); - __Pyx_XDECREF(__pyx_v_exc_lineno); - __Pyx_XDECREF(__pyx_v_line); - __Pyx_XDECREF(__pyx_v_thread); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_frame); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "_pydevd_bundle/pydevd_cython.pyx":608 + /* "_pydevd_bundle/pydevd_cython.pyx":617 + * is_exception_event = False * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< - * cdef str func_name - * # ELSE + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_return = True */ + goto __pyx_L30; + } -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { - PyObject *__pyx_v_func_name = 0; - PyObject *__pyx_v_code_obj = NULL; - PyObject *__pyx_v_cls_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_func_name", 1); - - /* "_pydevd_bundle/pydevd_cython.pyx":613 - * # def get_func_name(self, frame): - * # ENDIF - * code_obj = frame.f_code # <<<<<<<<<<<<<< - * func_name = code_obj.co_name - * try: + /* "_pydevd_bundle/pydevd_cython.pyx":645 + * return self.trace_dispatch + * + * elif event == 'call': # <<<<<<<<<<<<<< + * is_line = False + * is_call = True */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_code_obj = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 645, __pyx_L4_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":614 - * # ENDIF - * code_obj = frame.f_code - * func_name = code_obj.co_name # <<<<<<<<<<<<<< - * try: - * cls_name = get_clsname_for_code(code_obj, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":646 + * + * elif event == 'call': + * is_line = False # <<<<<<<<<<<<<< + * is_call = True + * is_return = False */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code_obj, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 614, __pyx_L1_error) - __pyx_v_func_name = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_is_line = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":615 - * code_obj = frame.f_code - * func_name = code_obj.co_name - * try: # <<<<<<<<<<<<<< - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":647 + * elif event == 'call': + * is_line = False + * is_call = True # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_4); - /*try:*/ { + __pyx_v_is_call = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":616 - * func_name = code_obj.co_name - * try: - * cls_name = get_clsname_for_code(code_obj, frame) # <<<<<<<<<<<<<< - * if cls_name is not None: - * return "%s.%s" % (cls_name, func_name) + /* "_pydevd_bundle/pydevd_cython.pyx":648 + * is_line = False + * is_call = True + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_clsname_for_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_code_obj, __pyx_v_frame}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_v_cls_name = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_v_is_return = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":617 - * try: - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: # <<<<<<<<<<<<<< - * return "%s.%s" % (cls_name, func_name) - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":649 + * is_call = True + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) */ - __pyx_t_8 = (__pyx_v_cls_name != Py_None); - if (__pyx_t_8) { + __pyx_v_is_exception_event = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":618 - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: - * return "%s.%s" % (cls_name, func_name) # <<<<<<<<<<<<<< - * else: - * return func_name + /* "_pydevd_bundle/pydevd_cython.pyx":650 + * is_return = False + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 618, __pyx_L3_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_cls_name); - __Pyx_GIVEREF(__pyx_v_cls_name); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cls_name)) __PYX_ERR(0, 618, __pyx_L3_error); - __Pyx_INCREF(__pyx_v_func_name); - __Pyx_GIVEREF(__pyx_v_func_name); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_func_name)) __PYX_ERR(0, 618, __pyx_L3_error); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 618, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_firstlineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L7_try_return; - - /* "_pydevd_bundle/pydevd_cython.pyx":617 - * try: - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: # <<<<<<<<<<<<<< - * return "%s.%s" % (cls_name, func_name) - * else: - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":620 - * return "%s.%s" % (cls_name, func_name) - * else: - * return func_name # <<<<<<<<<<<<<< - * except: - * pydev_log.exception() - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_func_name); - __pyx_r = __pyx_v_func_name; - goto __pyx_L7_try_return; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":615 - * code_obj = frame.f_code - * func_name = code_obj.co_name - * try: # <<<<<<<<<<<<<< - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: - */ - } - __pyx_L3_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 650, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 650, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":621 - * else: - * return func_name - * except: # <<<<<<<<<<<<<< - * pydev_log.exception() - * return func_name + /* "_pydevd_bundle/pydevd_cython.pyx":651 + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) # <<<<<<<<<<<<<< + * + * elif event == 'exception': */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 621, __pyx_L5_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 651, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 651, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 651, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF_SET(__pyx_v_function_breakpoint_on_call_event, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":622 - * return func_name - * except: - * pydev_log.exception() # <<<<<<<<<<<<<< - * return func_name + /* "_pydevd_bundle/pydevd_cython.pyx":650 + * is_return = False + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) * */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 622, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 622, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_7 = 1; } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 622, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":623 - * except: - * pydev_log.exception() - * return func_name # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":645 + * return self.trace_dispatch * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_func_name); - __pyx_r = __pyx_v_func_name; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L6_except_return; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":615 - * code_obj = frame.f_code - * func_name = code_obj.co_name - * try: # <<<<<<<<<<<<<< - * cls_name = get_clsname_for_code(code_obj, frame) - * if cls_name is not None: + * elif event == 'call': # <<<<<<<<<<<<<< + * is_line = False + * is_call = True */ - __pyx_L5_except_error:; - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); - goto __pyx_L1_error; - __pyx_L7_try_return:; - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); - goto __pyx_L0; - __pyx_L6_except_return:; - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); - goto __pyx_L0; - } + goto __pyx_L30; + } - /* "_pydevd_bundle/pydevd_cython.pyx":608 + /* "_pydevd_bundle/pydevd_cython.pyx":653 + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< - * cdef str func_name - * # ELSE + * elif event == 'exception': # <<<<<<<<<<<<<< + * is_exception_event = True + * breakpoints_for_file = None */ + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 653, __pyx_L4_error) + if (__pyx_t_9) { - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_func_name); - __Pyx_XDECREF(__pyx_v_code_obj); - __Pyx_XDECREF(__pyx_v_cls_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "_pydevd_bundle/pydevd_cython.pyx":626 + /* "_pydevd_bundle/pydevd_cython.pyx":654 * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< - * # ELSE - * # def _show_return_values(self, frame, arg): - */ - -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg) { - PyObject *__pyx_v_f_locals_back = NULL; - PyObject *__pyx_v_return_values_dict = NULL; - PyObject *__pyx_v_name = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - char const *__pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_show_return_values", 1); - - /* "_pydevd_bundle/pydevd_cython.pyx":630 - * # def _show_return_values(self, frame, arg): - * # ENDIF - * try: # <<<<<<<<<<<<<< - * try: - * f_locals_back = getattr(frame.f_back, "f_locals", None) - */ - /*try:*/ { - - /* "_pydevd_bundle/pydevd_cython.pyx":631 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: + * elif event == 'exception': + * is_exception_event = True # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { + __pyx_v_is_exception_event = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":632 - * try: - * try: - * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< - * if f_locals_back is not None: - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + /* "_pydevd_bundle/pydevd_cython.pyx":655 + * elif event == 'exception': + * is_exception_event = True + * breakpoints_for_file = None # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 632, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_f_locals_back = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_INCREF(Py_None); + __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); - /* "_pydevd_bundle/pydevd_cython.pyx":633 - * try: - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: # <<<<<<<<<<<<<< - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) - * if return_values_dict is None: + /* "_pydevd_bundle/pydevd_cython.pyx":656 + * is_exception_event = True + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info */ - __pyx_t_6 = (__pyx_v_f_locals_back != Py_None); - if (__pyx_t_6) { + if (__pyx_v_has_exception_breakpoints) { - /* "_pydevd_bundle/pydevd_cython.pyx":634 - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< - * if return_values_dict is None: - * return_values_dict = {} + /* "_pydevd_bundle/pydevd_cython.pyx":657 + * breakpoints_for_file = None + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) # <<<<<<<<<<<<<< + * self.exc_info = exc_info + * if should_stop: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 634, __pyx_L6_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_should_stop_on_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 657, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 657, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 657, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 634, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; + __pyx_t_3 = NULL; + __pyx_t_5 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_8); + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_9 = 1; + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_5 = 1; } } #endif { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_7, Py_None}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 634, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); + PyObject *__pyx_callargs[7] = {__pyx_t_3, __pyx_t_8, __pyx_t_1, __pyx_v_frame, __pyx_t_4, __pyx_v_arg, __pyx_v_self->exc_info}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 6+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __pyx_v_return_values_dict = __pyx_t_5; - __pyx_t_5 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":635 - * if f_locals_back is not None: - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) - * if return_values_dict is None: # <<<<<<<<<<<<<< - * return_values_dict = {} - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict - */ - __pyx_t_6 = (__pyx_v_return_values_dict == Py_None); - if (__pyx_t_6) { + if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { + PyObject* sequence = __pyx_t_7; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 657, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_6 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + __pyx_t_1 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_8 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); + index = 0; __pyx_t_6 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L40_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + index = 1; __pyx_t_4 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L40_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 2; __pyx_t_1 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_1)) goto __pyx_L40_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_8), 3) < 0) __PYX_ERR(0, 657, __pyx_L4_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L41_unpacking_done; + __pyx_L40_unpacking_failed:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 657, __pyx_L4_error) + __pyx_L41_unpacking_done:; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 657, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_should_stop = __pyx_t_9; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_exc_info = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":636 - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) - * if return_values_dict is None: - * return_values_dict = {} # <<<<<<<<<<<<<< - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict - * name = self.get_func_name(frame) + /* "_pydevd_bundle/pydevd_cython.pyx":658 + * if has_exception_breakpoints: + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info # <<<<<<<<<<<<<< + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): */ - __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 636, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF_SET(__pyx_v_return_values_dict, __pyx_t_5); - __pyx_t_5 = 0; + __Pyx_INCREF(__pyx_v_exc_info); + __Pyx_GIVEREF(__pyx_v_exc_info); + __Pyx_GOTREF(__pyx_v_self->exc_info); + __Pyx_DECREF(__pyx_v_self->exc_info); + __pyx_v_self->exc_info = __pyx_v_exc_info; - /* "_pydevd_bundle/pydevd_cython.pyx":637 - * if return_values_dict is None: - * return_values_dict = {} - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict # <<<<<<<<<<<<<< - * name = self.get_func_name(frame) - * return_values_dict[name] = arg + /* "_pydevd_bundle/pydevd_cython.pyx":659 + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info + * if should_stop: # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 637, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - if (unlikely((PyObject_SetItem(__pyx_v_f_locals_back, __pyx_t_5, __pyx_v_return_values_dict) < 0))) __PYX_ERR(0, 637, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_v_should_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":635 - * if f_locals_back is not None: - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) - * if return_values_dict is None: # <<<<<<<<<<<<<< - * return_values_dict = {} - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + /* "_pydevd_bundle/pydevd_cython.pyx":660 + * self.exc_info = exc_info + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * is_line = False */ - } + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_handle_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 660, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 660, __pyx_L4_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[6] = {__pyx_t_3, __pyx_t_4, __pyx_t_6, __pyx_v_frame, __pyx_v_arg, __pyx_t_8}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 5+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 660, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":638 - * return_values_dict = {} - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict - * name = self.get_func_name(frame) # <<<<<<<<<<<<<< - * return_values_dict[name] = arg - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":661 + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * is_line = False + * is_return = False */ - __pyx_t_5 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->get_func_name(__pyx_v_self, __pyx_v_frame); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_name = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 661, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":639 - * f_locals_back[RETURN_VALUES_DICT] = return_values_dict - * name = self.get_func_name(frame) - * return_values_dict[name] = arg # <<<<<<<<<<<<<< - * except: - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":660 + * self.exc_info = exc_info + * if should_stop: + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * is_line = False */ - if (unlikely((PyObject_SetItem(__pyx_v_return_values_dict, __pyx_v_name, __pyx_v_arg) < 0))) __PYX_ERR(0, 639, __pyx_L6_error) + } - /* "_pydevd_bundle/pydevd_cython.pyx":633 - * try: - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: # <<<<<<<<<<<<<< - * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) - * if return_values_dict is None: + /* "_pydevd_bundle/pydevd_cython.pyx":659 + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info + * if should_stop: # <<<<<<<<<<<<<< + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":631 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":656 + * is_exception_event = True + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + * self.exc_info = exc_info */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":640 - * name = self.get_func_name(frame) - * return_values_dict[name] = arg - * except: # <<<<<<<<<<<<<< - * pydev_log.exception() - * finally: + /* "_pydevd_bundle/pydevd_cython.pyx":662 + * if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + * is_line = False # <<<<<<<<<<<<<< + * is_return = False + * is_call = False */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 640, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_7); + __pyx_v_is_line = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":641 - * return_values_dict[name] = arg - * except: - * pydev_log.exception() # <<<<<<<<<<<<<< - * finally: - * f_locals_back = None + /* "_pydevd_bundle/pydevd_cython.pyx":663 + * return self.trace_dispatch + * is_line = False + * is_return = False # <<<<<<<<<<<<<< + * is_call = False + * */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 641, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 641, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 641, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L7_exception_handled; - } + __pyx_v_is_return = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":631 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":664 + * is_line = False + * is_return = False + * is_call = False # <<<<<<<<<<<<<< + * + * else: */ - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L4_error; - __pyx_L7_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L11_try_end:; - } - } + __pyx_v_is_call = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":643 - * pydev_log.exception() - * finally: - * f_locals_back = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":653 + * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * elif event == 'exception': # <<<<<<<<<<<<<< + * is_exception_event = True + * breakpoints_for_file = None */ - /*finally:*/ { - /*normal exit:*/{ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_9 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; - { - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + goto __pyx_L30; } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + + /* "_pydevd_bundle/pydevd_cython.pyx":668 + * else: + * # Unexpected: just keep the same trace func (i.e.: event == 'c_XXX'). + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * if not is_exception_event: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 668, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; } - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; - goto __pyx_L1_error; + __pyx_L30:; } - __pyx_L5:; - } + __pyx_L12:; - /* "_pydevd_bundle/pydevd_cython.pyx":626 + /* "_pydevd_bundle/pydevd_cython.pyx":670 + * return self.trace_dispatch + * + * if not is_exception_event: # <<<<<<<<<<<<<< + * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< - * # ELSE - * # def _show_return_values(self, frame, arg): */ + __pyx_t_9 = (!__pyx_v_is_exception_event); + if (__pyx_t_9) { - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f_locals_back); - __Pyx_XDECREF(__pyx_v_return_values_dict); - __Pyx_XDECREF(__pyx_v_name); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "_pydevd_bundle/pydevd_cython.pyx":646 + /* "_pydevd_bundle/pydevd_cython.pyx":671 * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _remove_return_values(self, py_db, frame): # <<<<<<<<<<<<<< - * # ELSE - * # def _remove_return_values(self, py_db, frame): + * if not is_exception_event: + * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) # <<<<<<<<<<<<<< + * + * can_skip = False */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_breakpoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 671, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 671, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 671, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_7))) __PYX_ERR(0, 671, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_breakpoints_for_file, ((PyObject*)__pyx_t_7)); + __pyx_t_7 = 0; -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { - PyObject *__pyx_v_f_locals_back = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - char const *__pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_remove_return_values", 1); - - /* "_pydevd_bundle/pydevd_cython.pyx":650 - * # def _remove_return_values(self, py_db, frame): - * # ENDIF - * try: # <<<<<<<<<<<<<< - * try: - * # Showing return values was turned off, we should remove them from locals dict. + /* "_pydevd_bundle/pydevd_cython.pyx":673 + * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) + * + * can_skip = False # <<<<<<<<<<<<<< + * + * if info.pydev_state == 1: # 1 = 1 */ - /*try:*/ { + __pyx_v_can_skip = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":651 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * # Showing return values was turned off, we should remove them from locals dict. - * # The values can be in the current frame or in the back one + /* "_pydevd_bundle/pydevd_cython.pyx":675 + * can_skip = False + * + * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< + * # we can skip if: + * # - we have no stop marked */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { + __pyx_t_9 = (__pyx_v_info->pydev_state == 1); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":654 - * # Showing return values was turned off, we should remove them from locals dict. - * # The values can be in the current frame or in the back one - * frame.f_locals.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":680 + * # - we should make a step return/step over and we're not in the current frame + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: # <<<<<<<<<<<<<< + * can_skip = True * - * f_locals_back = getattr(frame.f_back, "f_locals", None) */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 654, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_8 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_5, Py_None}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = (__pyx_v_step_cmd == -1L); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":656 - * frame.f_locals.pop(RETURN_VALUES_DICT, None) + /* "_pydevd_bundle/pydevd_cython.pyx":681 + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: + * can_skip = True # <<<<<<<<<<<<<< * - * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< - * if f_locals_back is not None: - * f_locals_back.pop(RETURN_VALUES_DICT, None) + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 656, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 656, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_f_locals_back = __pyx_t_6; - __pyx_t_6 = 0; + __pyx_v_can_skip = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":657 + /* "_pydevd_bundle/pydevd_cython.pyx":680 + * # - we should make a step return/step over and we're not in the current frame + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: # <<<<<<<<<<<<<< + * can_skip = True * - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: # <<<<<<<<<<<<<< - * f_locals_back.pop(RETURN_VALUES_DICT, None) - * except: */ - __pyx_t_9 = (__pyx_v_f_locals_back != Py_None); - if (__pyx_t_9) { + goto __pyx_L46; + } - /* "_pydevd_bundle/pydevd_cython.pyx":658 - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: - * f_locals_back.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< - * except: - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":683 + * can_skip = True + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< + * can_skip = True + * */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_pop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 658, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_8 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_5, Py_None}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 658, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x9F: + case 0xA0: + __pyx_t_15 = 1; + break; + default: + __pyx_t_15 = 0; + break; + } + __pyx_t_11 = __pyx_t_15; + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L47_bool_binop_done; + } + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 683, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 683, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = (!__pyx_t_11); + __pyx_t_9 = __pyx_t_15; + __pyx_L47_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":657 + /* "_pydevd_bundle/pydevd_cython.pyx":684 * - * f_locals_back = getattr(frame.f_back, "f_locals", None) - * if f_locals_back is not None: # <<<<<<<<<<<<<< - * f_locals_back.pop(RETURN_VALUES_DICT, None) - * except: + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd == 128 and ( */ - } + __pyx_v_can_skip = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":651 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * # Showing return values was turned off, we should remove them from locals dict. - * # The values can be in the current frame or in the back one + /* "_pydevd_bundle/pydevd_cython.pyx":683 + * can_skip = True + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< + * can_skip = True + * */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L46; + } - /* "_pydevd_bundle/pydevd_cython.pyx":659 - * if f_locals_back is not None: - * f_locals_back.pop(RETURN_VALUES_DICT, None) - * except: # <<<<<<<<<<<<<< - * pydev_log.exception() - * finally: + /* "_pydevd_bundle/pydevd_cython.pyx":686 + * can_skip = True + * + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 659, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_5); + __pyx_t_15 = (__pyx_v_step_cmd == 0x80); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L49_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":660 - * f_locals_back.pop(RETURN_VALUES_DICT, None) - * except: - * pydev_log.exception() # <<<<<<<<<<<<<< - * finally: - * f_locals_back = None + /* "_pydevd_bundle/pydevd_cython.pyx":687 + * + * elif step_cmd == 128 and ( + * stop_frame is not None and # <<<<<<<<<<<<<< + * stop_frame is not frame and + * stop_frame is not frame.f_back and */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 660, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 660, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_8 = 1; - } + __pyx_t_15 = (__pyx_v_stop_frame != Py_None); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L49_bool_binop_done; } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 660, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":688 + * elif step_cmd == 128 and ( + * stop_frame is not None and + * stop_frame is not frame and # <<<<<<<<<<<<<< + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + */ + __pyx_t_15 = (__pyx_v_stop_frame != __pyx_v_frame); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L49_bool_binop_done; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L7_exception_handled; - } - /* "_pydevd_bundle/pydevd_cython.pyx":651 - * # ENDIF - * try: - * try: # <<<<<<<<<<<<<< - * # Showing return values was turned off, we should remove them from locals dict. - * # The values can be in the current frame or in the back one + /* "_pydevd_bundle/pydevd_cython.pyx":689 + * stop_frame is not None and + * stop_frame is not frame and + * stop_frame is not frame.f_back and # <<<<<<<<<<<<<< + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + * can_skip = True */ - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L4_error; - __pyx_L7_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L11_try_end:; - } - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 689, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = (__pyx_v_stop_frame != __pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L49_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":662 - * pydev_log.exception() - * finally: - * f_locals_back = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":690 + * stop_frame is not frame and + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): # <<<<<<<<<<<<<< + * can_skip = True * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - /*finally:*/ { - /*normal exit:*/{ - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_8 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; - { - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - } - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; - __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; - goto __pyx_L1_error; - } - __pyx_L5:; - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 690, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = (__pyx_t_7 == Py_None); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (!__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L49_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 690, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 690, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = (__pyx_v_stop_frame != __pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_15; + __pyx_L49_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":646 + /* "_pydevd_bundle/pydevd_cython.pyx":686 + * can_skip = True * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _remove_return_values(self, py_db, frame): # <<<<<<<<<<<<<< - * # ELSE - * # def _remove_return_values(self, py_db, frame): + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and */ + if (__pyx_t_9) { - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f_locals_back); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":691 + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd == 144: + */ + __pyx_v_can_skip = 1; -/* "_pydevd_bundle/pydevd_cython.pyx":665 + /* "_pydevd_bundle/pydevd_cython.pyx":686 + * can_skip = True * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _get_unfiltered_back_frame(self, py_db, frame): # <<<<<<<<<<<<<< - * # ELSE - * # def _get_unfiltered_back_frame(self, py_db, frame): + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and */ + goto __pyx_L46; + } -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__get_unfiltered_back_frame(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_get_unfiltered_back_frame", 1); + /* "_pydevd_bundle/pydevd_cython.pyx":693 + * can_skip = True + * + * elif step_cmd == 144: # <<<<<<<<<<<<<< + * if ( + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) + */ + __pyx_t_9 = (__pyx_v_step_cmd == 0x90); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":669 - * # def _get_unfiltered_back_frame(self, py_db, frame): - * # ENDIF - * f = frame.f_back # <<<<<<<<<<<<<< - * while f is not None: - * if not py_db.is_files_filter_enabled: + /* "_pydevd_bundle/pydevd_cython.pyx":695 + * elif step_cmd == 144: + * if ( + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) # <<<<<<<<<<<<<< + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + * ): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 695, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 695, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_frame, __pyx_t_6, Py_True}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 695, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 695, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L56_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":670 - * # ENDIF - * f = frame.f_back - * while f is not None: # <<<<<<<<<<<<<< - * if not py_db.is_files_filter_enabled: - * return f + /* "_pydevd_bundle/pydevd_cython.pyx":696 + * if ( + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) # <<<<<<<<<<<<<< + * ): + * can_skip = True */ - while (1) { - __pyx_t_2 = (__pyx_v_f != Py_None); - if (!__pyx_t_2) break; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_15 = (__pyx_t_8 == Py_None); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L56_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_t_6, __pyx_t_1, Py_True}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 696, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_15; + __pyx_L56_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":671 - * f = frame.f_back - * while f is not None: - * if not py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * return f + /* "_pydevd_bundle/pydevd_cython.pyx":694 * + * elif step_cmd == 144: + * if ( # <<<<<<<<<<<<<< + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = (!__pyx_t_2); - if (__pyx_t_3) { + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":672 - * while f is not None: - * if not py_db.is_files_filter_enabled: - * return f # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":698 + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + * ): + * can_skip = True # <<<<<<<<<<<<<< * - * else: + * elif step_cmd == 206: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_f); - __pyx_r = __pyx_v_f; - goto __pyx_L0; + __pyx_v_can_skip = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":671 - * f = frame.f_back - * while f is not None: - * if not py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * return f + /* "_pydevd_bundle/pydevd_cython.pyx":694 * + * elif step_cmd == 144: + * if ( # <<<<<<<<<<<<<< + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":675 - * - * else: - * if py_db.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":693 + * can_skip = True * + * elif step_cmd == 144: # <<<<<<<<<<<<<< + * if ( + * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) */ - /*else*/ { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_7 = 1; + goto __pyx_L46; } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_f, __pyx_t_6, Py_False}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - /* "_pydevd_bundle/pydevd_cython.pyx":676 - * else: - * if py_db.apply_files_filter(f, f.f_code.co_filename, False): - * f = f.f_back # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":700 + * can_skip = True * - * else: + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * f = frame + * while f is not None: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_t_9 = (__pyx_v_step_cmd == 0xCE); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":675 - * - * else: - * if py_db.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":701 * + * elif step_cmd == 206: + * f = frame # <<<<<<<<<<<<<< + * while f is not None: + * if self._is_same_frame(stop_frame, f): */ - goto __pyx_L6; - } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); - /* "_pydevd_bundle/pydevd_cython.pyx":679 - * - * else: - * return f # <<<<<<<<<<<<<< - * - * return f + /* "_pydevd_bundle/pydevd_cython.pyx":702 + * elif step_cmd == 206: + * f = frame + * while f is not None: # <<<<<<<<<<<<<< + * if self._is_same_frame(stop_frame, f): + * break */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_f); - __pyx_r = __pyx_v_f; - goto __pyx_L0; - } - __pyx_L6:; - } - } + while (1) { + __pyx_t_9 = (__pyx_v_f != Py_None); + if (!__pyx_t_9) break; - /* "_pydevd_bundle/pydevd_cython.pyx":681 - * return f - * - * return f # <<<<<<<<<<<<<< - * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + /* "_pydevd_bundle/pydevd_cython.pyx":703 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_f); - __pyx_r = __pyx_v_f; - goto __pyx_L0; + __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 703, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 703, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":665 - * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _get_unfiltered_back_frame(self, py_db, frame): # <<<<<<<<<<<<<< - * # ELSE - * # def _get_unfiltered_back_frame(self, py_db, frame): + /* "_pydevd_bundle/pydevd_cython.pyx":704 + * while f is not None: + * if self._is_same_frame(stop_frame, f): + * break # <<<<<<<<<<<<<< + * f = f.f_back + * else: */ + goto __pyx_L60_break; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._get_unfiltered_back_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "_pydevd_bundle/pydevd_cython.pyx":684 - * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< - * cdef PyDBAdditionalThreadInfo info; - * # ELSE + /* "_pydevd_bundle/pydevd_cython.pyx":703 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back */ + } -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__is_same_frame(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_target_frame, PyObject *__pyx_v_current_frame) { - struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_is_same_frame", 1); - - /* "_pydevd_bundle/pydevd_cython.pyx":689 - * # def _is_same_frame(self, target_frame, current_frame): - * # ENDIF - * if target_frame is current_frame: # <<<<<<<<<<<<<< - * return True - * + /* "_pydevd_bundle/pydevd_cython.pyx":705 + * if self._is_same_frame(stop_frame, f): + * break + * f = f.f_back # <<<<<<<<<<<<<< + * else: + * can_skip = True */ - __pyx_t_1 = (__pyx_v_target_frame == __pyx_v_current_frame); - if (__pyx_t_1) { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 705, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_8); + __pyx_t_8 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":690 - * # ENDIF - * if target_frame is current_frame: - * return True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":707 + * f = f.f_back + * else: + * can_skip = True # <<<<<<<<<<<<<< * - * info = self._args[2] + * if can_skip: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - goto __pyx_L0; + /*else*/ { + __pyx_v_can_skip = 1; + } + __pyx_L60_break:; - /* "_pydevd_bundle/pydevd_cython.pyx":689 - * # def _is_same_frame(self, target_frame, current_frame): - * # ENDIF - * if target_frame is current_frame: # <<<<<<<<<<<<<< - * return True + /* "_pydevd_bundle/pydevd_cython.pyx":700 + * can_skip = True * + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * f = frame + * while f is not None: */ - } + } + __pyx_L46:; - /* "_pydevd_bundle/pydevd_cython.pyx":692 - * return True + /* "_pydevd_bundle/pydevd_cython.pyx":709 + * can_skip = True * - * info = self._args[2] # <<<<<<<<<<<<<< - * if info.pydev_use_scoped_step_frame: - * # If using scoped step we don't check the target, we just need to check + * if can_skip: # <<<<<<<<<<<<<< + * if plugin_manager is not None and ( + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): */ - if (unlikely(__pyx_v_self->_args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 692, __pyx_L1_error) - } - __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 692, __pyx_L1_error) - __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_2); - __pyx_t_2 = 0; + if (__pyx_v_can_skip) { - /* "_pydevd_bundle/pydevd_cython.pyx":693 + /* "_pydevd_bundle/pydevd_cython.pyx":710 * - * info = self._args[2] - * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * # If using scoped step we don't check the target, we just need to check - * # if the current matches the same heuristic where the target was defined. - */ - if (__pyx_v_info->pydev_use_scoped_step_frame) { - - /* "_pydevd_bundle/pydevd_cython.pyx":696 - * # If using scoped step we don't check the target, we just need to check - * # if the current matches the same heuristic where the target was defined. - * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< - * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: - * # The co_name may be different (it may include the line number), but + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(py_db, frame) */ - __pyx_t_3 = (__pyx_v_target_frame != Py_None); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L6_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_current_frame != Py_None); - __pyx_t_1 = __pyx_t_3; - __pyx_L6_bool_binop_done:; - if (__pyx_t_1) { + __pyx_t_15 = (__pyx_v_plugin_manager != Py_None); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L64_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":697 - * # if the current matches the same heuristic where the target was defined. - * if target_frame is not None and current_frame is not None: - * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< - * # The co_name may be different (it may include the line number), but - * # the filename must still be the same. + /* "_pydevd_bundle/pydevd_cython.pyx":711 + * if can_skip: + * if plugin_manager is not None and ( + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): # <<<<<<<<<<<<<< + * can_skip = plugin_manager.can_skip(py_db, frame) + * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_target_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_1) { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 711, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 711, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L64_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 711, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 711, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_15; + __pyx_L64_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":700 - * # The co_name may be different (it may include the line number), but - * # the filename must still be the same. - * f = current_frame.f_back # <<<<<<<<<<<<<< - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":710 + * + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(py_db, frame) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":701 - * # the filename must still be the same. - * f = current_frame.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< - * f = f.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + /* "_pydevd_bundle/pydevd_cython.pyx":712 + * if plugin_manager is not None and ( + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(py_db, frame) # <<<<<<<<<<<<<< + * + * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): */ - __pyx_t_3 = (__pyx_v_f != Py_None); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L10_bool_binop_done; - } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_L10_bool_binop_done:; - if (__pyx_t_1) { + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_can_skip); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 712, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 712, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_can_skip = __pyx_t_9; - /* "_pydevd_bundle/pydevd_cython.pyx":702 - * f = current_frame.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f = f.f_back # <<<<<<<<<<<<<< - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - * return True + /* "_pydevd_bundle/pydevd_cython.pyx":710 + * + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(py_db, frame) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":703 - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f = f.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< - * return True + /* "_pydevd_bundle/pydevd_cython.pyx":714 + * can_skip = plugin_manager.can_skip(py_db, frame) * + * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< + * # trace function for showing return values after step over + * can_skip = False */ - __pyx_t_3 = (__pyx_v_f != Py_None); - if (__pyx_t_3) { + if (__pyx_v_can_skip) { } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L13_bool_binop_done; + __pyx_t_9 = __pyx_v_can_skip; + goto __pyx_L68_bool_binop_done; } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 703, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_L13_bool_binop_done:; - if (__pyx_t_1) { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 714, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 714, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L68_bool_binop_done; + } + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6C: + case 0x9F: + __pyx_t_15 = 1; + break; + default: + __pyx_t_15 = 0; + break; + } + __pyx_t_11 = __pyx_t_15; + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L68_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 714, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 714, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 714, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L68_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":704 - * f = f.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - * return True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":716 + * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): + * # trace function for showing return values after step over + * can_skip = False # <<<<<<<<<<<<<< * - * return False + * # Let's check to see if we are in a function that has a breakpoint. If we don't have a breakpoint, */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - goto __pyx_L0; + __pyx_v_can_skip = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":703 - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f = f.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< - * return True + /* "_pydevd_bundle/pydevd_cython.pyx":714 + * can_skip = plugin_manager.can_skip(py_db, frame) * + * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< + * # trace function for showing return values after step over + * can_skip = False */ } - /* "_pydevd_bundle/pydevd_cython.pyx":701 - * # the filename must still be the same. - * f = current_frame.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< - * f = f.f_back - * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + /* "_pydevd_bundle/pydevd_cython.pyx":709 + * can_skip = True + * + * if can_skip: # <<<<<<<<<<<<<< + * if plugin_manager is not None and ( + * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): */ } - /* "_pydevd_bundle/pydevd_cython.pyx":697 - * # if the current matches the same heuristic where the target was defined. - * if target_frame is not None and current_frame is not None: - * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< - * # The co_name may be different (it may include the line number), but - * # the filename must still be the same. + /* "_pydevd_bundle/pydevd_cython.pyx":675 + * can_skip = False + * + * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< + * # we can skip if: + * # - we have no stop marked */ } - /* "_pydevd_bundle/pydevd_cython.pyx":696 - * # If using scoped step we don't check the target, we just need to check - * # if the current matches the same heuristic where the target was defined. - * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< - * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: - * # The co_name may be different (it may include the line number), but + /* "_pydevd_bundle/pydevd_cython.pyx":723 + * # so, that's why the additional checks are there. + * + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * pass # Do nothing here (just keep on going as we can't skip it). + * */ - } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 723, __pyx_L4_error) + if (__pyx_t_9) { + goto __pyx_L72; + } - /* "_pydevd_bundle/pydevd_cython.pyx":693 + /* "_pydevd_bundle/pydevd_cython.pyx":726 + * pass # Do nothing here (just keep on going as we can't skip it). * - * info = self._args[2] - * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * # If using scoped step we don't check the target, we just need to check - * # if the current matches the same heuristic where the target was defined. + * elif not breakpoints_for_file: # <<<<<<<<<<<<<< + * if can_skip: + * if has_exception_breakpoints: */ - } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoints_for_file); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 726, __pyx_L4_error) + __pyx_t_11 = (!__pyx_t_9); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":706 - * return True - * - * return False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":727 * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * elif not breakpoints_for_file: + * if can_skip: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - goto __pyx_L0; + if (__pyx_v_can_skip) { + + /* "_pydevd_bundle/pydevd_cython.pyx":728 + * elif not breakpoints_for_file: + * if can_skip: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + if (__pyx_v_has_exception_breakpoints) { + + /* "_pydevd_bundle/pydevd_cython.pyx":729 + * if can_skip: + * if has_exception_breakpoints: + * return self.trace_exception # <<<<<<<<<<<<<< + * else: + * return None if is_call else NO_FTRACE + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 729, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":728 + * elif not breakpoints_for_file: + * if can_skip: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + } - /* "_pydevd_bundle/pydevd_cython.pyx":684 + /* "_pydevd_bundle/pydevd_cython.pyx":731 + * return self.trace_exception + * else: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< - * cdef PyDBAdditionalThreadInfo info; - * # ELSE + * else: */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 731, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __pyx_t_8; + __pyx_t_8 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + } - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._is_same_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_info); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":727 + * + * elif not breakpoints_for_file: + * if can_skip: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception + */ + } -/* "_pydevd_bundle/pydevd_cython.pyx":709 + /* "_pydevd_bundle/pydevd_cython.pyx":726 + * pass # Do nothing here (just keep on going as we can't skip it). * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< - * cdef tuple abs_path_canonical_path_and_base; - * cdef bint is_exception_event; + * elif not breakpoints_for_file: # <<<<<<<<<<<<<< + * if can_skip: + * if has_exception_breakpoints: */ + goto __pyx_L72; + } -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, int __pyx_skip_dispatch) { - PyObject *__pyx_v_abs_path_canonical_path_and_base = 0; - int __pyx_v_is_exception_event; - int __pyx_v_has_exception_breakpoints; - int __pyx_v_can_skip; - int __pyx_v_stop; - int __pyx_v_stop_on_plugin_breakpoint; - struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; - int __pyx_v_step_cmd; - int __pyx_v_line; - int __pyx_v_is_line; - int __pyx_v_is_call; - int __pyx_v_is_return; - int __pyx_v_should_stop; - PyObject *__pyx_v_breakpoints_for_file = 0; - PyObject *__pyx_v_stop_info = 0; - PyObject *__pyx_v_curr_func_name = 0; - PyObject *__pyx_v_frame_skips_cache = 0; - PyObject *__pyx_v_frame_cache_key = 0; - PyObject *__pyx_v_line_cache_key = 0; - int __pyx_v_breakpoints_in_line_cache; - int __pyx_v_breakpoints_in_frame_cache; - int __pyx_v_has_breakpoint_in_frame; - int __pyx_v_bp_line; - PyObject *__pyx_v_bp = 0; - int __pyx_v_pydev_smart_parent_offset; - int __pyx_v_pydev_smart_child_offset; - PyObject *__pyx_v_pydev_smart_step_into_variants = 0; - PyObject *__pyx_v_py_db = NULL; - PyObject *__pyx_v_thread = NULL; - PyObject *__pyx_v_plugin_manager = NULL; - PyObject *__pyx_v_stop_frame = NULL; - PyObject *__pyx_v_function_breakpoint_on_call_event = NULL; - PyObject *__pyx_v_returns_cache_key = NULL; - PyObject *__pyx_v_return_lines = NULL; - PyObject *__pyx_v_x = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_func_lines = NULL; - PyObject *__pyx_v_offset_and_lineno = NULL; - PyObject *__pyx_v_breakpoint = NULL; - PyObject *__pyx_v_stop_reason = NULL; - PyObject *__pyx_v_bp_type = NULL; - PyObject *__pyx_v_new_frame = NULL; - PyObject *__pyx_v_result = NULL; - PyObject *__pyx_v_eval_result = NULL; - PyObject *__pyx_v_cmd = NULL; - PyObject *__pyx_v_exc = NULL; - long __pyx_v_should_skip; - PyObject *__pyx_v_plugin_stop = NULL; - PyObject *__pyx_v_force_check_project_scope = NULL; - PyObject *__pyx_v_filename = NULL; - PyObject *__pyx_v_f2 = NULL; - PyObject *__pyx_v_back = NULL; - PyObject *__pyx_v_smart_step_into_variant = NULL; - PyObject *__pyx_v_children_variants = NULL; - PyObject *__pyx_v_f_code = NULL; - CYTHON_UNUSED PyObject *__pyx_v_stopped_on_plugin = NULL; - PyObject *__pyx_v_back_absolute_filename = NULL; - CYTHON_UNUSED PyObject *__pyx_v__ = NULL; - PyObject *__pyx_v_base = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - int __pyx_t_10; - int __pyx_t_11; - Py_ssize_t __pyx_t_12; - PyObject *(*__pyx_t_13)(PyObject *); - PyObject *(*__pyx_t_14)(PyObject *); - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_t_19; - Py_ssize_t __pyx_t_20; - PyObject *__pyx_t_21 = NULL; - char const *__pyx_t_22; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - char const *__pyx_t_29; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("trace_dispatch", 0); - __Pyx_INCREF(__pyx_v_frame); - /* Check if called by wrapper */ - if (unlikely(__pyx_skip_dispatch)) ; - /* Check if overridden in Python */ - else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { - #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS - static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; - if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { - PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); - #endif - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch)) { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; + /* "_pydevd_bundle/pydevd_cython.pyx":735 + * else: + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: # <<<<<<<<<<<<<< + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: + */ + /*else*/ { + if (__pyx_v_can_skip) { + + /* "_pydevd_bundle/pydevd_cython.pyx":736 + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) # <<<<<<<<<<<<<< + * if breakpoints_in_line_cache == 0: + * return self.trace_dispatch + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 736, __pyx_L4_error) } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L0; - } - #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS - __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); - __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); - if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) { - __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; - } - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS - } - #endif - } + __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 736, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 736, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_breakpoints_in_line_cache = __pyx_t_5; - /* "_pydevd_bundle/pydevd_cython.pyx":749 - * # generation be better split among what each part does). + /* "_pydevd_bundle/pydevd_cython.pyx":737 + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< + * return self.trace_dispatch * - * try: # <<<<<<<<<<<<<< - * # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename - * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args */ - /*try:*/ { + __pyx_t_11 = (__pyx_v_breakpoints_in_line_cache == 0); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":751 - * try: - * # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename - * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args # <<<<<<<<<<<<<< - * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) - * info.is_tracing += 1 + /* "_pydevd_bundle/pydevd_cython.pyx":738 + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) */ - __pyx_t_1 = __pyx_v_self->_args; - __Pyx_INCREF(__pyx_t_1); - if (likely(__pyx_t_1 != Py_None)) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 6)) { - if (size > 6) __Pyx_RaiseTooManyValuesError(6); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 751, __pyx_L4_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 4); - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - #else - { - Py_ssize_t i; - PyObject** temps[6] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8}; - for (i=0; i < 6; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 751, __pyx_L4_error) - __Pyx_GOTREF(item); - *(temps[i]) = item; - } - } - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 751, __pyx_L4_error) - } - if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_3))) __PYX_ERR(0, 751, __pyx_L4_error) - if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 751, __pyx_L4_error) - if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_7))) __PYX_ERR(0, 751, __pyx_L4_error) - __pyx_v_py_db = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_v_abs_path_canonical_path_and_base = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_4); - __pyx_t_4 = 0; - __pyx_v_thread = __pyx_t_6; - __pyx_t_6 = 0; - __pyx_v_frame_skips_cache = ((PyObject*)__pyx_t_7); - __pyx_t_7 = 0; - __pyx_v_frame_cache_key = __pyx_t_8; - __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 738, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":753 - * py_db, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args - * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) - * info.is_tracing += 1 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":737 + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< + * return self.trace_dispatch * - * # TODO: This shouldn't be needed. The fact that frame.f_lineno */ - __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing + 1); + } - /* "_pydevd_bundle/pydevd_cython.pyx":758 - * # is None seems like a bug in Python 3.11. - * # Reported in: https://github.com/python/cpython/issues/94485 - * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None # <<<<<<<<<<<<<< - * line_cache_key = (frame_cache_key, line) - * + /* "_pydevd_bundle/pydevd_cython.pyx":735 + * else: + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: # <<<<<<<<<<<<<< + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 758, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 758, __pyx_L4_error) - if (!__pyx_t_9) { - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 758, __pyx_L4_error) - __pyx_t_5 = __pyx_t_10; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L6_bool_binop_done; - } - __pyx_t_5 = 0; - __pyx_L6_bool_binop_done:; - __pyx_v_line = __pyx_t_5; + } - /* "_pydevd_bundle/pydevd_cython.pyx":759 - * # Reported in: https://github.com/python/cpython/issues/94485 - * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None - * line_cache_key = (frame_cache_key, line) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":740 + * return self.trace_dispatch * - * if py_db.pydb_disposed: + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) # <<<<<<<<<<<<<< + * if breakpoints_in_frame_cache != -1: + * # Gotten from cache. */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 759, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_frame_cache_key); - __Pyx_GIVEREF(__pyx_v_frame_cache_key); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 759, __pyx_L4_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1)) __PYX_ERR(0, 759, __pyx_L4_error); - __pyx_t_1 = 0; - __pyx_v_line_cache_key = ((PyObject*)__pyx_t_8); - __pyx_t_8 = 0; + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 740, __pyx_L4_error) + } + __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_breakpoints_in_frame_cache = __pyx_t_5; - /* "_pydevd_bundle/pydevd_cython.pyx":761 - * line_cache_key = (frame_cache_key, line) - * - * if py_db.pydb_disposed: # <<<<<<<<<<<<<< - * return None if event == 'call' else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":741 * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 761, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_9) { + __pyx_t_11 = (__pyx_v_breakpoints_in_frame_cache != -1L); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":762 - * - * if py_db.pydb_disposed: - * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":743 + * if breakpoints_in_frame_cache != -1: + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 # <<<<<<<<<<<<<< * - * plugin_manager = py_db.plugin + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 762, __pyx_L4_error) - if (__pyx_t_9) { - __Pyx_INCREF(Py_None); - __pyx_t_8 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __pyx_t_1; - __pyx_t_1 = 0; - } - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L3_return; + __pyx_v_has_breakpoint_in_frame = (__pyx_v_breakpoints_in_frame_cache == 1); - /* "_pydevd_bundle/pydevd_cython.pyx":761 - * line_cache_key = (frame_cache_key, line) - * - * if py_db.pydb_disposed: # <<<<<<<<<<<<<< - * return None if event == 'call' else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":741 * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 */ - } + goto __pyx_L77; + } - /* "_pydevd_bundle/pydevd_cython.pyx":764 - * return None if event == 'call' else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":746 * - * plugin_manager = py_db.plugin # <<<<<<<<<<<<<< - * has_exception_breakpoints = ( - * py_db.break_on_caught_exceptions + * else: + * has_breakpoint_in_frame = False # <<<<<<<<<<<<<< + * + * try: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 764, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_v_plugin_manager = __pyx_t_8; - __pyx_t_8 = 0; + /*else*/ { + __pyx_v_has_breakpoint_in_frame = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":766 - * plugin_manager = py_db.plugin - * has_exception_breakpoints = ( - * py_db.break_on_caught_exceptions # <<<<<<<<<<<<<< - * or py_db.break_on_user_uncaught_exceptions - * or py_db.has_plugin_exception_breaks) + /* "_pydevd_bundle/pydevd_cython.pyx":748 + * has_breakpoint_in_frame = False + * + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 766, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 766, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (!__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L9_bool_binop_done; - } + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":767 - * has_exception_breakpoints = ( - * py_db.break_on_caught_exceptions - * or py_db.break_on_user_uncaught_exceptions # <<<<<<<<<<<<<< - * or py_db.has_plugin_exception_breaks) + /* "_pydevd_bundle/pydevd_cython.pyx":749 * + * try: + * func_lines = set() # <<<<<<<<<<<<<< + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 767, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 767, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (!__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L9_bool_binop_done; - } + __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 749, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_v_func_lines = ((PyObject*)__pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":768 - * py_db.break_on_caught_exceptions - * or py_db.break_on_user_uncaught_exceptions - * or py_db.has_plugin_exception_breaks) # <<<<<<<<<<<<<< - * - * stop_frame = info.pydev_step_stop + /* "_pydevd_bundle/pydevd_cython.pyx":750 + * try: + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< + * func_lines.add(offset_and_lineno[1]) + * except: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 768, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 768, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __pyx_t_11; - __pyx_L9_bool_binop_done:; - __pyx_v_has_exception_breakpoints = __pyx_t_9; + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_dis); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_findlinestarts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { + __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); + __pyx_t_12 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 750, __pyx_L78_error) + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); + #if !CYTHON_ASSUME_SAFE_MACROS + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 750, __pyx_L78_error) + #endif + if (__pyx_t_12 >= __pyx_temp) break; + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 750, __pyx_L78_error) + #else + __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + } else { + { + Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); + #if !CYTHON_ASSUME_SAFE_MACROS + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 750, __pyx_L78_error) + #endif + if (__pyx_t_12 >= __pyx_temp) break; + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 750, __pyx_L78_error) + #else + __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 750, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + } + } else { + __pyx_t_7 = __pyx_t_13(__pyx_t_1); + if (unlikely(!__pyx_t_7)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 750, __pyx_L78_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_7); + } + __Pyx_XDECREF_SET(__pyx_v_offset_and_lineno, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":770 - * or py_db.has_plugin_exception_breaks) - * - * stop_frame = info.pydev_step_stop # <<<<<<<<<<<<<< - * step_cmd = info.pydev_step_cmd - * function_breakpoint_on_call_event = None + /* "_pydevd_bundle/pydevd_cython.pyx":751 + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) # <<<<<<<<<<<<<< + * except: + * # This is a fallback for implementations where we can't get the function */ - __pyx_t_8 = __pyx_v_info->pydev_step_stop; - __Pyx_INCREF(__pyx_t_8); - __pyx_v_stop_frame = __pyx_t_8; - __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_offset_and_lineno, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 751, __pyx_L78_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_19 = PySet_Add(__pyx_v_func_lines, __pyx_t_7); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 751, __pyx_L78_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":771 - * - * stop_frame = info.pydev_step_stop - * step_cmd = info.pydev_step_cmd # <<<<<<<<<<<<<< - * function_breakpoint_on_call_event = None - * + /* "_pydevd_bundle/pydevd_cython.pyx":750 + * try: + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< + * func_lines.add(offset_and_lineno[1]) + * except: */ - __pyx_t_5 = __pyx_v_info->pydev_step_cmd; - __pyx_v_step_cmd = __pyx_t_5; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":772 - * stop_frame = info.pydev_step_stop - * step_cmd = info.pydev_step_cmd - * function_breakpoint_on_call_event = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":748 + * has_breakpoint_in_frame = False * - * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): */ - __Pyx_INCREF(Py_None); - __pyx_v_function_breakpoint_on_call_event = Py_None; + } - /* "_pydevd_bundle/pydevd_cython.pyx":774 - * function_breakpoint_on_call_event = None - * - * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 # <<<<<<<<<<<<<< - * # Dealing with coroutines and generators: - * # When in a coroutine we change the perceived event to the debugger because + /* "_pydevd_bundle/pydevd_cython.pyx":771 + * break + * else: + * for bp_line in breakpoints_for_file: # iterate on keys # <<<<<<<<<<<<<< + * if bp_line in func_lines: + * has_breakpoint_in_frame = True */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 774, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 774, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_AndObjC(__pyx_t_1, __pyx_int_160, 0xa0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 774, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 774, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":778 - * # When in a coroutine we change the perceived event to the debugger because - * # a call, StopIteration exception and return are usually just pausing/unpausing it. - * if event == 'line': # <<<<<<<<<<<<<< - * is_line = True - * is_call = False - */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_line, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 778, __pyx_L4_error) - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":779 - * # a call, StopIteration exception and return are usually just pausing/unpausing it. - * if event == 'line': - * is_line = True # <<<<<<<<<<<<<< - * is_call = False - * is_return = False - */ - __pyx_v_is_line = 1; + /*else:*/ { + __pyx_t_12 = 0; + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 771, __pyx_L80_except_error) + } + __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_breakpoints_for_file, 1, ((PyObject *)NULL), (&__pyx_t_20), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 771, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_1); + __pyx_t_1 = __pyx_t_7; + __pyx_t_7 = 0; + while (1) { + __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_20, &__pyx_t_12, &__pyx_t_7, NULL, NULL, __pyx_t_5); + if (unlikely(__pyx_t_10 == 0)) break; + if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 771, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L80_except_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_bp_line = __pyx_t_10; - /* "_pydevd_bundle/pydevd_cython.pyx":780 - * if event == 'line': - * is_line = True - * is_call = False # <<<<<<<<<<<<<< - * is_return = False - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":772 + * else: + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break */ - __pyx_v_is_call = 0; + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_bp_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 772, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = (__Pyx_PySet_ContainsTF(__pyx_t_7, __pyx_v_func_lines, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 772, __pyx_L80_except_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":781 - * is_line = True - * is_call = False - * is_return = False # <<<<<<<<<<<<<< - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":773 + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: + * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< + * break * */ - __pyx_v_is_return = 0; + __pyx_v_has_breakpoint_in_frame = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":782 - * is_call = False - * is_return = False - * is_exception_event = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":774 + * if bp_line in func_lines: + * has_breakpoint_in_frame = True + * break # <<<<<<<<<<<<<< * - * elif event == 'return': + * # Cache the value (1 or 0 or -1 for default because of cython). */ - __pyx_v_is_exception_event = 0; + goto __pyx_L88_break; - /* "_pydevd_bundle/pydevd_cython.pyx":778 - * # When in a coroutine we change the perceived event to the debugger because - * # a call, StopIteration exception and return are usually just pausing/unpausing it. - * if event == 'line': # <<<<<<<<<<<<<< - * is_line = True - * is_call = False + /* "_pydevd_bundle/pydevd_cython.pyx":772 + * else: + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break */ - goto __pyx_L13; - } + } + } + __pyx_L88_break:; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L83_try_end; + __pyx_L78_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":784 - * is_exception_event = False - * - * elif event == 'return': # <<<<<<<<<<<<<< - * is_line = False - * is_call = False + /* "_pydevd_bundle/pydevd_cython.pyx":752 + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) + * except: # <<<<<<<<<<<<<< + * # This is a fallback for implementations where we can't get the function + * # lines -- i.e.: jython (in this case clients need to provide the function */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 784, __pyx_L4_error) - if (__pyx_t_9) { + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 752, __pyx_L80_except_error) + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); - /* "_pydevd_bundle/pydevd_cython.pyx":785 + /* "_pydevd_bundle/pydevd_cython.pyx":759 * - * elif event == 'return': - * is_line = False # <<<<<<<<<<<<<< - * is_call = False - * is_return = True + * # Checks the breakpoint to see if there is a context match in some function. + * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< + * + * # global context is set with an empty name */ - __pyx_v_is_line = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 759, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 759, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_4))) __PYX_ERR(0, 759, __pyx_L80_except_error) + __pyx_v_curr_func_name = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":786 - * elif event == 'return': - * is_line = False - * is_call = False # <<<<<<<<<<<<<< - * is_return = True - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":762 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< + * curr_func_name = '' + * */ - __pyx_v_is_call = 0; + __Pyx_INCREF(__pyx_v_curr_func_name); + __pyx_t_21 = __pyx_v_curr_func_name; + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 762, __pyx_L80_except_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L93_bool_binop_done; + } + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 762, __pyx_L80_except_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L93_bool_binop_done; + } + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_lambda, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 762, __pyx_L80_except_error) + __pyx_t_11 = __pyx_t_9; + __pyx_L93_bool_binop_done:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_9 = __pyx_t_11; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":787 - * is_line = False - * is_call = False - * is_return = True # <<<<<<<<<<<<<< - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":763 + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): + * curr_func_name = '' # <<<<<<<<<<<<<< * + * for bp in breakpoints_for_file.values(): */ - __pyx_v_is_return = 1; + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); - /* "_pydevd_bundle/pydevd_cython.pyx":788 - * is_call = False - * is_return = True - * is_exception_event = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":762 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< + * curr_func_name = '' * - * returns_cache_key = (frame_cache_key, 'returns') */ - __pyx_v_is_exception_event = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":790 - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":765 + * curr_func_name = '' * - * returns_cache_key = (frame_cache_key, 'returns') # <<<<<<<<<<<<<< - * return_lines = frame_skips_cache.get(returns_cache_key) - * if return_lines is None: + * for bp in breakpoints_for_file.values(): # <<<<<<<<<<<<<< + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): */ - __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 790, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_frame_cache_key); - __Pyx_GIVEREF(__pyx_v_frame_cache_key); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key)) __PYX_ERR(0, 790, __pyx_L4_error); - __Pyx_INCREF(__pyx_n_s_returns); - __Pyx_GIVEREF(__pyx_n_s_returns); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_returns)) __PYX_ERR(0, 790, __pyx_L4_error); - __pyx_v_returns_cache_key = ((PyObject*)__pyx_t_8); - __pyx_t_8 = 0; + __pyx_t_20 = 0; + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values"); + __PYX_ERR(0, 765, __pyx_L80_except_error) + } + __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_breakpoints_for_file, 1, __pyx_n_s_values, (&__pyx_t_12), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 765, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_4); + __pyx_t_4 = __pyx_t_6; + __pyx_t_6 = 0; + while (1) { + __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_12, &__pyx_t_20, NULL, &__pyx_t_6, NULL, __pyx_t_5); + if (unlikely(__pyx_t_10 == 0)) break; + if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 765, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_XDECREF_SET(__pyx_v_bp, __pyx_t_6); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":791 - * - * returns_cache_key = (frame_cache_key, 'returns') - * return_lines = frame_skips_cache.get(returns_cache_key) # <<<<<<<<<<<<<< - * if return_lines is None: - * # Note: we're collecting the return lines by inspecting the bytecode as + /* "_pydevd_bundle/pydevd_cython.pyx":767 + * for bp in breakpoints_for_file.values(): + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 791, __pyx_L4_error) - } - __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 791, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_v_return_lines = __pyx_t_8; - __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_bp, __pyx_n_s_func_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 767, __pyx_L80_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_None, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 767, __pyx_L80_except_error) + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L99_bool_binop_done; + } + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_v_curr_func_name, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 767, __pyx_L80_except_error) + __pyx_t_9 = __pyx_t_11; + __pyx_L99_bool_binop_done:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __pyx_t_9; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":792 - * returns_cache_key = (frame_cache_key, 'returns') - * return_lines = frame_skips_cache.get(returns_cache_key) - * if return_lines is None: # <<<<<<<<<<<<<< - * # Note: we're collecting the return lines by inspecting the bytecode as - * # there are multiple returns and multiple stop iterations when awaiting and + /* "_pydevd_bundle/pydevd_cython.pyx":768 + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): + * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< + * break + * else: */ - __pyx_t_9 = (__pyx_v_return_lines == Py_None); - if (__pyx_t_9) { + __pyx_v_has_breakpoint_in_frame = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":797 - * # it doesn't give any clear indication when a coroutine or generator is - * # finishing or just pausing. - * return_lines = set() # <<<<<<<<<<<<<< - * for x in py_db.collect_return_info(frame.f_code): - * # Note: cython does not support closures in cpdefs (so we can't use + /* "_pydevd_bundle/pydevd_cython.pyx":769 + * if bp.func_name in ('None', curr_func_name): + * has_breakpoint_in_frame = True + * break # <<<<<<<<<<<<<< + * else: + * for bp_line in breakpoints_for_file: # iterate on keys */ - __pyx_t_8 = PySet_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 797, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_return_lines, __pyx_t_8); - __pyx_t_8 = 0; + goto __pyx_L97_break; - /* "_pydevd_bundle/pydevd_cython.pyx":798 - * # finishing or just pausing. - * return_lines = set() - * for x in py_db.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< - * # Note: cython does not support closures in cpdefs (so we can't use - * # a list comprehension). + /* "_pydevd_bundle/pydevd_cython.pyx":767 + * for bp in breakpoints_for_file.values(): + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_collect_return_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { - __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); - __pyx_t_12 = 0; - __pyx_t_13 = NULL; - } else { - __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 798, __pyx_L4_error) - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - for (;;) { - if (likely(!__pyx_t_13)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 798, __pyx_L4_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 798, __pyx_L4_error) - #else - __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 798, __pyx_L4_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 798, __pyx_L4_error) - #else - __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 798, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - #endif - } - } else { - __pyx_t_8 = __pyx_t_13(__pyx_t_1); - if (unlikely(!__pyx_t_8)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 798, __pyx_L4_error) - } - break; } - __Pyx_GOTREF(__pyx_t_8); + __pyx_L97_break:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L79_exception_handled; } - __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); - __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":801 - * # Note: cython does not support closures in cpdefs (so we can't use - * # a list comprehension). - * return_lines.add(x.return_line) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":748 + * has_breakpoint_in_frame = False * - * frame_skips_cache[returns_cache_key] = return_lines + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 801, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_return_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 801, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 801, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_L80_except_error:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L4_error; + __pyx_L79_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + __pyx_L83_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":777 + * + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * frame_skips_cache[frame_cache_key] = 1 + * else: + */ + if (__pyx_v_has_breakpoint_in_frame) { + + /* "_pydevd_bundle/pydevd_cython.pyx":778 + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: + * frame_skips_cache[frame_cache_key] = 1 # <<<<<<<<<<<<<< + * else: + * frame_skips_cache[frame_cache_key] = 0 + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 778, __pyx_L4_error) } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 778, __pyx_L4_error) - /* "_pydevd_bundle/pydevd_cython.pyx":798 - * # finishing or just pausing. - * return_lines = set() - * for x in py_db.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< - * # Note: cython does not support closures in cpdefs (so we can't use - * # a list comprehension). + /* "_pydevd_bundle/pydevd_cython.pyx":777 + * + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * frame_skips_cache[frame_cache_key] = 1 + * else: */ + goto __pyx_L101; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":803 - * return_lines.add(x.return_line) - * - * frame_skips_cache[returns_cache_key] = return_lines # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":780 + * frame_skips_cache[frame_cache_key] = 1 + * else: + * frame_skips_cache[frame_cache_key] = 0 # <<<<<<<<<<<<<< * - * if line not in return_lines: + * if can_skip and not has_breakpoint_in_frame: */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 803, __pyx_L4_error) + /*else*/ { + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 780, __pyx_L4_error) + } + if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_0) < 0))) __PYX_ERR(0, 780, __pyx_L4_error) } - if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, __pyx_v_return_lines) < 0))) __PYX_ERR(0, 803, __pyx_L4_error) + __pyx_L101:; + } + __pyx_L77:; - /* "_pydevd_bundle/pydevd_cython.pyx":792 - * returns_cache_key = (frame_cache_key, 'returns') - * return_lines = frame_skips_cache.get(returns_cache_key) - * if return_lines is None: # <<<<<<<<<<<<<< - * # Note: we're collecting the return lines by inspecting the bytecode as - * # there are multiple returns and multiple stop iterations when awaiting and + /* "_pydevd_bundle/pydevd_cython.pyx":782 + * frame_skips_cache[frame_cache_key] = 0 + * + * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception */ + if (__pyx_v_can_skip) { + } else { + __pyx_t_11 = __pyx_v_can_skip; + goto __pyx_L103_bool_binop_done; } + __pyx_t_9 = (!__pyx_v_has_breakpoint_in_frame); + __pyx_t_11 = __pyx_t_9; + __pyx_L103_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":805 - * frame_skips_cache[returns_cache_key] = return_lines + /* "_pydevd_bundle/pydevd_cython.pyx":783 * - * if line not in return_lines: # <<<<<<<<<<<<<< - * # Not really a return (coroutine/generator paused). - * return self.trace_dispatch + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_return_lines, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 805, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_9) { + if (__pyx_v_has_exception_breakpoints) { - /* "_pydevd_bundle/pydevd_cython.pyx":807 - * if line not in return_lines: - * # Not really a return (coroutine/generator paused). - * return self.trace_dispatch # <<<<<<<<<<<<<< - * else: - * if self.exc_info: + /* "_pydevd_bundle/pydevd_cython.pyx":784 + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: + * return self.trace_exception # <<<<<<<<<<<<<< + * else: + * return None if is_call else NO_FTRACE */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L3_return; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 784, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L3_return; - /* "_pydevd_bundle/pydevd_cython.pyx":805 - * frame_skips_cache[returns_cache_key] = return_lines + /* "_pydevd_bundle/pydevd_cython.pyx":783 * - * if line not in return_lines: # <<<<<<<<<<<<<< - * # Not really a return (coroutine/generator paused). - * return self.trace_dispatch - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":809 - * return self.trace_dispatch - * else: - * if self.exc_info: # <<<<<<<<<<<<<< - * self.handle_user_exception(frame) - * return self.trace_dispatch + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: */ - /*else*/ { - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 809, __pyx_L4_error) - if (__pyx_t_9) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":810 - * else: - * if self.exc_info: - * self.handle_user_exception(frame) # <<<<<<<<<<<<<< - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":786 + * return self.trace_exception + * else: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * + * # We may have hit a breakpoint or we are already in step mode. Either way, let's check what we should do in this frame */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 810, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_frame}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":811 - * if self.exc_info: - * self.handle_user_exception(frame) - * return self.trace_dispatch # <<<<<<<<<<<<<< - * - * # Tricky handling: usually when we're on a frame which is about to exit - */ + /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 786, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __pyx_t_7; + __pyx_t_7 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L3_return; - - /* "_pydevd_bundle/pydevd_cython.pyx":809 - * return self.trace_dispatch - * else: - * if self.exc_info: # <<<<<<<<<<<<<< - * self.handle_user_exception(frame) - * return self.trace_dispatch - */ } - /* "_pydevd_bundle/pydevd_cython.pyx":829 - * # as the return shouldn't mean that we've actually completed executing a - * # frame in this case). - * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if step_cmd in (108, 159, 107, 144): - * f = self._get_unfiltered_back_frame(py_db, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":782 + * frame_skips_cache[frame_cache_key] = 0 + * + * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception */ - __pyx_t_11 = (__pyx_v_stop_frame == __pyx_v_frame); - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L21_bool_binop_done; - } - __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); - __pyx_t_9 = __pyx_t_11; - __pyx_L21_bool_binop_done:; - if (__pyx_t_9) { + } + } + __pyx_L72:; - /* "_pydevd_bundle/pydevd_cython.pyx":830 - * # frame in this case). - * if stop_frame is frame and not info.pydev_use_scoped_step_frame: - * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":670 + * return self.trace_dispatch + * + * if not is_exception_event: # <<<<<<<<<<<<<< + * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) + * */ - switch (__pyx_v_step_cmd) { - case 0x6C: - case 0x9F: - case 0x6B: - case 0x90: + } - /* "_pydevd_bundle/pydevd_cython.pyx":831 - * if stop_frame is frame and not info.pydev_use_scoped_step_frame: - * if step_cmd in (108, 159, 107, 144): - * f = self._get_unfiltered_back_frame(py_db, frame) # <<<<<<<<<<<<<< - * if f is not None: - * info.pydev_step_cmd = 206 + /* "_pydevd_bundle/pydevd_cython.pyx":791 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + * + * try: # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case */ - __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 831, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":832 - * if step_cmd in (108, 159, 107, 144): - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 206 - * info.pydev_step_stop = f + /* "_pydevd_bundle/pydevd_cython.pyx":792 + * + * try: + * stop_on_plugin_breakpoint = False # <<<<<<<<<<<<<< + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + * # (one for the line and the other for the return). */ - __pyx_t_9 = (__pyx_v_f != Py_None); - if (__pyx_t_9) { + __pyx_v_stop_on_plugin_breakpoint = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":833 - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: - * info.pydev_step_cmd = 206 # <<<<<<<<<<<<<< - * info.pydev_step_stop = f - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":796 + * # (one for the line and the other for the return). + * + * stop_info = {} # <<<<<<<<<<<<<< + * breakpoint = None + * stop = False */ - __pyx_v_info->pydev_step_cmd = 0xCE; + __pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 796, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_stop_info = ((PyObject*)__pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":834 - * if f is not None: - * info.pydev_step_cmd = 206 - * info.pydev_step_stop = f # <<<<<<<<<<<<<< - * else: - * if step_cmd == 108: + /* "_pydevd_bundle/pydevd_cython.pyx":797 + * + * stop_info = {} + * breakpoint = None # <<<<<<<<<<<<<< + * stop = False + * stop_reason = 111 */ - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = __pyx_v_f; + __Pyx_INCREF(Py_None); + __pyx_v_breakpoint = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":832 - * if step_cmd in (108, 159, 107, 144): - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 206 - * info.pydev_step_stop = f + /* "_pydevd_bundle/pydevd_cython.pyx":798 + * stop_info = {} + * breakpoint = None + * stop = False # <<<<<<<<<<<<<< + * stop_reason = 111 + * bp_type = None */ - goto __pyx_L23; - } + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":836 - * info.pydev_step_stop = f - * else: - * if step_cmd == 108: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 107 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":799 + * breakpoint = None + * stop = False + * stop_reason = 111 # <<<<<<<<<<<<<< + * bp_type = None + * */ - /*else*/ { + __Pyx_INCREF(__pyx_int_111); + __pyx_v_stop_reason = __pyx_int_111; - /* "_pydevd_bundle/pydevd_cython.pyx":840 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":800 + * stop = False + * stop_reason = 111 + * bp_type = None # <<<<<<<<<<<<<< * - * elif step_cmd == 159: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 144 - * info.pydev_step_stop = None + * if function_breakpoint_on_call_event: */ - switch (__pyx_v_step_cmd) { - case 0x6C: + __Pyx_INCREF(Py_None); + __pyx_v_bp_type = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":837 - * else: - * if step_cmd == 108: - * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":802 + * bp_type = None * + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * breakpoint = function_breakpoint_on_call_event + * stop = True */ - __pyx_v_info->pydev_step_cmd = 0x6B; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 802, __pyx_L106_error) + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":838 - * if step_cmd == 108: - * info.pydev_step_cmd = 107 - * info.pydev_step_stop = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":803 * - * elif step_cmd == 159: + * if function_breakpoint_on_call_event: + * breakpoint = function_breakpoint_on_call_event # <<<<<<<<<<<<<< + * stop = True + * new_frame = frame */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = Py_None; + __Pyx_INCREF(__pyx_v_function_breakpoint_on_call_event); + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_v_function_breakpoint_on_call_event); - /* "_pydevd_bundle/pydevd_cython.pyx":836 - * info.pydev_step_stop = f - * else: - * if step_cmd == 108: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 107 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":804 + * if function_breakpoint_on_call_event: + * breakpoint = function_breakpoint_on_call_event + * stop = True # <<<<<<<<<<<<<< + * new_frame = frame + * stop_reason = CMD_SET_FUNCTION_BREAK */ - break; - case 0x9F: + __pyx_v_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":841 + /* "_pydevd_bundle/pydevd_cython.pyx":805 + * breakpoint = function_breakpoint_on_call_event + * stop = True + * new_frame = frame # <<<<<<<<<<<<<< + * stop_reason = CMD_SET_FUNCTION_BREAK * - * elif step_cmd == 159: - * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< - * info.pydev_step_stop = None + */ + __Pyx_INCREF(__pyx_v_frame); + __pyx_v_new_frame = __pyx_v_frame; + + /* "_pydevd_bundle/pydevd_cython.pyx":806 + * stop = True + * new_frame = frame + * stop_reason = CMD_SET_FUNCTION_BREAK # <<<<<<<<<<<<<< * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: */ - __pyx_v_info->pydev_step_cmd = 0x90; + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_CMD_SET_FUNCTION_BREAK); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 806, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_stop_reason, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":842 - * elif step_cmd == 159: - * info.pydev_step_cmd = 144 - * info.pydev_step_stop = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":802 + * bp_type = None * - * elif step_cmd == 206: + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * breakpoint = function_breakpoint_on_call_event + * stop = True */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = Py_None; + goto __pyx_L112; + } - /* "_pydevd_bundle/pydevd_cython.pyx":840 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":808 + * stop_reason = CMD_SET_FUNCTION_BREAK * - * elif step_cmd == 159: # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 144 - * info.pydev_step_stop = None + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< + * breakpoint = breakpoints_for_file[line] + * new_frame = frame */ - break; - default: break; - } - } - __pyx_L23:; + if (__pyx_v_is_line) { + } else { + __pyx_t_11 = __pyx_v_is_line; + goto __pyx_L113_bool_binop_done; + } + __pyx_t_9 = (__pyx_v_info->pydev_state != 2); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L113_bool_binop_done; + } + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 808, __pyx_L106_error) } + __pyx_t_9 = (__pyx_v_breakpoints_for_file != ((PyObject*)Py_None)); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L113_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 808, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 808, __pyx_L106_error) } + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 808, __pyx_L106_error) + } + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_t_8, __pyx_v_breakpoints_for_file, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 808, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L113_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":830 - * # frame in this case). - * if stop_frame is frame and not info.pydev_use_scoped_step_frame: - * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":809 + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + * breakpoint = breakpoints_for_file[line] # <<<<<<<<<<<<<< + * new_frame = frame + * stop = True */ - break; - case 0xCE: + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 809, __pyx_L106_error) } + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 809, __pyx_L106_error) + } + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 809, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_breakpoints_for_file, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 809, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":846 - * elif step_cmd == 206: - * # We're exiting this one, so, mark the new coroutine context. - * f = self._get_unfiltered_back_frame(py_db, frame) # <<<<<<<<<<<<<< - * if f is not None: - * info.pydev_step_stop = f + /* "_pydevd_bundle/pydevd_cython.pyx":810 + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + * breakpoint = breakpoints_for_file[line] + * new_frame = frame # <<<<<<<<<<<<<< + * stop = True + * */ - __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 846, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v_frame); + __pyx_v_new_frame = __pyx_v_frame; - /* "_pydevd_bundle/pydevd_cython.pyx":847 - * # We're exiting this one, so, mark the new coroutine context. - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: # <<<<<<<<<<<<<< - * info.pydev_step_stop = f - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":811 + * breakpoint = breakpoints_for_file[line] + * new_frame = frame + * stop = True # <<<<<<<<<<<<<< + * + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: */ - __pyx_t_9 = (__pyx_v_f != Py_None); - if (__pyx_t_9) { + __pyx_v_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":848 - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: - * info.pydev_step_stop = f # <<<<<<<<<<<<<< - * else: - * info.pydev_step_cmd = 107 + /* "_pydevd_bundle/pydevd_cython.pyx":808 + * stop_reason = CMD_SET_FUNCTION_BREAK + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< + * breakpoint = breakpoints_for_file[line] + * new_frame = frame */ - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = __pyx_v_f; + goto __pyx_L112; + } - /* "_pydevd_bundle/pydevd_cython.pyx":847 - * # We're exiting this one, so, mark the new coroutine context. - * f = self._get_unfiltered_back_frame(py_db, frame) - * if f is not None: # <<<<<<<<<<<<<< - * info.pydev_step_stop = f - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":813 + * stop = True + * + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: # <<<<<<<<<<<<<< + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) + * if result: */ - goto __pyx_L24; - } + __pyx_t_9 = (__pyx_v_plugin_manager != Py_None); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L117_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 813, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 813, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L117_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":850 - * info.pydev_step_stop = f - * else: - * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":814 * + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) # <<<<<<<<<<<<<< + * if result: + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result */ - /*else*/ { - __pyx_v_info->pydev_step_cmd = 0x6B; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_get_breakpoint); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 814, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[5] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 4+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 814, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __pyx_v_result = __pyx_t_7; + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":851 - * else: - * info.pydev_step_cmd = 107 - * info.pydev_step_stop = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":815 + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) + * if result: # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result * - * elif event == 'exception': */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = Py_None; - } - __pyx_L24:; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 815, __pyx_L106_error) + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":844 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":816 + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) + * if result: + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result # <<<<<<<<<<<<<< * - * elif step_cmd == 206: # <<<<<<<<<<<<<< - * # We're exiting this one, so, mark the new coroutine context. - * f = self._get_unfiltered_back_frame(py_db, frame) + * if breakpoint: */ - break; - default: break; + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 4)) { + if (size > 4) __Pyx_RaiseTooManyValuesError(4); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 816, __pyx_L106_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); + } else { + __pyx_t_7 = PyList_GET_ITEM(sequence, 0); + __pyx_t_8 = PyList_GET_ITEM(sequence, 1); + __pyx_t_1 = PyList_GET_ITEM(sequence, 2); + __pyx_t_4 = PyList_GET_ITEM(sequence, 3); + } + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + #else + { + Py_ssize_t i; + PyObject** temps[4] = {&__pyx_t_7,&__pyx_t_8,&__pyx_t_1,&__pyx_t_4}; + for (i=0; i < 4; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 816, __pyx_L106_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + } else { + Py_ssize_t index = -1; + PyObject** temps[4] = {&__pyx_t_7,&__pyx_t_8,&__pyx_t_1,&__pyx_t_4}; + __pyx_t_6 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 816, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); + for (index=0; index < 4; index++) { + PyObject* item = __pyx_t_14(__pyx_t_6); if (unlikely(!item)) goto __pyx_L120_unpacking_failed; + __Pyx_GOTREF(item); + *(temps[index]) = item; + } + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_6), 4) < 0) __PYX_ERR(0, 816, __pyx_L106_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L121_unpacking_done; + __pyx_L120_unpacking_failed:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 816, __pyx_L106_error) + __pyx_L121_unpacking_done:; } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 816, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_stop_on_plugin_breakpoint = __pyx_t_11; + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_8); + __pyx_t_8 = 0; + __pyx_v_new_frame = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_bp_type, __pyx_t_4); + __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":829 - * # as the return shouldn't mean that we've actually completed executing a - * # frame in this case). - * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if step_cmd in (108, 159, 107, 144): - * f = self._get_unfiltered_back_frame(py_db, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":815 + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) + * if result: # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result + * */ } - } - /* "_pydevd_bundle/pydevd_cython.pyx":784 - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":813 + * stop = True * - * elif event == 'return': # <<<<<<<<<<<<<< - * is_line = False - * is_call = False + * elif plugin_manager is not None and py_db.has_plugin_line_breaks: # <<<<<<<<<<<<<< + * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) + * if result: */ - goto __pyx_L13; - } + } + __pyx_L112:; - /* "_pydevd_bundle/pydevd_cython.pyx":853 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":818 + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result * - * elif event == 'exception': # <<<<<<<<<<<<<< - * breakpoints_for_file = None - * if has_exception_breakpoints: + * if breakpoint: # <<<<<<<<<<<<<< + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 853, __pyx_L4_error) - if (__pyx_t_9) { + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 818, __pyx_L106_error) + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":854 + /* "_pydevd_bundle/pydevd_cython.pyx":821 + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here + * if breakpoint.expression is not None: # <<<<<<<<<<<<<< + * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) * - * elif event == 'exception': - * breakpoints_for_file = None # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - */ - __Pyx_INCREF(Py_None); - __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); - - /* "_pydevd_bundle/pydevd_cython.pyx":855 - * elif event == 'exception': - * breakpoints_for_file = None - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: */ - if (__pyx_v_has_exception_breakpoints) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 821, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":856 - * breakpoints_for_file = None - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + /* "_pydevd_bundle/pydevd_cython.pyx":822 + * # lets do the conditional stuff here + * if breakpoint.expression is not None: + * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) # <<<<<<<<<<<<<< + * + * if stop or stop_on_plugin_breakpoint: */ - __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 856, __pyx_L4_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_8 = PyList_GET_ITEM(sequence, 0); - __pyx_t_7 = PyList_GET_ITEM(sequence, 1); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 822, __pyx_L106_error) } + __pyx_t_8 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } } - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - #else - __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 856, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 856, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 856, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); - index = 0; __pyx_t_8 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_8)) goto __pyx_L26_unpacking_failed; - __Pyx_GOTREF(__pyx_t_8); - index = 1; __pyx_t_7 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_7)) goto __pyx_L26_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_6), 2) < 0) __PYX_ERR(0, 856, __pyx_L4_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L27_unpacking_done; - __pyx_L26_unpacking_failed:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 856, __pyx_L4_error) - __pyx_L27_unpacking_done:; - } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 856, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_v_should_stop = __pyx_t_9; - __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_7); - __pyx_t_7 = 0; + { + PyObject *__pyx_callargs[4] = {__pyx_t_8, __pyx_v_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_new_frame}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":857 - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":821 + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here + * if breakpoint.expression is not None: # <<<<<<<<<<<<<< + * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) + * */ - if (__pyx_v_should_stop) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":858 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":824 + * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) * + * if stop or stop_on_plugin_breakpoint: # <<<<<<<<<<<<<< + * eval_result = False + * if breakpoint.has_condition: */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 858, __pyx_L4_error) - __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 858, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 858, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_9) { + if (!__pyx_v_stop) { + } else { + __pyx_t_11 = __pyx_v_stop; + goto __pyx_L125_bool_binop_done; + } + __pyx_t_11 = __pyx_v_stop_on_plugin_breakpoint; + __pyx_L125_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":859 - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":825 * - * return self.trace_dispatch + * if stop or stop_on_plugin_breakpoint: + * eval_result = False # <<<<<<<<<<<<<< + * if breakpoint.has_condition: + * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 859, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L3_return; + __Pyx_INCREF(Py_False); + __pyx_v_eval_result = Py_False; - /* "_pydevd_bundle/pydevd_cython.pyx":858 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< - * return self.trace_dispatch - * + /* "_pydevd_bundle/pydevd_cython.pyx":826 + * if stop or stop_on_plugin_breakpoint: + * eval_result = False + * if breakpoint.has_condition: # <<<<<<<<<<<<<< + * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) + * if not eval_result: */ - } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_has_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 826, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 826, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":857 - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":827 + * eval_result = False + * if breakpoint.has_condition: + * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) # <<<<<<<<<<<<<< + * if not eval_result: + * stop = False */ - } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 827, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 827, __pyx_L106_error) } + __pyx_t_8 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_8, ((PyObject *)__pyx_v_info), __pyx_v_breakpoint, __pyx_v_new_frame}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 827, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF_SET(__pyx_v_eval_result, __pyx_t_4); + __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":855 - * elif event == 'exception': - * breakpoints_for_file = None - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: + /* "_pydevd_bundle/pydevd_cython.pyx":828 + * if breakpoint.has_condition: + * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) + * if not eval_result: # <<<<<<<<<<<<<< + * stop = False + * stop_on_plugin_breakpoint = False */ - } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_eval_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 828, __pyx_L106_error) + __pyx_t_9 = (!__pyx_t_11); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":861 - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":829 + * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) + * if not eval_result: + * stop = False # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint = False * - * return self.trace_dispatch # <<<<<<<<<<<<<< - * else: - * # event == 'call' or event == 'c_XXX' */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 861, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L3_return; + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":853 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":830 + * if not eval_result: + * stop = False + * stop_on_plugin_breakpoint = False # <<<<<<<<<<<<<< * - * elif event == 'exception': # <<<<<<<<<<<<<< - * breakpoints_for_file = None - * if has_exception_breakpoints: + * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith('', '') or (line == 1 and frame.f_code.co_name.startswith('. + * + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * # Handle logpoint (on a logpoint we should never stop). */ - __pyx_v_is_line = 1; + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 844, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L110_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":869 - * if event == 'line': - * is_line = True - * is_call = False # <<<<<<<<<<<<<< - * is_return = False - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":832 + * stop_on_plugin_breakpoint = False + * + * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith(' 0: */ - goto __pyx_L30; - } + __pyx_v_stop_on_plugin_breakpoint = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":873 - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":851 + * stop_on_plugin_breakpoint = False * - * elif event == 'return': # <<<<<<<<<<<<<< - * is_line = False - * is_return = True + * if info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< + * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * py_db.writer.add_command(cmd) */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 873, __pyx_L4_error) - if (__pyx_t_9) { + __pyx_t_15 = (__pyx_v_info->pydev_message != ((PyObject*)Py_None)); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L141_bool_binop_done; + } + __pyx_t_1 = __pyx_v_info->pydev_message; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_12 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 851, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = (__pyx_t_12 > 0); + __pyx_t_9 = __pyx_t_15; + __pyx_L141_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":874 + /* "_pydevd_bundle/pydevd_cython.pyx":852 + * + * if info.pydev_message is not None and len(info.pydev_message) > 0: + * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') # <<<<<<<<<<<<<< + * py_db.writer.add_command(cmd) * - * elif event == 'return': - * is_line = False # <<<<<<<<<<<<<< - * is_return = True - * is_call = False */ - __pyx_v_is_line = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_make_io_message); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_linesep); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Add(__pyx_v_info->pydev_message, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_4, __pyx_kp_s_1}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __pyx_v_cmd = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":875 - * elif event == 'return': - * is_line = False - * is_return = True # <<<<<<<<<<<<<< - * is_call = False - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":853 + * if info.pydev_message is not None and len(info.pydev_message) > 0: + * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< + * + * if py_db.show_return_values: */ - __pyx_v_is_return = 1; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 853, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_add_command); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 853, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + __pyx_t_5 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_cmd}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":876 - * is_line = False - * is_return = True - * is_call = False # <<<<<<<<<<<<<< - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":851 + * stop_on_plugin_breakpoint = False * + * if info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< + * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * py_db.writer.add_command(cmd) */ - __pyx_v_is_call = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":877 - * is_return = True - * is_call = False - * is_exception_event = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":847 * - * # If we are in single step mode and something causes us to exit the current frame, we need to make sure we break + * # Handle logpoint (on a logpoint we should never stop). + * if (stop or stop_on_plugin_breakpoint) and breakpoint.is_logpoint: # <<<<<<<<<<<<<< + * stop = False + * stop_on_plugin_breakpoint = False */ - __pyx_v_is_exception_event = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":886 - * # @DontTrace comment. - * if ( - * stop_frame is frame and # <<<<<<<<<<<<<< - * not info.pydev_use_scoped_step_frame and is_return and - * step_cmd in (108, 109, 159, 160, 128) - */ - __pyx_t_11 = (__pyx_v_stop_frame == __pyx_v_frame); - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L32_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":887 - * if ( - * stop_frame is frame and - * not info.pydev_use_scoped_step_frame and is_return and # <<<<<<<<<<<<<< - * step_cmd in (108, 109, 159, 160, 128) - * ): - */ - __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L32_bool_binop_done; - } - if (__pyx_v_is_return) { - } else { - __pyx_t_9 = __pyx_v_is_return; - goto __pyx_L32_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":888 - * stop_frame is frame and - * not info.pydev_use_scoped_step_frame and is_return and - * step_cmd in (108, 109, 159, 160, 128) # <<<<<<<<<<<<<< - * ): + /* "_pydevd_bundle/pydevd_cython.pyx":818 + * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result * + * if breakpoint: # <<<<<<<<<<<<<< + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here */ - switch (__pyx_v_step_cmd) { - case 0x6C: - case 0x6D: - case 0x9F: - case 0xA0: - case 0x80: - __pyx_t_11 = 1; - break; - default: - __pyx_t_11 = 0; - break; } - __pyx_t_15 = __pyx_t_11; - __pyx_t_9 = __pyx_t_15; - __pyx_L32_bool_binop_done:; - - /* "_pydevd_bundle/pydevd_cython.pyx":885 - * # Note: this is especially troublesome when we're skipping code with the - * # @DontTrace comment. - * if ( # <<<<<<<<<<<<<< - * stop_frame is frame and - * not info.pydev_use_scoped_step_frame and is_return and - */ - if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":891 - * ): + /* "_pydevd_bundle/pydevd_cython.pyx":855 + * py_db.writer.add_command(cmd) * - * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 107 - * else: + * if py_db.show_return_values: # <<<<<<<<<<<<<< + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or */ - switch (__pyx_v_step_cmd) { - case 0x6C: - case 0x6D: - case 0x80: + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 855, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 855, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":892 + /* "_pydevd_bundle/pydevd_cython.pyx":856 * - * if step_cmd in (108, 109, 128): - * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< - * else: - * info.pydev_step_cmd = 144 + * if py_db.show_return_values: + * if is_return and ( # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or */ - __pyx_v_info->pydev_step_cmd = 0x6B; + if (__pyx_v_is_return) { + } else { + __pyx_t_9 = __pyx_v_is_return; + goto __pyx_L145_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":891 - * ): - * - * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< - * info.pydev_step_cmd = 107 - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":857 + * if py_db.show_return_values: + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * (info.pydev_step_cmd in (107, 206)) or */ + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6C: + case 0x9F: + case 0x80: + __pyx_t_15 = 1; break; default: + __pyx_t_15 = 0; + break; + } + __pyx_t_11 = __pyx_t_15; + if (!__pyx_t_11) { + goto __pyx_L147_next_or; + } else { + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 857, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 857, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 857, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } + __pyx_L147_next_or:; - /* "_pydevd_bundle/pydevd_cython.pyx":894 - * info.pydev_step_cmd = 107 - * else: - * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< - * info.pydev_step_stop = None - * + /* "_pydevd_bundle/pydevd_cython.pyx":858 + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (107, 206)) or + * ( */ - __pyx_v_info->pydev_step_cmd = 0x90; + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6D: + case 0xA0: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; break; } + __pyx_t_15 = __pyx_t_11; + if (!__pyx_t_15) { + goto __pyx_L149_next_or; + } else { + } + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 858, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L145_bool_binop_done; + } + __pyx_L149_next_or:; - /* "_pydevd_bundle/pydevd_cython.pyx":895 - * else: - * info.pydev_step_cmd = 144 - * info.pydev_step_stop = None # <<<<<<<<<<<<<< - * - * if self.exc_info: + /* "_pydevd_bundle/pydevd_cython.pyx":859 + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * (info.pydev_step_cmd in (107, 206)) or # <<<<<<<<<<<<<< + * ( + * info.pydev_step_cmd == 144 */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = Py_None; + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6B: + case 0xCE: + __pyx_t_15 = 1; + break; + default: + __pyx_t_15 = 0; + break; + } + __pyx_t_11 = __pyx_t_15; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":885 - * # Note: this is especially troublesome when we're skipping code with the - * # @DontTrace comment. - * if ( # <<<<<<<<<<<<<< - * stop_frame is frame and - * not info.pydev_use_scoped_step_frame and is_return and + /* "_pydevd_bundle/pydevd_cython.pyx":861 + * (info.pydev_step_cmd in (107, 206)) or + * ( + * info.pydev_step_cmd == 144 # <<<<<<<<<<<<<< + * and frame.f_back is not None + * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) */ - } + __pyx_t_11 = (__pyx_v_info->pydev_step_cmd == 0x90); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":897 - * info.pydev_step_stop = None - * - * if self.exc_info: # <<<<<<<<<<<<<< - * if self.handle_user_exception(frame): - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":862 + * ( + * info.pydev_step_cmd == 144 + * and frame.f_back is not None # <<<<<<<<<<<<<< + * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + * ) */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 897, __pyx_L4_error) - if (__pyx_t_9) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 862, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":898 - * - * if self.exc_info: - * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< - * return self.trace_dispatch - * + /* "_pydevd_bundle/pydevd_cython.pyx":863 + * info.pydev_step_cmd == 144 + * and frame.f_back is not None + * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) # <<<<<<<<<<<<<< + * ) + * ): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 863, __pyx_L106_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = NULL; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; __pyx_t_5 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; @@ -19065,3930 +18384,3570 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispa } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_frame}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); + PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_t_8, __pyx_t_7, Py_True}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 898, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_9) { + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 863, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = (!__pyx_t_11); + __pyx_t_9 = __pyx_t_15; + __pyx_L145_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":899 - * if self.exc_info: - * if self.handle_user_exception(frame): - * return self.trace_dispatch # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":856 * - * elif event == 'call': + * if py_db.show_return_values: + * if is_return and ( # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 899, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L3_return; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":898 - * - * if self.exc_info: - * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":866 + * ) + * ): + * self._show_return_values(frame, arg) # <<<<<<<<<<<<<< * + * elif py_db.remove_return_values_flag: */ - } + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_show_return_values(__pyx_v_self, __pyx_v_frame, __pyx_v_arg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 866, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":897 - * info.pydev_step_stop = None + /* "_pydevd_bundle/pydevd_cython.pyx":856 * - * if self.exc_info: # <<<<<<<<<<<<<< - * if self.handle_user_exception(frame): - * return self.trace_dispatch + * if py_db.show_return_values: + * if is_return and ( # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":873 - * is_exception_event = False + /* "_pydevd_bundle/pydevd_cython.pyx":855 + * py_db.writer.add_command(cmd) * - * elif event == 'return': # <<<<<<<<<<<<<< - * is_line = False - * is_return = True + * if py_db.show_return_values: # <<<<<<<<<<<<<< + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or */ - goto __pyx_L30; - } + goto __pyx_L143; + } - /* "_pydevd_bundle/pydevd_cython.pyx":901 - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":868 + * self._show_return_values(frame, arg) * - * elif event == 'call': # <<<<<<<<<<<<<< - * is_line = False - * is_call = True + * elif py_db.remove_return_values_flag: # <<<<<<<<<<<<<< + * try: + * self._remove_return_values(py_db, frame) */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 901, __pyx_L4_error) - if (__pyx_t_9) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 868, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 868, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":902 + /* "_pydevd_bundle/pydevd_cython.pyx":869 * - * elif event == 'call': - * is_line = False # <<<<<<<<<<<<<< - * is_call = True - * is_return = False - */ - __pyx_v_is_line = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":903 - * elif event == 'call': - * is_line = False - * is_call = True # <<<<<<<<<<<<<< - * is_return = False - * is_exception_event = False - */ - __pyx_v_is_call = 1; - - /* "_pydevd_bundle/pydevd_cython.pyx":904 - * is_line = False - * is_call = True - * is_return = False # <<<<<<<<<<<<<< - * is_exception_event = False - * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. - */ - __pyx_v_is_return = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":905 - * is_call = True - * is_return = False - * is_exception_event = False # <<<<<<<<<<<<<< - * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * elif py_db.remove_return_values_flag: + * try: # <<<<<<<<<<<<<< + * self._remove_return_values(py_db, frame) + * finally: */ - __pyx_v_is_exception_event = 0; + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":906 - * is_return = False - * is_exception_event = False - * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) - * + /* "_pydevd_bundle/pydevd_cython.pyx":870 + * elif py_db.remove_return_values_flag: + * try: + * self._remove_return_values(py_db, frame) # <<<<<<<<<<<<<< + * finally: + * py_db.remove_return_values_flag = False */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 906, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_firstlineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 906, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 906, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 906, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 906, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_9) { + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_remove_return_values(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L155_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":907 - * is_exception_event = False - * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":872 + * self._remove_return_values(py_db, frame) + * finally: + * py_db.remove_return_values_flag = False # <<<<<<<<<<<<<< * - * elif event == 'exception': + * if stop: */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 907, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 907, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 907, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; + /*finally:*/ { + /*normal exit:*/{ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 872, __pyx_L106_error) + goto __pyx_L156; } + __pyx_L155_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_26); + __Pyx_XGOTREF(__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_28); + __pyx_t_5 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_22 = __pyx_filename; + { + if (__Pyx_PyObject_SetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 872, __pyx_L158_error) + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + } + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); + __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_22; + goto __pyx_L106_error; + __pyx_L158_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + } + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + goto __pyx_L106_error; + } + __pyx_L156:; } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 907, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF_SET(__pyx_v_function_breakpoint_on_call_event, __pyx_t_8); - __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":906 - * is_return = False - * is_exception_event = False - * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + /* "_pydevd_bundle/pydevd_cython.pyx":868 + * self._show_return_values(frame, arg) * + * elif py_db.remove_return_values_flag: # <<<<<<<<<<<<<< + * try: + * self._remove_return_values(py_db, frame) */ } + __pyx_L143:; - /* "_pydevd_bundle/pydevd_cython.pyx":901 - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":874 + * py_db.remove_return_values_flag = False * - * elif event == 'call': # <<<<<<<<<<<<<< - * is_line = False - * is_call = True + * if stop: # <<<<<<<<<<<<<< + * self.set_suspend( + * thread, */ - goto __pyx_L30; - } + if (__pyx_v_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":909 - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + /* "_pydevd_bundle/pydevd_cython.pyx":875 * - * elif event == 'exception': # <<<<<<<<<<<<<< - * is_exception_event = True - * breakpoints_for_file = None + * if stop: + * self.set_suspend( # <<<<<<<<<<<<<< + * thread, + * stop_reason, */ - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 909, __pyx_L4_error) - if (__pyx_t_9) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_4); - /* "_pydevd_bundle/pydevd_cython.pyx":910 - * - * elif event == 'exception': - * is_exception_event = True # <<<<<<<<<<<<<< - * breakpoints_for_file = None - * if has_exception_breakpoints: + /* "_pydevd_bundle/pydevd_cython.pyx":877 + * self.set_suspend( + * thread, + * stop_reason, # <<<<<<<<<<<<<< + * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", + * ) */ - __pyx_v_is_exception_event = 1; - - /* "_pydevd_bundle/pydevd_cython.pyx":911 - * elif event == 'exception': - * is_exception_event = True - * breakpoints_for_file = None # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - */ - __Pyx_INCREF(Py_None); - __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); - - /* "_pydevd_bundle/pydevd_cython.pyx":912 - * is_exception_event = True - * breakpoints_for_file = None - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: - */ - if (__pyx_v_has_exception_breakpoints) { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 875, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_thread)) __PYX_ERR(0, 875, __pyx_L106_error); + __Pyx_INCREF(__pyx_v_stop_reason); + __Pyx_GIVEREF(__pyx_v_stop_reason); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_stop_reason)) __PYX_ERR(0, 875, __pyx_L106_error); - /* "_pydevd_bundle/pydevd_cython.pyx":913 - * breakpoints_for_file = None - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + /* "_pydevd_bundle/pydevd_cython.pyx":878 + * thread, + * stop_reason, + * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", # <<<<<<<<<<<<<< + * ) + * */ - __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 913, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { - PyObject* sequence = __pyx_t_8; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 913, __pyx_L4_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_1 = PyList_GET_ITEM(sequence, 0); - __pyx_t_6 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 913, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 878, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 878, __pyx_L106_error) + if (__pyx_t_9) { } else { - Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 913, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); - index = 0; __pyx_t_1 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_1)) goto __pyx_L40_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - index = 1; __pyx_t_6 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L40_unpacking_failed; - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_7), 2) < 0) __PYX_ERR(0, 913, __pyx_L4_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L41_unpacking_done; - __pyx_L40_unpacking_failed:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 913, __pyx_L4_error) - __pyx_L41_unpacking_done:; + __Pyx_INCREF(__pyx_v_breakpoint); + __pyx_t_8 = __pyx_v_breakpoint; + goto __pyx_L160_bool_binop_done; } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 913, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_should_stop = __pyx_t_9; - __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_6); - __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_suspend_policy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 878, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_n_s_ALL, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 878, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_8 = __pyx_t_3; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_L160_bool_binop_done:; + if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_suspend_other_threads, __pyx_t_8) < 0) __PYX_ERR(0, 878, __pyx_L106_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":914 - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":875 + * + * if stop: + * self.set_suspend( # <<<<<<<<<<<<<< + * thread, + * stop_reason, */ - if (__pyx_v_should_stop) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 875, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":915 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< - * return self.trace_dispatch - * is_line = False + /* "_pydevd_bundle/pydevd_cython.pyx":874 + * py_db.remove_return_values_flag = False + * + * if stop: # <<<<<<<<<<<<<< + * self.set_suspend( + * thread, */ - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 915, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - if (!(likely(PyString_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_8))) __PYX_ERR(0, 915, __pyx_L4_error) - __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_8)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 915, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 915, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_9) { + goto __pyx_L159; + } - /* "_pydevd_bundle/pydevd_cython.pyx":916 - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch # <<<<<<<<<<<<<< - * is_line = False - * is_return = False + /* "_pydevd_bundle/pydevd_cython.pyx":881 + * ) + * + * elif stop_on_plugin_breakpoint and plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) + * if result: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 916, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L3_return; + if (__pyx_v_stop_on_plugin_breakpoint) { + } else { + __pyx_t_9 = __pyx_v_stop_on_plugin_breakpoint; + goto __pyx_L162_bool_binop_done; + } + __pyx_t_15 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_9 = __pyx_t_15; + __pyx_L162_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":915 - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< - * return self.trace_dispatch - * is_line = False + /* "_pydevd_bundle/pydevd_cython.pyx":882 + * + * elif stop_on_plugin_breakpoint and plugin_manager is not None: + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) # <<<<<<<<<<<<<< + * if result: + * frame = result */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_suspend); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 882, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; } - - /* "_pydevd_bundle/pydevd_cython.pyx":914 - * if has_exception_breakpoints: - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: # <<<<<<<<<<<<<< - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch - */ } + #endif + { + PyObject *__pyx_callargs[5] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_thread, __pyx_v_frame, __pyx_v_bp_type}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 882, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":912 - * is_exception_event = True - * breakpoints_for_file = None - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * should_stop, frame = self._should_stop_on_exception(frame, event, arg) - * if should_stop: + /* "_pydevd_bundle/pydevd_cython.pyx":883 + * elif stop_on_plugin_breakpoint and plugin_manager is not None: + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) + * if result: # <<<<<<<<<<<<<< + * frame = result + * */ - } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 883, __pyx_L106_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":917 - * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): - * return self.trace_dispatch - * is_line = False # <<<<<<<<<<<<<< - * is_return = False - * is_call = False + /* "_pydevd_bundle/pydevd_cython.pyx":884 + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) + * if result: + * frame = result # <<<<<<<<<<<<<< + * + * # if thread has a suspend flag, we suspend with a busy wait */ - __pyx_v_is_line = 0; + __Pyx_INCREF(__pyx_v_result); + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_v_result); - /* "_pydevd_bundle/pydevd_cython.pyx":918 - * return self.trace_dispatch - * is_line = False - * is_return = False # <<<<<<<<<<<<<< - * is_call = False + /* "_pydevd_bundle/pydevd_cython.pyx":883 + * elif stop_on_plugin_breakpoint and plugin_manager is not None: + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) + * if result: # <<<<<<<<<<<<<< + * frame = result * */ - __pyx_v_is_return = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":919 - * is_line = False - * is_return = False - * is_call = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":881 + * ) * - * else: + * elif stop_on_plugin_breakpoint and plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.suspend(py_db, thread, frame, bp_type) + * if result: */ - __pyx_v_is_call = 0; + } + __pyx_L159:; - /* "_pydevd_bundle/pydevd_cython.pyx":909 - * function_breakpoint_on_call_event = py_db.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + /* "_pydevd_bundle/pydevd_cython.pyx":887 * - * elif event == 'exception': # <<<<<<<<<<<<<< - * is_exception_event = True - * breakpoints_for_file = None + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch */ - goto __pyx_L30; - } + __pyx_t_9 = (__pyx_v_info->pydev_state == 2); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":923 + /* "_pydevd_bundle/pydevd_cython.pyx":888 + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: + * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< + * return self.trace_dispatch * else: - * # Unexpected: just keep the same trace func (i.e.: event == 'c_XXX'). - * return self.trace_dispatch # <<<<<<<<<<<<<< - * - * if not is_exception_event: */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 923, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L3_return; - } - __pyx_L30:; - } - __pyx_L12:; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 888, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[5] = {__pyx_t_1, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 888, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":925 - * return self.trace_dispatch - * - * if not is_exception_event: # <<<<<<<<<<<<<< - * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) - * + /* "_pydevd_bundle/pydevd_cython.pyx":889 + * if info.pydev_state == 2: + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch # <<<<<<<<<<<<<< + * else: + * if not breakpoint and is_line: */ - __pyx_t_9 = (!__pyx_v_is_exception_event); - if (__pyx_t_9) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 889, __pyx_L106_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L110_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":926 - * - * if not is_exception_event: - * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":887 * - * can_skip = False + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_breakpoints); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 926, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 926, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 926, __pyx_L4_error) - } - __pyx_t_8 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 926, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 926, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (!(likely(PyDict_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_6))) __PYX_ERR(0, 926, __pyx_L4_error) - __Pyx_XDECREF_SET(__pyx_v_breakpoints_for_file, ((PyObject*)__pyx_t_6)); - __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":928 - * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) - * - * can_skip = False # <<<<<<<<<<<<<< - * - * if info.pydev_state == 1: # 1 = 1 + /* "_pydevd_bundle/pydevd_cython.pyx":891 + * return self.trace_dispatch + * else: + * if not breakpoint and is_line: # <<<<<<<<<<<<<< + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 */ - __pyx_v_can_skip = 0; + /*else*/ { + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 891, __pyx_L106_error) + __pyx_t_11 = (!__pyx_t_15); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L167_bool_binop_done; + } + __pyx_t_9 = __pyx_v_is_line; + __pyx_L167_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":930 - * can_skip = False + /* "_pydevd_bundle/pydevd_cython.pyx":893 + * if not breakpoint and is_line: + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 # <<<<<<<<<<<<<< * - * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< - * # we can skip if: - * # - we have no stop marked + * except: */ - __pyx_t_9 = (__pyx_v_info->pydev_state == 1); - if (__pyx_t_9) { + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 893, __pyx_L106_error) + } + if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_0) < 0))) __PYX_ERR(0, 893, __pyx_L106_error) - /* "_pydevd_bundle/pydevd_cython.pyx":935 - * # - we should make a step return/step over and we're not in the current frame - * # - we're stepping into a coroutine context and we're not in that context - * if step_cmd == -1: # <<<<<<<<<<<<<< - * can_skip = True - * + /* "_pydevd_bundle/pydevd_cython.pyx":891 + * return self.trace_dispatch + * else: + * if not breakpoint and is_line: # <<<<<<<<<<<<<< + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 */ - __pyx_t_9 = (__pyx_v_step_cmd == -1L); - if (__pyx_t_9) { + } + } - /* "_pydevd_bundle/pydevd_cython.pyx":936 - * # - we're stepping into a coroutine context and we're not in that context - * if step_cmd == -1: - * can_skip = True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":791 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) * - * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): + * try: # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case */ - __pyx_v_can_skip = 1; + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L111_try_end; + __pyx_L106_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":935 - * # - we should make a step return/step over and we're not in the current frame - * # - we're stepping into a coroutine context and we're not in that context - * if step_cmd == -1: # <<<<<<<<<<<<<< - * can_skip = True + /* "_pydevd_bundle/pydevd_cython.pyx":895 + * frame_skips_cache[line_cache_key] = 0 * + * except: # <<<<<<<<<<<<<< + * # Unfortunately Python itself stops the tracing when it originates from + * # the tracing function, so, we can't do much about it (just let the user know). */ - goto __pyx_L46; - } + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(0, 895, __pyx_L108_except_error) + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_1); - /* "_pydevd_bundle/pydevd_cython.pyx":938 - * can_skip = True - * - * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< - * can_skip = True - * + /* "_pydevd_bundle/pydevd_cython.pyx":898 + * # Unfortunately Python itself stops the tracing when it originates from + * # the tracing function, so, we can't do much about it (just let the user know). + * exc = sys.exc_info()[0] # <<<<<<<<<<<<<< + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) */ - switch (__pyx_v_step_cmd) { - case 0x6C: - case 0x6D: - case 0x9F: - case 0xA0: - __pyx_t_15 = 1; - break; - default: - __pyx_t_15 = 0; - break; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 898, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 898, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } } - __pyx_t_11 = __pyx_t_15; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L47_bool_binop_done; + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 898, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 938, __pyx_L4_error) + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 898, __pyx_L108_except_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 938, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = (!__pyx_t_11); - __pyx_t_9 = __pyx_t_15; - __pyx_L47_bool_binop_done:; - if (__pyx_t_9) { + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_exc = __pyx_t_6; + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":939 - * - * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): - * can_skip = True # <<<<<<<<<<<<<< - * - * elif step_cmd == 128 and ( + /* "_pydevd_bundle/pydevd_cython.pyx":899 + * # the tracing function, so, we can't do much about it (just let the user know). + * exc = sys.exc_info()[0] + * cmd = py_db.cmd_factory.make_console_message( # <<<<<<<<<<<<<< + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) */ - __pyx_v_can_skip = 1; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 899, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_make_console_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 899, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":938 - * can_skip = True - * - * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< - * can_skip = True - * + /* "_pydevd_bundle/pydevd_cython.pyx":900 + * exc = sys.exc_info()[0] + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) # <<<<<<<<<<<<<< + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): */ - goto __pyx_L46; + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 900, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_exc)) __PYX_ERR(0, 900, __pyx_L108_except_error); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_thread)) __PYX_ERR(0, 900, __pyx_L108_except_error); + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_raised_from_within_the_callba, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; + } } - - /* "_pydevd_bundle/pydevd_cython.pyx":941 - * can_skip = True - * - * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< - * stop_frame is not None and - * stop_frame is not frame and - */ - __pyx_t_15 = (__pyx_v_step_cmd == 0x80); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L49_bool_binop_done; + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 899, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } + __Pyx_XDECREF_SET(__pyx_v_cmd, __pyx_t_6); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":942 - * - * elif step_cmd == 128 and ( - * stop_frame is not None and # <<<<<<<<<<<<<< - * stop_frame is not frame and - * stop_frame is not frame.f_back and + /* "_pydevd_bundle/pydevd_cython.pyx":901 + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + * pydev_log.exception() */ - __pyx_t_15 = (__pyx_v_stop_frame != Py_None); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L49_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":943 - * elif step_cmd == 128 and ( - * stop_frame is not None and - * stop_frame is not frame and # <<<<<<<<<<<<<< - * stop_frame is not frame.f_back and - * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): - */ - __pyx_t_15 = (__pyx_v_stop_frame != __pyx_v_frame); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L49_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":944 - * stop_frame is not None and - * stop_frame is not frame and - * stop_frame is not frame.f_back and # <<<<<<<<<<<<<< - * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): - * can_skip = True - */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 944, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_15 = (__pyx_v_stop_frame != __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L49_bool_binop_done; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 901, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_add_command); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 901, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_10 = 1; + } } - - /* "_pydevd_bundle/pydevd_cython.pyx":945 - * stop_frame is not frame and - * stop_frame is not frame.f_back and - * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): # <<<<<<<<<<<<<< - * can_skip = True - * - */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 945, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_15 = (__pyx_t_6 == Py_None); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (!__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L49_bool_binop_done; + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cmd}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 901, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 945, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = (__pyx_v_stop_frame != __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L49_bool_binop_done:; - - /* "_pydevd_bundle/pydevd_cython.pyx":941 - * can_skip = True - * - * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< - * stop_frame is not None and - * stop_frame is not frame and - */ - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":946 - * stop_frame is not frame.f_back and - * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): - * can_skip = True # <<<<<<<<<<<<<< - * - * elif step_cmd == 144: - */ - __pyx_v_can_skip = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":941 - * can_skip = True + /* "_pydevd_bundle/pydevd_cython.pyx":902 + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< + * pydev_log.exception() * - * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< - * stop_frame is not None and - * stop_frame is not frame and */ - goto __pyx_L46; - } + __pyx_t_9 = PyObject_IsSubclass(__pyx_v_exc, __pyx_tuple__4); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 902, __pyx_L108_except_error) + __pyx_t_11 = (!__pyx_t_9); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":948 - * can_skip = True + /* "_pydevd_bundle/pydevd_cython.pyx":903 + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + * pydev_log.exception() # <<<<<<<<<<<<<< * - * elif step_cmd == 144: # <<<<<<<<<<<<<< - * if ( - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) - */ - __pyx_t_9 = (__pyx_v_step_cmd == 0x90); - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":950 - * elif step_cmd == 144: - * if ( - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) # <<<<<<<<<<<<<< - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) - * ): - */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 950, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 950, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 950, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_8, __pyx_v_frame, __pyx_t_7, Py_True}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 950, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 950, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L56_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":951 - * if ( - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) # <<<<<<<<<<<<<< - * ): - * can_skip = True + * raise */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = (__pyx_t_1 == Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L56_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_5 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 903, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); + if (unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; } } #endif { - PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_t_7, __pyx_t_8, Py_True}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 903, __pyx_L108_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 951, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L56_bool_binop_done:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":949 + /* "_pydevd_bundle/pydevd_cython.pyx":902 + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< + * pydev_log.exception() * - * elif step_cmd == 144: - * if ( # <<<<<<<<<<<<<< - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) */ - if (__pyx_t_9) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":953 - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) - * ): - * can_skip = True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":905 + * pydev_log.exception() * - * elif step_cmd == 206: + * raise # <<<<<<<<<<<<<< + * + * # step handling. We stop when we hit the right frame */ - __pyx_v_can_skip = 1; + __Pyx_GIVEREF(__pyx_t_8); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_8, __pyx_t_7, __pyx_t_1); + __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 905, __pyx_L108_except_error) + } - /* "_pydevd_bundle/pydevd_cython.pyx":949 + /* "_pydevd_bundle/pydevd_cython.pyx":791 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) * - * elif step_cmd == 144: - * if ( # <<<<<<<<<<<<<< - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) - * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + * try: # <<<<<<<<<<<<<< + * stop_on_plugin_breakpoint = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case */ - } + __pyx_L108_except_error:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); + goto __pyx_L4_error; + __pyx_L110_try_return:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); + goto __pyx_L3_return; + __pyx_L111_try_end:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":948 - * can_skip = True + /* "_pydevd_bundle/pydevd_cython.pyx":908 * - * elif step_cmd == 144: # <<<<<<<<<<<<<< - * if ( - * py_db.apply_files_filter(frame, frame.f_code.co_filename, True) + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: */ - goto __pyx_L46; - } + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":955 - * can_skip = True - * - * elif step_cmd == 206: # <<<<<<<<<<<<<< - * f = frame - * while f is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":909 + * # step handling. We stop when we hit the right frame + * try: + * should_skip = 0 # <<<<<<<<<<<<<< + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: */ - __pyx_t_9 = (__pyx_v_step_cmd == 0xCE); - if (__pyx_t_9) { + __pyx_v_should_skip = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":956 - * - * elif step_cmd == 206: - * f = frame # <<<<<<<<<<<<<< - * while f is not None: - * if self._is_same_frame(stop_frame, f): + /* "_pydevd_bundle/pydevd_cython.pyx":910 + * try: + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if self.should_skip == -1: + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). */ - __Pyx_INCREF(__pyx_v_frame); - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 910, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 910, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = (__pyx_t_7 != Py_None); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":957 - * elif step_cmd == 206: - * f = frame - * while f is not None: # <<<<<<<<<<<<<< - * if self._is_same_frame(stop_frame, f): - * break + /* "_pydevd_bundle/pydevd_cython.pyx":911 + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: # <<<<<<<<<<<<<< + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code */ - while (1) { - __pyx_t_9 = (__pyx_v_f != Py_None); - if (!__pyx_t_9) break; + __pyx_t_11 = (__pyx_v_self->should_skip == -1L); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":958 - * f = frame - * while f is not None: - * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< - * break - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":915 + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + * # Which will be handled by this frame is read-only, so, we can cache it safely. + * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 */ - __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 958, __pyx_L4_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 915, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 915, __pyx_L172_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 915, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_1, __pyx_t_6}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 915, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 915, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = (!__pyx_t_11); if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":959 - * while f is not None: - * if self._is_same_frame(stop_frame, f): - * break # <<<<<<<<<<<<<< - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":917 + * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 # <<<<<<<<<<<<<< * else: + * should_skip = self.should_skip = 0 */ - goto __pyx_L60_break; + __pyx_v_should_skip = 1; + __pyx_v_self->should_skip = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":958 - * f = frame - * while f is not None: - * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< - * break - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":915 + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + * # Which will be handled by this frame is read-only, so, we can cache it safely. + * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 */ + goto __pyx_L180; } - /* "_pydevd_bundle/pydevd_cython.pyx":960 - * if self._is_same_frame(stop_frame, f): - * break - * f = f.f_back # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":919 + * should_skip = self.should_skip = 1 * else: - * can_skip = True + * should_skip = self.should_skip = 0 # <<<<<<<<<<<<<< + * else: + * should_skip = self.should_skip */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; + /*else*/ { + __pyx_v_should_skip = 0; + __pyx_v_self->should_skip = 0; + } + __pyx_L180:; + + /* "_pydevd_bundle/pydevd_cython.pyx":911 + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: # <<<<<<<<<<<<<< + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + */ + goto __pyx_L179; } - /* "_pydevd_bundle/pydevd_cython.pyx":962 - * f = f.f_back - * else: - * can_skip = True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":921 + * should_skip = self.should_skip = 0 + * else: + * should_skip = self.should_skip # <<<<<<<<<<<<<< * - * if can_skip: + * plugin_stop = False */ /*else*/ { - __pyx_v_can_skip = 1; + __pyx_t_10 = __pyx_v_self->should_skip; + __pyx_v_should_skip = __pyx_t_10; } - __pyx_L60_break:; + __pyx_L179:; - /* "_pydevd_bundle/pydevd_cython.pyx":955 - * can_skip = True - * - * elif step_cmd == 206: # <<<<<<<<<<<<<< - * f = frame - * while f is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":910 + * try: + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if self.should_skip == -1: + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). */ } - __pyx_L46:; - /* "_pydevd_bundle/pydevd_cython.pyx":964 - * can_skip = True + /* "_pydevd_bundle/pydevd_cython.pyx":923 + * should_skip = self.should_skip * - * if can_skip: # <<<<<<<<<<<<<< - * if plugin_manager is not None and ( - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * plugin_stop = False # <<<<<<<<<<<<<< + * if should_skip: + * stop = False */ - if (__pyx_v_can_skip) { + __Pyx_INCREF(Py_False); + __pyx_v_plugin_stop = Py_False; - /* "_pydevd_bundle/pydevd_cython.pyx":965 + /* "_pydevd_bundle/pydevd_cython.pyx":924 * - * if can_skip: - * if plugin_manager is not None and ( # <<<<<<<<<<<<<< - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): - * can_skip = plugin_manager.can_skip(py_db, frame) - */ - __pyx_t_15 = (__pyx_v_plugin_manager != Py_None); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L64_bool_binop_done; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":966 - * if can_skip: - * if plugin_manager is not None and ( - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): # <<<<<<<<<<<<<< - * can_skip = plugin_manager.can_skip(py_db, frame) + * plugin_stop = False + * if should_skip: # <<<<<<<<<<<<<< + * stop = False * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 966, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 966, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L64_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 966, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 966, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L64_bool_binop_done:; + __pyx_t_9 = (__pyx_v_should_skip != 0); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":965 + /* "_pydevd_bundle/pydevd_cython.pyx":925 + * plugin_stop = False + * if should_skip: + * stop = False # <<<<<<<<<<<<<< * - * if can_skip: - * if plugin_manager is not None and ( # <<<<<<<<<<<<<< - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): - * can_skip = plugin_manager.can_skip(py_db, frame) + * elif step_cmd in (107, 144, 206): */ - if (__pyx_t_9) { + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":967 - * if plugin_manager is not None and ( - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): - * can_skip = plugin_manager.can_skip(py_db, frame) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":924 * - * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): - */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_can_skip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 967, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_frame}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 967, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_can_skip = __pyx_t_9; - - /* "_pydevd_bundle/pydevd_cython.pyx":965 + * plugin_stop = False + * if should_skip: # <<<<<<<<<<<<<< + * stop = False * - * if can_skip: - * if plugin_manager is not None and ( # <<<<<<<<<<<<<< - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): - * can_skip = plugin_manager.can_skip(py_db, frame) */ - } + goto __pyx_L181; + } - /* "_pydevd_bundle/pydevd_cython.pyx":969 - * can_skip = plugin_manager.can_skip(py_db, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":927 + * stop = False * - * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< - * # trace function for showing return values after step over - * can_skip = False - */ - if (__pyx_v_can_skip) { - } else { - __pyx_t_9 = __pyx_v_can_skip; - goto __pyx_L68_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 969, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L68_bool_binop_done; - } - switch (__pyx_v_info->pydev_step_cmd) { - case 0x6C: - case 0x9F: - __pyx_t_15 = 1; - break; - default: - __pyx_t_15 = 0; - break; - } - __pyx_t_11 = __pyx_t_15; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L68_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 969, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 969, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = __pyx_t_11; - __pyx_L68_bool_binop_done:; - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":971 - * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): - * # trace function for showing return values after step over - * can_skip = False # <<<<<<<<<<<<<< - * - * # Let's check to see if we are in a function that has a breakpoint. If we don't have a breakpoint, - */ - __pyx_v_can_skip = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":969 - * can_skip = plugin_manager.can_skip(py_db, frame) - * - * if can_skip and py_db.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< - * # trace function for showing return values after step over - * can_skip = False - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":964 - * can_skip = True - * - * if can_skip: # <<<<<<<<<<<<<< - * if plugin_manager is not None and ( - * py_db.has_plugin_line_breaks or py_db.has_plugin_exception_breaks): + * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< + * force_check_project_scope = step_cmd == 144 + * if is_line: */ + switch (__pyx_v_step_cmd) { + case 0x6B: + case 0x90: + case 0xCE: + __pyx_t_9 = 1; + break; + default: + __pyx_t_9 = 0; + break; } + __pyx_t_11 = __pyx_t_9; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":930 - * can_skip = False + /* "_pydevd_bundle/pydevd_cython.pyx":928 * - * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< - * # we can skip if: - * # - we have no stop marked + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 # <<<<<<<<<<<<<< + * if is_line: + * if not info.pydev_use_scoped_step_frame: */ - } + __pyx_t_7 = __Pyx_PyBool_FromLong((__pyx_v_step_cmd == 0x90)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 928, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_v_force_check_project_scope = __pyx_t_7; + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":978 - * # so, that's why the additional checks are there. - * - * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< - * pass # Do nothing here (just keep on going as we can't skip it). - * + /* "_pydevd_bundle/pydevd_cython.pyx":929 + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 + * if is_line: # <<<<<<<<<<<<<< + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or py_db.is_files_filter_enabled: */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 978, __pyx_L4_error) - if (__pyx_t_9) { - goto __pyx_L72; - } + if (__pyx_v_is_line) { - /* "_pydevd_bundle/pydevd_cython.pyx":981 - * pass # Do nothing here (just keep on going as we can't skip it). - * - * elif not breakpoints_for_file: # <<<<<<<<<<<<<< - * if can_skip: - * if has_exception_breakpoints: + /* "_pydevd_bundle/pydevd_cython.pyx":930 + * force_check_project_scope = step_cmd == 144 + * if is_line: + * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoints_for_file); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 981, __pyx_L4_error) - __pyx_t_11 = (!__pyx_t_9); - if (__pyx_t_11) { + __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":982 - * - * elif not breakpoints_for_file: - * if can_skip: # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * return self.trace_exception + /* "_pydevd_bundle/pydevd_cython.pyx":931 + * if is_line: + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: */ - if (__pyx_v_can_skip) { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 931, __pyx_L172_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L185_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 931, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 931, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L185_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":983 - * elif not breakpoints_for_file: - * if can_skip: - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * return self.trace_exception - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":932 + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< + * else: + * stop = True */ - if (__pyx_v_has_exception_breakpoints) { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 932, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 932, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_v_frame, __pyx_t_1, __pyx_v_force_check_project_scope}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 932, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 932, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_stop = (!__pyx_t_11); - /* "_pydevd_bundle/pydevd_cython.pyx":984 - * if can_skip: - * if has_exception_breakpoints: - * return self.trace_exception # <<<<<<<<<<<<<< - * else: - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":931 + * if is_line: + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 984, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L3_return; + goto __pyx_L184; + } - /* "_pydevd_bundle/pydevd_cython.pyx":983 - * elif not breakpoints_for_file: - * if can_skip: - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * return self.trace_exception + /* "_pydevd_bundle/pydevd_cython.pyx":934 + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: + * stop = True # <<<<<<<<<<<<<< * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: */ - } + /*else*/ { + __pyx_v_stop = 1; + } + __pyx_L184:; - /* "_pydevd_bundle/pydevd_cython.pyx":986 - * return self.trace_exception - * else: - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< - * - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":930 + * force_check_project_scope = step_cmd == 144 + * if is_line: + * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_6 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __pyx_t_1; - __pyx_t_1 = 0; + goto __pyx_L183; } - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L3_return; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":982 - * - * elif not breakpoints_for_file: - * if can_skip: # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * return self.trace_exception - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":981 - * pass # Do nothing here (just keep on going as we can't skip it). - * - * elif not breakpoints_for_file: # <<<<<<<<<<<<<< - * if can_skip: - * if has_exception_breakpoints: - */ - goto __pyx_L72; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":990 - * else: - * # When cached, 0 means we don't have a breakpoint and 1 means we have. - * if can_skip: # <<<<<<<<<<<<<< - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) - * if breakpoints_in_line_cache == 0: - */ - /*else*/ { - if (__pyx_v_can_skip) { - - /* "_pydevd_bundle/pydevd_cython.pyx":991 - * # When cached, 0 means we don't have a breakpoint and 1 means we have. - * if can_skip: - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) # <<<<<<<<<<<<<< - * if breakpoints_in_line_cache == 0: - * return self.trace_dispatch - */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 991, __pyx_L4_error) - } - __pyx_t_6 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 991, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 991, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_breakpoints_in_line_cache = __pyx_t_5; - /* "_pydevd_bundle/pydevd_cython.pyx":992 - * if can_skip: - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) - * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< - * return self.trace_dispatch - * + /* "_pydevd_bundle/pydevd_cython.pyx":936 + * stop = True + * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * # Make sure we check the filtering inside ipython calls too... + * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): */ - __pyx_t_11 = (__pyx_v_breakpoints_in_line_cache == 0); - if (__pyx_t_11) { + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 936, __pyx_L172_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L188_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 936, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 936, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L188_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":993 - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) - * if breakpoints_in_line_cache == 0: - * return self.trace_dispatch # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":938 + * if force_check_project_scope or py_db.is_files_filter_enabled: + * # Make sure we check the filtering inside ipython calls too... + * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE * - * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 993, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L3_return; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 938, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 938, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_frame, __pyx_t_6, __pyx_v_force_check_project_scope}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 938, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 938, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = (!(!__pyx_t_11)); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":992 - * if can_skip: - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) - * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":939 + * # Make sure we check the filtering inside ipython calls too... + * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * + * # We can only stop inside the ipython call. */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":990 - * else: - * # When cached, 0 means we don't have a breakpoint and 1 means we have. - * if can_skip: # <<<<<<<<<<<<<< - * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) - * if breakpoints_in_line_cache == 0: - */ - } + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 939, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __pyx_t_8; + __pyx_t_8 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":995 - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":938 + * if force_check_project_scope or py_db.is_files_filter_enabled: + * # Make sure we check the filtering inside ipython calls too... + * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE * - * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) # <<<<<<<<<<<<<< - * if breakpoints_in_frame_cache != -1: - * # Gotten from cache. */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 995, __pyx_L4_error) - } - __pyx_t_6 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 995, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 995, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_breakpoints_in_frame_cache = __pyx_t_5; + } - /* "_pydevd_bundle/pydevd_cython.pyx":996 - * - * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) - * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< - * # Gotten from cache. - * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 + /* "_pydevd_bundle/pydevd_cython.pyx":936 + * stop = True + * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * # Make sure we check the filtering inside ipython calls too... + * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): */ - __pyx_t_11 = (__pyx_v_breakpoints_in_frame_cache != -1L); - if (__pyx_t_11) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":998 - * if breakpoints_in_frame_cache != -1: - * # Gotten from cache. - * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":942 * - * else: + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename # <<<<<<<<<<<<<< + * if filename.endswith('.pyc'): + * filename = filename[:-1] */ - __pyx_v_has_breakpoint_in_frame = (__pyx_v_breakpoints_in_frame_cache == 1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 942, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 942, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_filename = __pyx_t_8; + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":996 + /* "_pydevd_bundle/pydevd_cython.pyx":943 + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< + * filename = filename[:-1] * - * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) - * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< - * # Gotten from cache. - * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 */ - goto __pyx_L77; - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 943, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_kp_s_pyc}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 943, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 943, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1001 - * - * else: - * has_breakpoint_in_frame = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":944 + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): + * filename = filename[:-1] # <<<<<<<<<<<<<< * - * try: + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): */ - /*else*/ { - __pyx_v_has_breakpoint_in_frame = 0; + __pyx_t_8 = __Pyx_PyObject_GetSlice(__pyx_v_filename, 0, -1L, NULL, NULL, &__pyx_slice__5, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 944, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1003 - * has_breakpoint_in_frame = False + /* "_pydevd_bundle/pydevd_cython.pyx":943 + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< + * filename = filename[:-1] * - * try: # <<<<<<<<<<<<<< - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1004 + /* "_pydevd_bundle/pydevd_cython.pyx":946 + * filename = filename[:-1] * - * try: - * func_lines = set() # <<<<<<<<<<<<<< - * for offset_and_lineno in dis.findlinestarts(frame.f_code): - * func_lines.add(offset_and_lineno[1]) + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< + * f = frame.f_back + * while f is not None: */ - __pyx_t_6 = PySet_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1004, __pyx_L78_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 946, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 946, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_v_func_lines = ((PyObject*)__pyx_t_6); - __pyx_t_6 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1005 - * try: - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< - * func_lines.add(offset_and_lineno[1]) - * except: - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_dis); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_findlinestarts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1005, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L78_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = NULL; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { - __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8); - __pyx_t_12 = 0; - __pyx_t_13 = NULL; - } else { - __pyx_t_12 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1005, __pyx_L78_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 946, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1005, __pyx_L78_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - for (;;) { - if (likely(!__pyx_t_13)) { - if (likely(PyList_CheckExact(__pyx_t_8))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1005, __pyx_L78_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 1005, __pyx_L78_error) - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1005, __pyx_L78_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 1005, __pyx_L78_error) - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } - } else { - __pyx_t_6 = __pyx_t_13(__pyx_t_8); - if (unlikely(!__pyx_t_6)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1005, __pyx_L78_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_6); - } - __Pyx_XDECREF_SET(__pyx_v_offset_and_lineno, __pyx_t_6); - __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 946, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = (!__pyx_t_9); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1006 - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): - * func_lines.add(offset_and_lineno[1]) # <<<<<<<<<<<<<< - * except: - * # This is a fallback for implementations where we can't get the function + /* "_pydevd_bundle/pydevd_cython.pyx":947 + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + * f = frame.f_back # <<<<<<<<<<<<<< + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: */ - __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_offset_and_lineno, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1006, __pyx_L78_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PySet_Add(__pyx_v_func_lines, __pyx_t_6); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 1006, __pyx_L78_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 947, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1005 - * try: - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< - * func_lines.add(offset_and_lineno[1]) - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":948 + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + * f = frame.f_back + * while f is not None: # <<<<<<<<<<<<<< + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back */ - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + while (1) { + __pyx_t_11 = (__pyx_v_f != Py_None); + if (!__pyx_t_11) break; - /* "_pydevd_bundle/pydevd_cython.pyx":1003 - * has_breakpoint_in_frame = False - * - * try: # <<<<<<<<<<<<<< - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): + /* "_pydevd_bundle/pydevd_cython.pyx":949 + * f = frame.f_back + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: */ - } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyObject_RichCompare(__pyx_t_7, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 949, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1026 - * break - * else: - * for bp_line in breakpoints_for_file: # iterate on keys # <<<<<<<<<<<<<< - * if bp_line in func_lines: - * has_breakpoint_in_frame = True + /* "_pydevd_bundle/pydevd_cython.pyx":950 + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back # <<<<<<<<<<<<<< + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') */ - /*else:*/ { - __pyx_t_12 = 0; - if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 1026, __pyx_L80_except_error) - } - __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_breakpoints_for_file, 1, ((PyObject *)NULL), (&__pyx_t_20), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1026, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __pyx_t_8 = __pyx_t_6; - __pyx_t_6 = 0; - while (1) { - __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_8, __pyx_t_20, &__pyx_t_12, &__pyx_t_6, NULL, NULL, __pyx_t_5); - if (unlikely(__pyx_t_10 == 0)) break; - if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1026, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1026, __pyx_L80_except_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_bp_line = __pyx_t_10; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 950, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_f2, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1027 - * else: - * for bp_line in breakpoints_for_file: # iterate on keys - * if bp_line in func_lines: # <<<<<<<<<<<<<< - * has_breakpoint_in_frame = True - * break + /* "_pydevd_bundle/pydevd_cython.pyx":951 + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * pydev_log.debug('Stop inside ipython call') + * stop = True */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_bp_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1027, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = (__Pyx_PySet_ContainsTF(__pyx_t_6, __pyx_v_func_lines, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1027, __pyx_L80_except_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_11) { + __pyx_t_9 = (__pyx_v_f2 != Py_None); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L197_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_8, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 951, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L197_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1028 - * for bp_line in breakpoints_for_file: # iterate on keys - * if bp_line in func_lines: - * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< - * break - * + /* "_pydevd_bundle/pydevd_cython.pyx":952 + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') # <<<<<<<<<<<<<< + * stop = True + * break */ - __pyx_v_has_breakpoint_in_frame = 1; + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 952, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_debug); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_kp_s_Stop_inside_ipython_call}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 952, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1029 - * if bp_line in func_lines: - * has_breakpoint_in_frame = True - * break # <<<<<<<<<<<<<< - * - * # Cache the value (1 or 0 or -1 for default because of cython). + /* "_pydevd_bundle/pydevd_cython.pyx":953 + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') + * stop = True # <<<<<<<<<<<<<< + * break + * f = f.f_back */ - goto __pyx_L88_break; + __pyx_v_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1027 - * else: - * for bp_line in breakpoints_for_file: # iterate on keys - * if bp_line in func_lines: # <<<<<<<<<<<<<< - * has_breakpoint_in_frame = True - * break + /* "_pydevd_bundle/pydevd_cython.pyx":954 + * pydev_log.debug('Stop inside ipython call') + * stop = True + * break # <<<<<<<<<<<<<< + * f = f.f_back + * */ - } - } - __pyx_L88_break:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L83_try_end; - __pyx_L78_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L194_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1007 - * for offset_and_lineno in dis.findlinestarts(frame.f_code): - * func_lines.add(offset_and_lineno[1]) - * except: # <<<<<<<<<<<<<< - * # This is a fallback for implementations where we can't get the function - * # lines -- i.e.: jython (in this case clients need to provide the function + /* "_pydevd_bundle/pydevd_cython.pyx":951 + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * pydev_log.debug('Stop inside ipython call') + * stop = True */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(0, 1007, __pyx_L80_except_error) - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_1); + } - /* "_pydevd_bundle/pydevd_cython.pyx":1014 - * - * # Checks the breakpoint to see if there is a context match in some function. - * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< - * - * # global context is set with an empty name + /* "_pydevd_bundle/pydevd_cython.pyx":949 + * f = frame.f_back + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1014, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1014, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (!(likely(PyString_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_4))) __PYX_ERR(0, 1014, __pyx_L80_except_error) - __pyx_v_curr_func_name = ((PyObject*)__pyx_t_4); - __pyx_t_4 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1017 - * - * # global context is set with an empty name - * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< - * curr_func_name = '' + /* "_pydevd_bundle/pydevd_cython.pyx":955 + * stop = True + * break + * f = f.f_back # <<<<<<<<<<<<<< * + * del f */ - __Pyx_INCREF(__pyx_v_curr_func_name); - __pyx_t_21 = __pyx_v_curr_func_name; - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1017, __pyx_L80_except_error) - if (!__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L93_bool_binop_done; - } - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1017, __pyx_L80_except_error) - if (!__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L93_bool_binop_done; - } - __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_lambda, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1017, __pyx_L80_except_error) - __pyx_t_11 = __pyx_t_9; - __pyx_L93_bool_binop_done:; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_9 = __pyx_t_11; - if (__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 955, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_8); + __pyx_t_8 = 0; + } + __pyx_L194_break:; - /* "_pydevd_bundle/pydevd_cython.pyx":1018 - * # global context is set with an empty name - * if curr_func_name in ('?', '', ''): - * curr_func_name = '' # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":957 + * f = f.f_back * - * for bp in breakpoints_for_file.values(): + * del f # <<<<<<<<<<<<<< + * + * if not stop: */ - __Pyx_INCREF(__pyx_kp_s_); - __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); + __Pyx_DECREF(__pyx_v_f); __pyx_v_f = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1017 - * - * # global context is set with an empty name - * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< - * curr_func_name = '' + /* "_pydevd_bundle/pydevd_cython.pyx":946 + * filename = filename[:-1] * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< + * f = frame.f_back + * while f is not None: */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1020 - * curr_func_name = '' + /* "_pydevd_bundle/pydevd_cython.pyx":959 + * del f * - * for bp in breakpoints_for_file.values(): # <<<<<<<<<<<<<< - * # will match either global or some function - * if bp.func_name in ('None', curr_func_name): + * if not stop: # <<<<<<<<<<<<<< + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. */ - __pyx_t_20 = 0; - if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values"); - __PYX_ERR(0, 1020, __pyx_L80_except_error) - } - __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_breakpoints_for_file, 1, __pyx_n_s_values, (&__pyx_t_12), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1020, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); - __pyx_t_4 = __pyx_t_7; - __pyx_t_7 = 0; - while (1) { - __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_12, &__pyx_t_20, NULL, &__pyx_t_7, NULL, __pyx_t_5); - if (unlikely(__pyx_t_10 == 0)) break; - if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1020, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_XDECREF_SET(__pyx_v_bp, __pyx_t_7); - __pyx_t_7 = 0; + __pyx_t_11 = (!__pyx_v_stop); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1022 - * for bp in breakpoints_for_file.values(): - * # will match either global or some function - * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< - * has_breakpoint_in_frame = True - * break + /* "_pydevd_bundle/pydevd_cython.pyx":962 + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_bp, __pyx_n_s_func_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1022, __pyx_L80_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_None, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1022, __pyx_L80_except_error) - if (!__pyx_t_11) { + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L99_bool_binop_done; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __pyx_t_1; + __pyx_t_1 = 0; } - __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_v_curr_func_name, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1022, __pyx_L80_except_error) - __pyx_t_9 = __pyx_t_11; - __pyx_L99_bool_binop_done:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_11 = __pyx_t_9; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1023 - * # will match either global or some function - * if bp.func_name in ('None', curr_func_name): - * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< - * break - * else: - */ - __pyx_v_has_breakpoint_in_frame = 1; - - /* "_pydevd_bundle/pydevd_cython.pyx":1024 - * if bp.func_name in ('None', curr_func_name): - * has_breakpoint_in_frame = True - * break # <<<<<<<<<<<<<< - * else: - * for bp_line in breakpoints_for_file: # iterate on keys - */ - goto __pyx_L97_break; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1022 - * for bp in breakpoints_for_file.values(): - * # will match either global or some function - * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< - * has_breakpoint_in_frame = True - * break + /* "_pydevd_bundle/pydevd_cython.pyx":959 + * del f + * + * if not stop: # <<<<<<<<<<<<<< + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. */ - } } - __pyx_L97_break:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L79_exception_handled; } + __pyx_L183:; - /* "_pydevd_bundle/pydevd_cython.pyx":1003 - * has_breakpoint_in_frame = False - * - * try: # <<<<<<<<<<<<<< - * func_lines = set() - * for offset_and_lineno in dis.findlinestarts(frame.f_code): + /* "_pydevd_bundle/pydevd_cython.pyx":929 + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 + * if is_line: # <<<<<<<<<<<<<< + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or py_db.is_files_filter_enabled: */ - __pyx_L80_except_error:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L4_error; - __pyx_L79_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - __pyx_L83_try_end:; + goto __pyx_L182; } - /* "_pydevd_bundle/pydevd_cython.pyx":1032 + /* "_pydevd_bundle/pydevd_cython.pyx":964 + * return None if is_call else NO_FTRACE * - * # Cache the value (1 or 0 or -1 for default because of cython). - * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< - * frame_skips_cache[frame_cache_key] = 1 - * else: + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False */ - if (__pyx_v_has_breakpoint_in_frame) { + if (__pyx_v_is_return) { + } else { + __pyx_t_11 = __pyx_v_is_return; + goto __pyx_L200_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 964, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = (__pyx_t_8 != Py_None); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L200_bool_binop_done; + } + __pyx_t_9 = (!__pyx_v_info->pydev_use_scoped_step_frame); + __pyx_t_11 = __pyx_t_9; + __pyx_L200_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1033 - * # Cache the value (1 or 0 or -1 for default because of cython). - * if has_breakpoint_in_frame: - * frame_skips_cache[frame_cache_key] = 1 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":965 + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False * else: - * frame_skips_cache[frame_cache_key] = 0 */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1033, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1033, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 965, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1032 - * - * # Cache the value (1 or 0 or -1 for default because of cython). - * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< - * frame_skips_cache[frame_cache_key] = 1 + /* "_pydevd_bundle/pydevd_cython.pyx":966 + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False # <<<<<<<<<<<<<< * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: */ - goto __pyx_L101; - } + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1035 - * frame_skips_cache[frame_cache_key] = 1 - * else: - * frame_skips_cache[frame_cache_key] = 0 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":965 * - * if can_skip and not has_breakpoint_in_frame: + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False + * else: */ - /*else*/ { - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1035, __pyx_L4_error) + goto __pyx_L203; } - if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_0) < 0))) __PYX_ERR(0, 1035, __pyx_L4_error) - } - __pyx_L101:; - } - __pyx_L77:; - - /* "_pydevd_bundle/pydevd_cython.pyx":1037 - * frame_skips_cache[frame_cache_key] = 0 - * - * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * return self.trace_exception - */ - if (__pyx_v_can_skip) { - } else { - __pyx_t_11 = __pyx_v_can_skip; - goto __pyx_L103_bool_binop_done; - } - __pyx_t_9 = (!__pyx_v_has_breakpoint_in_frame); - __pyx_t_11 = __pyx_t_9; - __pyx_L103_bool_binop_done:; - if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1038 - * - * if can_skip and not has_breakpoint_in_frame: - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * return self.trace_exception + /* "_pydevd_bundle/pydevd_cython.pyx":968 + * stop = False * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: */ - if (__pyx_v_has_exception_breakpoints) { + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 968, __pyx_L172_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L205_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 968, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 968, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L205_bool_binop_done:; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1039 - * if can_skip and not has_breakpoint_in_frame: - * if has_exception_breakpoints: - * return self.trace_exception # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":969 * else: - * return None if is_call else NO_FTRACE + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< + * if stop: + * # Prevent stopping in a return to the same location we were initially */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L3_return; - - /* "_pydevd_bundle/pydevd_cython.pyx":1038 - * - * if can_skip and not has_breakpoint_in_frame: - * if has_exception_breakpoints: # <<<<<<<<<<<<<< - * return self.trace_exception - * else: + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_t_8, __pyx_t_6, __pyx_v_force_check_project_scope}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 969, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_stop = (!__pyx_t_11); + + /* "_pydevd_bundle/pydevd_cython.pyx":970 + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: # <<<<<<<<<<<<<< + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). */ - } + if (__pyx_v_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":1041 - * return self.trace_exception - * else: - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< - * - * # We may have hit a breakpoint or we are already in step mode. Either way, let's check what we should do in this frame + /* "_pydevd_bundle/pydevd_cython.pyx":973 + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< + * stop = False + * else: */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_1 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1041, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __pyx_t_6; - __pyx_t_6 = 0; - } - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L3_return; - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_7); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7)) __PYX_ERR(0, 973, __pyx_L172_error); + __Pyx_GIVEREF(__pyx_t_6); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_6)) __PYX_ERR(0, 973, __pyx_L172_error); + __pyx_t_7 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_RichCompare(__pyx_v_info->step_in_initial_location, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 973, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1037 - * frame_skips_cache[frame_cache_key] = 0 - * - * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< - * if has_exception_breakpoints: - * return self.trace_exception + /* "_pydevd_bundle/pydevd_cython.pyx":974 + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): + * stop = False # <<<<<<<<<<<<<< + * else: + * stop = True */ - } - } - __pyx_L72:; + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":925 - * return self.trace_dispatch - * - * if not is_exception_event: # <<<<<<<<<<<<<< - * breakpoints_for_file = py_db.breakpoints.get(abs_path_canonical_path_and_base[1]) - * + /* "_pydevd_bundle/pydevd_cython.pyx":973 + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< + * stop = False + * else: */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1046 - * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) - * - * try: # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint = False - * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + /* "_pydevd_bundle/pydevd_cython.pyx":970 + * if force_check_project_scope or py_db.is_files_filter_enabled: + * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: # <<<<<<<<<<<<<< + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_16); - /*try:*/ { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1047 - * - * try: - * stop_on_plugin_breakpoint = False # <<<<<<<<<<<<<< - * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case - * # (one for the line and the other for the return). + /* "_pydevd_bundle/pydevd_cython.pyx":968 + * stop = False + * else: + * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: */ - __pyx_v_stop_on_plugin_breakpoint = 0; + goto __pyx_L204; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1051 - * # (one for the line and the other for the return). - * - * stop_info = {} # <<<<<<<<<<<<<< - * breakpoint = None - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":976 + * stop = False + * else: + * stop = True # <<<<<<<<<<<<<< + * else: + * stop = False */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1051, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_stop_info = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; + /*else*/ { + __pyx_v_stop = 1; + } + __pyx_L204:; + } + __pyx_L203:; - /* "_pydevd_bundle/pydevd_cython.pyx":1052 + /* "_pydevd_bundle/pydevd_cython.pyx":964 + * return None if is_call else NO_FTRACE * - * stop_info = {} - * breakpoint = None # <<<<<<<<<<<<<< - * stop = False - * stop_reason = 111 + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False */ - __Pyx_INCREF(Py_None); - __pyx_v_breakpoint = Py_None; + goto __pyx_L182; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1053 - * stop_info = {} - * breakpoint = None - * stop = False # <<<<<<<<<<<<<< - * stop_reason = 111 - * bp_type = None + /* "_pydevd_bundle/pydevd_cython.pyx":978 + * stop = True + * else: + * stop = False # <<<<<<<<<<<<<< + * + * if stop: */ - __pyx_v_stop = 0; + /*else*/ { + __pyx_v_stop = 0; + } + __pyx_L182:; - /* "_pydevd_bundle/pydevd_cython.pyx":1054 - * breakpoint = None - * stop = False - * stop_reason = 111 # <<<<<<<<<<<<<< - * bp_type = None + /* "_pydevd_bundle/pydevd_cython.pyx":980 + * stop = False * + * if stop: # <<<<<<<<<<<<<< + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. */ - __Pyx_INCREF(__pyx_int_111); - __pyx_v_stop_reason = __pyx_int_111; + if (__pyx_v_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":1055 - * stop = False - * stop_reason = 111 - * bp_type = None # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":981 * - * if function_breakpoint_on_call_event: + * if stop: + * if step_cmd == 206: # <<<<<<<<<<<<<< + * # i.e.: Check if we're stepping into the proper context. + * f = frame */ - __Pyx_INCREF(Py_None); - __pyx_v_bp_type = Py_None; + __pyx_t_11 = (__pyx_v_step_cmd == 0xCE); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1057 - * bp_type = None - * - * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< - * breakpoint = function_breakpoint_on_call_event - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":983 + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. + * f = frame # <<<<<<<<<<<<<< + * while f is not None: + * if self._is_same_frame(stop_frame, f): */ - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1057, __pyx_L106_error) - if (__pyx_t_11) { + __Pyx_INCREF(__pyx_v_frame); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); - /* "_pydevd_bundle/pydevd_cython.pyx":1058 - * - * if function_breakpoint_on_call_event: - * breakpoint = function_breakpoint_on_call_event # <<<<<<<<<<<<<< - * stop = True - * new_frame = frame + /* "_pydevd_bundle/pydevd_cython.pyx":984 + * # i.e.: Check if we're stepping into the proper context. + * f = frame + * while f is not None: # <<<<<<<<<<<<<< + * if self._is_same_frame(stop_frame, f): + * break */ - __Pyx_INCREF(__pyx_v_function_breakpoint_on_call_event); - __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_v_function_breakpoint_on_call_event); + while (1) { + __pyx_t_11 = (__pyx_v_f != Py_None); + if (!__pyx_t_11) break; - /* "_pydevd_bundle/pydevd_cython.pyx":1059 - * if function_breakpoint_on_call_event: - * breakpoint = function_breakpoint_on_call_event - * stop = True # <<<<<<<<<<<<<< - * new_frame = frame - * stop_reason = CMD_SET_FUNCTION_BREAK + /* "_pydevd_bundle/pydevd_cython.pyx":985 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back */ - __pyx_v_stop = 1; + __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 985, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 985, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1060 - * breakpoint = function_breakpoint_on_call_event - * stop = True - * new_frame = frame # <<<<<<<<<<<<<< - * stop_reason = CMD_SET_FUNCTION_BREAK - * + /* "_pydevd_bundle/pydevd_cython.pyx":986 + * while f is not None: + * if self._is_same_frame(stop_frame, f): + * break # <<<<<<<<<<<<<< + * f = f.f_back + * else: */ - __Pyx_INCREF(__pyx_v_frame); - __pyx_v_new_frame = __pyx_v_frame; + goto __pyx_L212_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1061 - * stop = True - * new_frame = frame - * stop_reason = CMD_SET_FUNCTION_BREAK # <<<<<<<<<<<<<< - * - * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + /* "_pydevd_bundle/pydevd_cython.pyx":985 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CMD_SET_FUNCTION_BREAK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_stop_reason, __pyx_t_1); - __pyx_t_1 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1057 - * bp_type = None + /* "_pydevd_bundle/pydevd_cython.pyx":987 + * if self._is_same_frame(stop_frame, f): + * break + * f = f.f_back # <<<<<<<<<<<<<< + * else: + * stop = False + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 987, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_6); + __pyx_t_6 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":989 + * f = f.f_back + * else: + * stop = False # <<<<<<<<<<<<<< * - * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< - * breakpoint = function_breakpoint_on_call_event - * stop = True + * if plugin_manager is not None: */ - goto __pyx_L112; - } + /*else*/ { + __pyx_v_stop = 0; + } + __pyx_L212_break:; - /* "_pydevd_bundle/pydevd_cython.pyx":1063 - * stop_reason = CMD_SET_FUNCTION_BREAK + /* "_pydevd_bundle/pydevd_cython.pyx":981 * - * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< - * breakpoint = breakpoints_for_file[line] - * new_frame = frame + * if stop: + * if step_cmd == 206: # <<<<<<<<<<<<<< + * # i.e.: Check if we're stepping into the proper context. + * f = frame */ - if (__pyx_v_is_line) { - } else { - __pyx_t_11 = __pyx_v_is_line; - goto __pyx_L113_bool_binop_done; - } - __pyx_t_9 = (__pyx_v_info->pydev_state != 2); - if (__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L113_bool_binop_done; - } - if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1063, __pyx_L106_error) } - __pyx_t_9 = (__pyx_v_breakpoints_for_file != ((PyObject*)Py_None)); - if (__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L113_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1063, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1063, __pyx_L106_error) } - if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 1063, __pyx_L106_error) - } - __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_t_1, __pyx_v_breakpoints_for_file, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1063, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L113_bool_binop_done:; - if (__pyx_t_11) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1064 + /* "_pydevd_bundle/pydevd_cython.pyx":980 + * stop = False * - * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: - * breakpoint = breakpoints_for_file[line] # <<<<<<<<<<<<<< - * new_frame = frame - * stop = True + * if stop: # <<<<<<<<<<<<<< + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. */ - if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1064, __pyx_L106_error) } - if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1064, __pyx_L106_error) } - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1064, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_breakpoints_for_file, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1064, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_6); - __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1065 - * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: - * breakpoint = breakpoints_for_file[line] - * new_frame = frame # <<<<<<<<<<<<<< - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":991 + * stop = False * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) + * if result: */ - __Pyx_INCREF(__pyx_v_frame); - __pyx_v_new_frame = __pyx_v_frame; + __pyx_t_11 = (__pyx_v_plugin_manager != Py_None); + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1066 - * breakpoint = breakpoints_for_file[line] - * new_frame = frame - * stop = True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":992 * - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< + * if result: + * stop, plugin_stop = result */ - __pyx_v_stop = 1; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_into); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 992, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[7] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_7}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 6+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 992, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_6); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1063 - * stop_reason = CMD_SET_FUNCTION_BREAK + /* "_pydevd_bundle/pydevd_cython.pyx":993 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result * - * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< - * breakpoint = breakpoints_for_file[line] - * new_frame = frame */ - goto __pyx_L112; - } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 993, __pyx_L172_error) + if (__pyx_t_11) { - /* "_pydevd_bundle/pydevd_cython.pyx":1068 - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":994 + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) + * if result: + * stop, plugin_stop = result # <<<<<<<<<<<<<< * - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: # <<<<<<<<<<<<<< - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) - * if result: + * elif step_cmd in (108, 159): */ - __pyx_t_9 = (__pyx_v_plugin_manager != Py_None); - if (__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L117_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1068, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1068, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L117_bool_binop_done:; - if (__pyx_t_11) { + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 994, __pyx_L172_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_6 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 994, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 994, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); + index = 0; __pyx_t_6 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L216_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + index = 1; __pyx_t_1 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_1)) goto __pyx_L216_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_7), 2) < 0) __PYX_ERR(0, 994, __pyx_L172_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L217_unpacking_done; + __pyx_L216_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 994, __pyx_L172_error) + __pyx_L217_unpacking_done:; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 994, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_stop = __pyx_t_11; + __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1069 + /* "_pydevd_bundle/pydevd_cython.pyx":993 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result * - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) # <<<<<<<<<<<<<< - * if result: - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_get_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1069, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; } + + /* "_pydevd_bundle/pydevd_cython.pyx":991 + * stop = False + * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) + * if result: + */ } - #endif - { - PyObject *__pyx_callargs[5] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 4+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1069, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_v_result = __pyx_t_6; - __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1070 - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) - * if result: # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result + /* "_pydevd_bundle/pydevd_cython.pyx":927 + * stop = False * + * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< + * force_check_project_scope = step_cmd == 144 + * if is_line: */ - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1070, __pyx_L106_error) - if (__pyx_t_11) { + goto __pyx_L181; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1071 - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) - * if result: - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":996 + * stop, plugin_stop = result * - * if breakpoint: - */ - if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { - PyObject* sequence = __pyx_v_result; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 4)) { - if (size > 4) __Pyx_RaiseTooManyValuesError(4); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1071, __pyx_L106_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); - } else { - __pyx_t_6 = PyList_GET_ITEM(sequence, 0); - __pyx_t_1 = PyList_GET_ITEM(sequence, 1); - __pyx_t_8 = PyList_GET_ITEM(sequence, 2); - __pyx_t_4 = PyList_GET_ITEM(sequence, 3); - } - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_4); - #else - { - Py_ssize_t i; - PyObject** temps[4] = {&__pyx_t_6,&__pyx_t_1,&__pyx_t_8,&__pyx_t_4}; - for (i=0; i < 4; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1071, __pyx_L106_error) - __Pyx_GOTREF(item); - *(temps[i]) = item; - } - } - #endif - } else { - Py_ssize_t index = -1; - PyObject** temps[4] = {&__pyx_t_6,&__pyx_t_1,&__pyx_t_8,&__pyx_t_4}; - __pyx_t_7 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); - for (index=0; index < 4; index++) { - PyObject* item = __pyx_t_14(__pyx_t_7); if (unlikely(!item)) goto __pyx_L120_unpacking_failed; - __Pyx_GOTREF(item); - *(temps[index]) = item; - } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_7), 4) < 0) __PYX_ERR(0, 1071, __pyx_L106_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L121_unpacking_done; - __pyx_L120_unpacking_failed:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1071, __pyx_L106_error) - __pyx_L121_unpacking_done:; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1071, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_stop_on_plugin_breakpoint = __pyx_t_11; - __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_v_new_frame = __pyx_t_8; - __pyx_t_8 = 0; - __Pyx_DECREF_SET(__pyx_v_bp_type, __pyx_t_4); - __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1070 - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) - * if result: # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result - * - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1068 - * stop = True - * - * elif plugin_manager is not None and py_db.has_plugin_line_breaks: # <<<<<<<<<<<<<< - * result = plugin_manager.get_breakpoint(py_db, frame, event, self._args) - * if result: + * elif step_cmd in (108, 159): # <<<<<<<<<<<<<< + * # Note: when dealing with a step over my code it's the same as a step over (the + * # difference is that when we return from a frame in one we go to regular step */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x9F: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; } - __pyx_L112:; + __pyx_t_9 = __pyx_t_11; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1073 - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result - * - * if breakpoint: # <<<<<<<<<<<<<< - * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint - * # lets do the conditional stuff here + /* "_pydevd_bundle/pydevd_cython.pyx":1000 + * # difference is that when we return from a frame in one we go to regular step + * # into and in the other we go to a step into my code). + * stop = self._is_same_frame(stop_frame, frame) and is_line # <<<<<<<<<<<<<< + * # Note: don't stop on a return for step over, only for line events + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. */ - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1073, __pyx_L106_error) - if (__pyx_t_11) { + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1000, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L218_bool_binop_done; + } + __pyx_t_9 = __pyx_v_is_line; + __pyx_L218_bool_binop_done:; + __pyx_v_stop = __pyx_t_9; - /* "_pydevd_bundle/pydevd_cython.pyx":1076 - * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint - * # lets do the conditional stuff here - * if breakpoint.expression is not None: # <<<<<<<<<<<<<< - * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) + /* "_pydevd_bundle/pydevd_cython.pyx":1004 + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) + * if result: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1076, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_11) { + __pyx_t_9 = (__pyx_v_plugin_manager != Py_None); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1077 - * # lets do the conditional stuff here - * if breakpoint.expression is not None: - * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1005 * - * if stop or stop_on_plugin_breakpoint: + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< + * if result: + * stop, plugin_stop = result */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1077, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 1077, __pyx_L106_error) } - __pyx_t_1 = NULL; - __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_over); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1005, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); + if (likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; } } #endif { - PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_new_frame}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1077, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + PyObject *__pyx_callargs[7] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 6+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1076 - * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint - * # lets do the conditional stuff here - * if breakpoint.expression is not None: # <<<<<<<<<<<<<< - * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) - * - */ - } + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1079 - * py_db.handle_breakpoint_expression(breakpoint, info, new_frame) + /* "_pydevd_bundle/pydevd_cython.pyx":1006 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result * - * if stop or stop_on_plugin_breakpoint: # <<<<<<<<<<<<<< - * eval_result = False - * if breakpoint.has_condition: */ - if (!__pyx_v_stop) { - } else { - __pyx_t_11 = __pyx_v_stop; - goto __pyx_L125_bool_binop_done; - } - __pyx_t_11 = __pyx_v_stop_on_plugin_breakpoint; - __pyx_L125_bool_binop_done:; - if (__pyx_t_11) { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1006, __pyx_L172_error) + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1080 + /* "_pydevd_bundle/pydevd_cython.pyx":1007 + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) + * if result: + * stop, plugin_stop = result # <<<<<<<<<<<<<< * - * if stop or stop_on_plugin_breakpoint: - * eval_result = False # <<<<<<<<<<<<<< - * if breakpoint.has_condition: - * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) - */ - __Pyx_INCREF(Py_False); - __pyx_v_eval_result = Py_False; - - /* "_pydevd_bundle/pydevd_cython.pyx":1081 - * if stop or stop_on_plugin_breakpoint: - * eval_result = False - * if breakpoint.has_condition: # <<<<<<<<<<<<<< - * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) - * if not eval_result: - */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_has_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1081, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1081, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1082 - * eval_result = False - * if breakpoint.has_condition: - * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) # <<<<<<<<<<<<<< - * if not eval_result: - * stop = False + * elif step_cmd == 128: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1082, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 1082, __pyx_L106_error) } - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1007, __pyx_L172_error) } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1007, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1007, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); + index = 0; __pyx_t_1 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_1)) goto __pyx_L222_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_6 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L222_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_7), 2) < 0) __PYX_ERR(0, 1007, __pyx_L172_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L223_unpacking_done; + __pyx_L222_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1007, __pyx_L172_error) + __pyx_L223_unpacking_done:; } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_1, ((PyObject *)__pyx_v_info), __pyx_v_breakpoint, __pyx_v_new_frame}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1082, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF_SET(__pyx_v_eval_result, __pyx_t_4); - __pyx_t_4 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1007, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_stop = __pyx_t_9; + __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_6); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1083 - * if breakpoint.has_condition: - * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) - * if not eval_result: # <<<<<<<<<<<<<< - * stop = False - * stop_on_plugin_breakpoint = False + /* "_pydevd_bundle/pydevd_cython.pyx":1006 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result + * */ - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_eval_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1083, __pyx_L106_error) - __pyx_t_9 = (!__pyx_t_11); - if (__pyx_t_9) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1084 - * eval_result = py_db.handle_breakpoint_condition(info, breakpoint, new_frame) - * if not eval_result: - * stop = False # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint = False + /* "_pydevd_bundle/pydevd_cython.pyx":1004 + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) + * if result: */ - __pyx_v_stop = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1085 - * if not eval_result: - * stop = False - * stop_on_plugin_breakpoint = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":996 + * stop, plugin_stop = result * - * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith('', '') or (line == 1 and frame.f_code.co_name.startswith('__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1012, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1012, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_11) { } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L130_bool_binop_done; - } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_startswith); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_s_cell}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1087, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __pyx_t_11; + goto __pyx_L225_bool_binop_done; } - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1087, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L130_bool_binop_done:; + __pyx_t_9 = __pyx_v_is_return; + __pyx_L225_bool_binop_done:; if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1099 - * # module, so it's the same case as . - * - * return self.trace_dispatch # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1014 + * if self._is_same_frame(stop_frame, frame) and is_return: + * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + * stop = True # <<<<<<<<<<<<<< * - * # Handle logpoint (on a logpoint we should never stop). + * elif self._is_same_frame(stop_frame, back) and is_line: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1099, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L110_try_return; + __pyx_v_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1087 - * stop_on_plugin_breakpoint = False - * - * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith('__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1016, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1016, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_11) { } else { - __pyx_t_9 = __pyx_v_stop_on_plugin_breakpoint; - goto __pyx_L137_bool_binop_done; + __pyx_t_9 = __pyx_t_11; + goto __pyx_L227_bool_binop_done; } - __pyx_L138_next_and:; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_is_logpoint); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1102, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1102, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L137_bool_binop_done:; + __pyx_t_9 = __pyx_v_is_line; + __pyx_L227_bool_binop_done:; if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1103 - * # Handle logpoint (on a logpoint we should never stop). - * if (stop or stop_on_plugin_breakpoint) and breakpoint.is_logpoint: - * stop = False # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint = False + /* "_pydevd_bundle/pydevd_cython.pyx":1017 * + * elif self._is_same_frame(stop_frame, back) and is_line: + * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). */ - __pyx_v_stop = 0; + __pyx_t_9 = (__pyx_v_info->pydev_smart_child_offset != -1L); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1104 - * if (stop or stop_on_plugin_breakpoint) and breakpoint.is_logpoint: - * stop = False - * stop_on_plugin_breakpoint = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1020 + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). + * stop = False # <<<<<<<<<<<<<< * - * if info.pydev_message is not None and len(info.pydev_message) > 0: + * else: */ - __pyx_v_stop_on_plugin_breakpoint = 0; + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1106 - * stop_on_plugin_breakpoint = False + /* "_pydevd_bundle/pydevd_cython.pyx":1017 * - * if info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< - * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') - * py_db.writer.add_command(cmd) + * elif self._is_same_frame(stop_frame, back) and is_line: + * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). */ - __pyx_t_15 = (__pyx_v_info->pydev_message != ((PyObject*)Py_None)); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L141_bool_binop_done; + goto __pyx_L229; } - __pyx_t_8 = __pyx_v_info->pydev_message; - __Pyx_INCREF(__pyx_t_8); - __pyx_t_12 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1106, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_15 = (__pyx_t_12 > 0); - __pyx_t_9 = __pyx_t_15; - __pyx_L141_bool_binop_done:; - if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1107 + /* "_pydevd_bundle/pydevd_cython.pyx":1023 * - * if info.pydev_message is not None and len(info.pydev_message) > 0: - * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') # <<<<<<<<<<<<<< - * py_db.writer.add_command(cmd) + * else: + * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< * + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_make_io_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_linesep); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Add(__pyx_v_info->pydev_message, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_4, __pyx_kp_s_1}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1107, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_v_cmd = __pyx_t_8; - __pyx_t_8 = 0; + /*else*/ { + __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; + __pyx_v_pydev_smart_parent_offset = __pyx_t_10; - /* "_pydevd_bundle/pydevd_cython.pyx":1108 - * if info.pydev_message is not None and len(info.pydev_message) > 0: - * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') - * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1025 + * pydev_smart_parent_offset = info.pydev_smart_parent_offset * - * if py_db.show_return_values: + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + * # Preferred mode (when the smart step into variants are available */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1108, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_add_command); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1108, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_cmd}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1108, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_6 = __pyx_v_info->pydev_smart_step_into_variants; + __Pyx_INCREF(__pyx_t_6); + __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_6); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1106 - * stop_on_plugin_breakpoint = False + /* "_pydevd_bundle/pydevd_cython.pyx":1026 * - * if info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< - * cmd = py_db.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') - * py_db.writer.add_command(cmd) + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). */ - } + __pyx_t_11 = (__pyx_v_pydev_smart_parent_offset >= 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L231_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); + __pyx_t_9 = __pyx_t_11; + __pyx_L231_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1102 + /* "_pydevd_bundle/pydevd_cython.pyx":1029 + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). + * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) * - * # Handle logpoint (on a logpoint we should never stop). - * if (stop or stop_on_plugin_breakpoint) and breakpoint.is_logpoint: # <<<<<<<<<<<<<< - * stop = False - * stop_on_plugin_breakpoint = False */ - } + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1029, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1029, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1073 - * stop_on_plugin_breakpoint, breakpoint, new_frame, bp_type = result + /* "_pydevd_bundle/pydevd_cython.pyx":1030 + * # and the offset is set). + * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< * - * if breakpoint: # <<<<<<<<<<<<<< - * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint - * # lets do the conditional stuff here + * else: */ - } + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1030, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1030, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_8, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_9 = (__pyx_t_6 == __pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_stop = __pyx_t_9; - /* "_pydevd_bundle/pydevd_cython.pyx":1110 - * py_db.writer.add_command(cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1026 * - * if py_db.show_return_values: # <<<<<<<<<<<<<< - * if is_return and ( - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1110, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1110, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_9) { + goto __pyx_L230; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1111 + /* "_pydevd_bundle/pydevd_cython.pyx":1034 + * else: + * # Only the name/line is available, so, check that. + * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< * - * if py_db.show_return_values: - * if is_return and ( # <<<<<<<<<<<<<< - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * # global context is set with an empty name */ - if (__pyx_v_is_return) { - } else { - __pyx_t_9 = __pyx_v_is_return; - goto __pyx_L145_bool_binop_done; - } + /*else*/ { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1034, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_6))) __PYX_ERR(0, 1034, __pyx_L172_error) + __Pyx_XDECREF_SET(__pyx_v_curr_func_name, ((PyObject*)__pyx_t_6)); + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1112 - * if py_db.show_return_values: - * if is_return and ( - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or # <<<<<<<<<<<<<< - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or - * (info.pydev_step_cmd in (107, 206)) or + /* "_pydevd_bundle/pydevd_cython.pyx":1037 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: */ - switch (__pyx_v_info->pydev_step_cmd) { - case 0x6C: - case 0x9F: - case 0x80: - __pyx_t_15 = 1; - break; - default: - __pyx_t_15 = 0; - break; - } - __pyx_t_11 = __pyx_t_15; - if (!__pyx_t_11) { - goto __pyx_L147_next_or; - } else { - } - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1112, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1112, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1112, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L145_bool_binop_done; - } - __pyx_L147_next_or:; + __Pyx_INCREF(__pyx_v_curr_func_name); + __pyx_t_21 = __pyx_v_curr_func_name; + __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1037, __pyx_L172_error) + if (!__pyx_t_15) { + } else { + __pyx_t_11 = __pyx_t_15; + goto __pyx_L236_bool_binop_done; + } + __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1037, __pyx_L172_error) + __pyx_t_11 = __pyx_t_15; + __pyx_L236_bool_binop_done:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_15 = __pyx_t_11; + if (!__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L234_bool_binop_done; + } + __pyx_t_15 = (__pyx_v_curr_func_name == ((PyObject*)Py_None)); + __pyx_t_9 = __pyx_t_15; + __pyx_L234_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1113 - * if is_return and ( - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or # <<<<<<<<<<<<<< - * (info.pydev_step_cmd in (107, 206)) or - * ( + /* "_pydevd_bundle/pydevd_cython.pyx":1038 + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' # <<<<<<<<<<<<<< + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + * stop = True */ - switch (__pyx_v_info->pydev_step_cmd) { - case 0x6D: - case 0xA0: - __pyx_t_11 = 1; - break; - default: - __pyx_t_11 = 0; - break; - } - __pyx_t_15 = __pyx_t_11; - if (!__pyx_t_15) { - goto __pyx_L149_next_or; - } else { - } - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1113, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L145_bool_binop_done; - } - __pyx_L149_next_or:; + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); - /* "_pydevd_bundle/pydevd_cython.pyx":1114 - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or - * (info.pydev_step_cmd in (107, 206)) or # <<<<<<<<<<<<<< - * ( - * info.pydev_step_cmd == 144 + /* "_pydevd_bundle/pydevd_cython.pyx":1037 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: */ - switch (__pyx_v_info->pydev_step_cmd) { - case 0x6B: - case 0xCE: - __pyx_t_15 = 1; - break; - default: - __pyx_t_15 = 0; - break; - } - __pyx_t_11 = __pyx_t_15; - if (!__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L145_bool_binop_done; - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1116 - * (info.pydev_step_cmd in (107, 206)) or - * ( - * info.pydev_step_cmd == 144 # <<<<<<<<<<<<<< - * and frame.f_back is not None - * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + /* "_pydevd_bundle/pydevd_cython.pyx":1039 + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< + * stop = True + * */ - __pyx_t_11 = (__pyx_v_info->pydev_step_cmd == 0x90); - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L145_bool_binop_done; - } + __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_curr_func_name, __pyx_v_info->pydev_func_name, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1039, __pyx_L172_error) + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L239_bool_binop_done; + } + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_stop_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1039, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_next_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1039, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1039, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __pyx_t_15; + __pyx_L239_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1117 - * ( - * info.pydev_step_cmd == 144 - * and frame.f_back is not None # <<<<<<<<<<<<<< - * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1040 + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + * stop = True # <<<<<<<<<<<<<< + * + * if not stop: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1117, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L145_bool_binop_done; - } + __pyx_v_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1118 - * info.pydev_step_cmd == 144 - * and frame.f_back is not None - * and not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) # <<<<<<<<<<<<<< - * ) - * ): + /* "_pydevd_bundle/pydevd_cython.pyx":1039 + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< + * stop = True + * */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; + } + } + __pyx_L230:; } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_t_1, __pyx_t_6, Py_True}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1118, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_15 = (!__pyx_t_11); - __pyx_t_9 = __pyx_t_15; - __pyx_L145_bool_binop_done:; + __pyx_L229:; - /* "_pydevd_bundle/pydevd_cython.pyx":1111 + /* "_pydevd_bundle/pydevd_cython.pyx":1042 + * stop = True * - * if py_db.show_return_values: - * if is_return and ( # <<<<<<<<<<<<<< - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. */ - if (__pyx_t_9) { + __pyx_t_9 = (!__pyx_v_stop); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1121 - * ) - * ): - * self._show_return_values(frame, arg) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1045 + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * elif py_db.remove_return_values_flag: + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: */ - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_show_return_values(__pyx_v_self, __pyx_v_frame, __pyx_v_arg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1121, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1111 + /* "_pydevd_bundle/pydevd_cython.pyx":1042 + * stop = True * - * if py_db.show_return_values: - * if is_return and ( # <<<<<<<<<<<<<< - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or - * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1110 - * py_db.writer.add_command(cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1016 + * stop = True * - * if py_db.show_return_values: # <<<<<<<<<<<<<< - * if is_return and ( - * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * elif self._is_same_frame(stop_frame, back) and is_line: # <<<<<<<<<<<<<< + * if info.pydev_smart_child_offset != -1: + * # i.e.: in this case, we're not interested in the pause in the parent, rather */ - goto __pyx_L143; - } + goto __pyx_L224; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1123 - * self._show_return_values(frame, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":1047 + * return None if is_call else NO_FTRACE * - * elif py_db.remove_return_values_flag: # <<<<<<<<<<<<<< - * try: - * self._remove_return_values(py_db, frame) + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< + * # Ok, we have to track 2 stops at this point, the parent and the child offset. + * # This happens when handling a step into which targets a function inside a list comprehension */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1123, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1123, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_9) { + __pyx_t_15 = (__pyx_v_back != Py_None); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L242_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1047, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1047, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L242_bool_binop_done; + } + __pyx_t_9 = __pyx_v_is_line; + __pyx_L242_bool_binop_done:; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1124 - * - * elif py_db.remove_return_values_flag: - * try: # <<<<<<<<<<<<<< - * self._remove_return_values(py_db, frame) - * finally: + /* "_pydevd_bundle/pydevd_cython.pyx":1051 + * # This happens when handling a step into which targets a function inside a list comprehension + * # or generator (in which case an intermediary frame is created due to an internal function call). + * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< + * pydev_smart_child_offset = info.pydev_smart_child_offset + * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) */ - /*try:*/ { + __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; + __pyx_v_pydev_smart_parent_offset = __pyx_t_10; - /* "_pydevd_bundle/pydevd_cython.pyx":1125 - * elif py_db.remove_return_values_flag: - * try: - * self._remove_return_values(py_db, frame) # <<<<<<<<<<<<<< - * finally: - * py_db.remove_return_values_flag = False + /* "_pydevd_bundle/pydevd_cython.pyx":1052 + * # or generator (in which case an intermediary frame is created due to an internal function call). + * pydev_smart_parent_offset = info.pydev_smart_parent_offset + * pydev_smart_child_offset = info.pydev_smart_child_offset # <<<<<<<<<<<<<< + * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + * # print('parent f_lasti', back.f_back.f_lasti) */ - __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_remove_return_values(__pyx_v_self, __pyx_v_py_db, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1125, __pyx_L155_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } + __pyx_t_10 = __pyx_v_info->pydev_smart_child_offset; + __pyx_v_pydev_smart_child_offset = __pyx_t_10; - /* "_pydevd_bundle/pydevd_cython.pyx":1127 - * self._remove_return_values(py_db, frame) - * finally: - * py_db.remove_return_values_flag = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1056 + * # print('parent f_lasti', back.f_back.f_lasti) + * # print('child f_lasti', back.f_lasti) + * stop = False # <<<<<<<<<<<<<< + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1057 + * # print('child f_lasti', back.f_lasti) + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants * - * if stop: */ - /*finally:*/ { - /*normal exit:*/{ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 1127, __pyx_L106_error) - goto __pyx_L156; + __pyx_t_15 = (__pyx_v_pydev_smart_child_offset >= 0); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L246_bool_binop_done; } - __pyx_L155_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_28); - __pyx_t_5 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_22 = __pyx_filename; - { - if (__Pyx_PyObject_SetAttrStr(__pyx_v_py_db, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 1127, __pyx_L158_error) - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + __pyx_t_15 = (__pyx_v_pydev_smart_child_offset >= 0); + __pyx_t_9 = __pyx_t_15; + __pyx_L246_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1058 + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + */ + __pyx_t_1 = __pyx_v_info->pydev_smart_step_into_variants; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1060 + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Note that we don't really check the parent offset, only the offset of + * # the child (because this is a generator, the parent may have moved forward + */ + __pyx_t_15 = (__pyx_v_pydev_smart_parent_offset >= 0); + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L249_bool_binop_done; } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_22; - goto __pyx_L106_error; - __pyx_L158_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + __pyx_t_15 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); + __pyx_t_9 = __pyx_t_15; + __pyx_L249_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1065 + * # already -- and that's ok, so, we just check that the parent frame + * # matches in this case). + * smart_step_into_variant = get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< + * # print('matched parent offset', pydev_smart_parent_offset) + * # Ok, now, check the child variant + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1065, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1065, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1065, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_v_smart_step_into_variant = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1068 + * # print('matched parent offset', pydev_smart_parent_offset) + * # Ok, now, check the child variant + * children_variants = smart_step_into_variant.children_variants # <<<<<<<<<<<<<< + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_smart_step_into_variant, __pyx_n_s_children_variants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1068, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_children_variants = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1069 + * # Ok, now, check the child variant + * children_variants = smart_step_into_variant.children_variants + * stop = children_variants and ( # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + */ + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_children_variants); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1069, __pyx_L172_error) + if (__pyx_t_15) { + } else { + __pyx_t_9 = __pyx_t_15; + goto __pyx_L251_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1070 + * children_variants = smart_step_into_variant.children_variants + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + * ) + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1070, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_children_variants}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1071 + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) # <<<<<<<<<<<<<< + * ) + * # print('stop at child', stop) + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1071, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_child_offset); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1071, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_8, __pyx_v_children_variants}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __pyx_t_15 = (__pyx_t_1 == __pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __pyx_t_15; + __pyx_L251_bool_binop_done:; + __pyx_v_stop = __pyx_t_9; + + /* "_pydevd_bundle/pydevd_cython.pyx":1060 + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Note that we don't really check the parent offset, only the offset of + * # the child (because this is a generator, the parent may have moved forward + */ } - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - goto __pyx_L106_error; + + /* "_pydevd_bundle/pydevd_cython.pyx":1057 + * # print('child f_lasti', back.f_lasti) + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + */ } - __pyx_L156:; - } - /* "_pydevd_bundle/pydevd_cython.pyx":1123 - * self._show_return_values(frame, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":1075 + * # print('stop at child', stop) * - * elif py_db.remove_return_values_flag: # <<<<<<<<<<<<<< - * try: - * self._remove_return_values(py_db, frame) + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. */ - } - __pyx_L143:; + __pyx_t_9 = (!__pyx_v_stop); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1129 - * py_db.remove_return_values_flag = False + /* "_pydevd_bundle/pydevd_cython.pyx":1078 + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * if stop: # <<<<<<<<<<<<<< - * self.set_suspend( - * thread, + * elif step_cmd in (109, 160): */ - if (__pyx_v_stop) { + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1078, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1130 + /* "_pydevd_bundle/pydevd_cython.pyx":1075 + * # print('stop at child', stop) * - * if stop: - * self.set_suspend( # <<<<<<<<<<<<<< - * thread, - * stop_reason, + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1130, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_4); + } - /* "_pydevd_bundle/pydevd_cython.pyx":1132 - * self.set_suspend( - * thread, - * stop_reason, # <<<<<<<<<<<<<< - * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1047 + * return None if is_call else NO_FTRACE + * + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< + * # Ok, we have to track 2 stops at this point, the parent and the child offset. + * # This happens when handling a step into which targets a function inside a list comprehension */ - __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1130, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_thread)) __PYX_ERR(0, 1130, __pyx_L106_error); - __Pyx_INCREF(__pyx_v_stop_reason); - __Pyx_GIVEREF(__pyx_v_stop_reason); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_stop_reason)) __PYX_ERR(0, 1130, __pyx_L106_error); + } + __pyx_L224:; - /* "_pydevd_bundle/pydevd_cython.pyx":1133 - * thread, - * stop_reason, - * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", # <<<<<<<<<<<<<< - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1009 + * stop, plugin_stop = result * + * elif step_cmd == 128: # <<<<<<<<<<<<<< + * stop = False + * back = frame.f_back */ - __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1133, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1133, __pyx_L106_error) - if (__pyx_t_9) { + goto __pyx_L181; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1080 + * return None if is_call else NO_FTRACE + * + * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< + * stop = is_return and self._is_same_frame(stop_frame, frame) + * + */ + switch (__pyx_v_step_cmd) { + case 0x6D: + case 0xA0: + __pyx_t_9 = 1; + break; + default: + __pyx_t_9 = 0; + break; + } + __pyx_t_15 = __pyx_t_9; + if (__pyx_t_15) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1081 + * + * elif step_cmd in (109, 160): + * stop = is_return and self._is_same_frame(stop_frame, frame) # <<<<<<<<<<<<<< + * + * else: + */ + if (__pyx_v_is_return) { } else { - __Pyx_INCREF(__pyx_v_breakpoint); - __pyx_t_1 = __pyx_v_breakpoint; - goto __pyx_L160_bool_binop_done; + __pyx_t_15 = __pyx_v_is_return; + goto __pyx_L254_bool_binop_done; } - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_suspend_policy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1133, __pyx_L106_error) + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1081, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_7, __pyx_n_s_ALL, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1133, __pyx_L106_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1081, __pyx_L172_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_1 = __pyx_t_3; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_L160_bool_binop_done:; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_suspend_other_threads, __pyx_t_1) < 0) __PYX_ERR(0, 1133, __pyx_L106_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __pyx_t_9; + __pyx_L254_bool_binop_done:; + __pyx_v_stop = __pyx_t_15; - /* "_pydevd_bundle/pydevd_cython.pyx":1130 + /* "_pydevd_bundle/pydevd_cython.pyx":1080 + * return None if is_call else NO_FTRACE + * + * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< + * stop = is_return and self._is_same_frame(stop_frame, frame) * - * if stop: - * self.set_suspend( # <<<<<<<<<<<<<< - * thread, - * stop_reason, */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1130, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L181; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1129 - * py_db.remove_return_values_flag = False + /* "_pydevd_bundle/pydevd_cython.pyx":1084 * - * if stop: # <<<<<<<<<<<<<< - * self.set_suspend( - * thread, + * else: + * stop = False # <<<<<<<<<<<<<< + * + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): */ - goto __pyx_L159; + /*else*/ { + __pyx_v_stop = 0; } + __pyx_L181:; - /* "_pydevd_bundle/pydevd_cython.pyx":1136 - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1086 + * stop = False * - * elif stop_on_plugin_breakpoint and plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) - * if result: + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: */ - if (__pyx_v_stop_on_plugin_breakpoint) { + if (__pyx_v_stop) { } else { - __pyx_t_9 = __pyx_v_stop_on_plugin_breakpoint; - goto __pyx_L162_bool_binop_done; + __pyx_t_15 = __pyx_v_stop; + goto __pyx_L257_bool_binop_done; } - __pyx_t_15 = (__pyx_v_plugin_manager != Py_None); - __pyx_t_9 = __pyx_t_15; - __pyx_L162_bool_binop_done:; + __pyx_t_9 = (__pyx_v_step_cmd != -1L); if (__pyx_t_9) { + } else { + __pyx_t_15 = __pyx_t_9; + goto __pyx_L257_bool_binop_done; + } + if (__pyx_v_is_return) { + } else { + __pyx_t_15 = __pyx_v_is_return; + goto __pyx_L257_bool_binop_done; + } + __pyx_t_9 = __Pyx_HasAttr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 1086, __pyx_L172_error) + __pyx_t_15 = __pyx_t_9; + __pyx_L257_bool_binop_done:; + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1137 + /* "_pydevd_bundle/pydevd_cython.pyx":1087 * - * elif stop_on_plugin_breakpoint and plugin_manager is not None: - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) # <<<<<<<<<<<<<< - * if result: - * frame = result + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) # <<<<<<<<<<<<<< + * if f_code is not None: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_suspend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1137, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[5] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_thread, __pyx_v_frame, __pyx_v_bp_type}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1137, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1087, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_GetAttr3(__pyx_t_7, __pyx_n_s_f_code, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_f_code = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1138 - * elif stop_on_plugin_breakpoint and plugin_manager is not None: - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) - * if result: # <<<<<<<<<<<<<< - * frame = result + /* "_pydevd_bundle/pydevd_cython.pyx":1088 + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: # <<<<<<<<<<<<<< + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False + */ + __pyx_t_15 = (__pyx_v_f_code != Py_None); + if (__pyx_t_15) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1089 + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False * */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1138, __pyx_L106_error) - if (__pyx_t_9) { + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1089, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1139 - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) - * if result: - * frame = result # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1090 + * if f_code is not None: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False # <<<<<<<<<<<<<< * - * # if thread has a suspend flag, we suspend with a busy wait + * if plugin_stop: */ - __Pyx_INCREF(__pyx_v_result); - __Pyx_DECREF_SET(__pyx_v_frame, __pyx_v_result); + __pyx_v_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1138 - * elif stop_on_plugin_breakpoint and plugin_manager is not None: - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) - * if result: # <<<<<<<<<<<<<< - * frame = result + /* "_pydevd_bundle/pydevd_cython.pyx":1089 + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1088 + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: # <<<<<<<<<<<<<< + * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * stop = False */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1136 - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1086 + * stop = False * - * elif stop_on_plugin_breakpoint and plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.suspend(py_db, thread, frame, bp_type) - * if result: + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: */ } - __pyx_L159:; - /* "_pydevd_bundle/pydevd_cython.pyx":1142 + /* "_pydevd_bundle/pydevd_cython.pyx":1092 + * stop = False * - * # if thread has a suspend flag, we suspend with a busy wait - * if info.pydev_state == 2: # <<<<<<<<<<<<<< - * self.do_wait_suspend(thread, frame, event, arg) - * return self.trace_dispatch + * if plugin_stop: # <<<<<<<<<<<<<< + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: */ - __pyx_t_9 = (__pyx_v_info->pydev_state == 2); - if (__pyx_t_9) { + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_plugin_stop); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1092, __pyx_L172_error) + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1143 - * # if thread has a suspend flag, we suspend with a busy wait - * if info.pydev_state == 2: - * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< - * return self.trace_dispatch - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1093 + * + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) # <<<<<<<<<<<<<< + * elif stop: + * if is_line: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1143, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_stop); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1093, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { - PyObject *__pyx_callargs[5] = {__pyx_t_8, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + PyObject *__pyx_callargs[8] = {__pyx_t_8, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_v_arg, __pyx_t_1}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 7+__pyx_t_10); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1143, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1093, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_stopped_on_plugin = __pyx_t_6; + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1144 - * if info.pydev_state == 2: - * self.do_wait_suspend(thread, frame, event, arg) - * return self.trace_dispatch # <<<<<<<<<<<<<< - * else: - * if not breakpoint and is_line: - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1144, __pyx_L106_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L110_try_return; - - /* "_pydevd_bundle/pydevd_cython.pyx":1142 - * - * # if thread has a suspend flag, we suspend with a busy wait - * if info.pydev_state == 2: # <<<<<<<<<<<<<< - * self.do_wait_suspend(thread, frame, event, arg) - * return self.trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":1092 + * stop = False + * + * if plugin_stop: # <<<<<<<<<<<<<< + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: */ + goto __pyx_L263; } - /* "_pydevd_bundle/pydevd_cython.pyx":1146 - * return self.trace_dispatch - * else: - * if not breakpoint and is_line: # <<<<<<<<<<<<<< - * # No stop from anyone and no breakpoint found in line (cache that). - * frame_skips_cache[line_cache_key] = 0 - */ - /*else*/ { - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1146, __pyx_L106_error) - __pyx_t_11 = (!__pyx_t_15); - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L167_bool_binop_done; - } - __pyx_t_9 = __pyx_v_is_line; - __pyx_L167_bool_binop_done:; - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1148 - * if not breakpoint and is_line: - * # No stop from anyone and no breakpoint found in line (cache that). - * frame_skips_cache[line_cache_key] = 0 # <<<<<<<<<<<<<< - * - * except: + /* "_pydevd_bundle/pydevd_cython.pyx":1094 + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: # <<<<<<<<<<<<<< + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) */ - if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1148, __pyx_L106_error) - } - if (unlikely((PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_0) < 0))) __PYX_ERR(0, 1148, __pyx_L106_error) + if (__pyx_v_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":1146 - * return self.trace_dispatch - * else: - * if not breakpoint and is_line: # <<<<<<<<<<<<<< - * # No stop from anyone and no breakpoint found in line (cache that). - * frame_skips_cache[line_cache_key] = 0 + /* "_pydevd_bundle/pydevd_cython.pyx":1095 + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + * if is_line: # <<<<<<<<<<<<<< + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) */ - } - } + if (__pyx_v_is_line) { - /* "_pydevd_bundle/pydevd_cython.pyx":1046 - * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) - * - * try: # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint = False - * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + /* "_pydevd_bundle/pydevd_cython.pyx":1096 + * elif stop: + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L111_try_end; - __pyx_L106_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_thread)) __PYX_ERR(0, 1096, __pyx_L172_error); + __Pyx_GIVEREF(__pyx_t_7); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_7)) __PYX_ERR(0, 1096, __pyx_L172_error); + __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_original_step_cmd, __pyx_t_8) < 0) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1096, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1150 - * frame_skips_cache[line_cache_key] = 0 - * - * except: # <<<<<<<<<<<<<< - * # Unfortunately Python itself stops the tracing when it originates from - * # the tracing function, so, we can't do much about it (just let the user know). + /* "_pydevd_bundle/pydevd_cython.pyx":1097 + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< + * elif is_return: # return event + * back = frame.f_back */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 1150, __pyx_L108_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1097, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[5] = {__pyx_t_1, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1097, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1153 - * # Unfortunately Python itself stops the tracing when it originates from - * # the tracing function, so, we can't do much about it (just let the user know). - * exc = sys.exc_info()[0] # <<<<<<<<<<<<<< - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + /* "_pydevd_bundle/pydevd_cython.pyx":1095 + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + * if is_line: # <<<<<<<<<<<<<< + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1153, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_10 = 1; + goto __pyx_L264; } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1153, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1153, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_exc = __pyx_t_7; - __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1154 - * # the tracing function, so, we can't do much about it (just let the user know). - * exc = sys.exc_info()[0] - * cmd = py_db.cmd_factory.make_console_message( # <<<<<<<<<<<<<< - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1098 + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event # <<<<<<<<<<<<<< + * back = frame.f_back + * if back is not None: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_make_console_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1154, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_v_is_return) { - /* "_pydevd_bundle/pydevd_cython.pyx":1155 - * exc = sys.exc_info()[0] - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) # <<<<<<<<<<<<<< - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + /* "_pydevd_bundle/pydevd_cython.pyx":1099 + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event + * back = frame.f_back # <<<<<<<<<<<<<< + * if back is not None: + * # When we get to the pydevd run function, the debugging has actually finished for the main thread */ - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1155, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_v_exc); - __Pyx_GIVEREF(__pyx_v_exc); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_exc)) __PYX_ERR(0, 1155, __pyx_L108_except_error); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_thread)) __PYX_ERR(0, 1155, __pyx_L108_except_error); - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_raised_from_within_the_callba, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1154, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_cmd, __pyx_t_7); - __pyx_t_7 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1099, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_back, __pyx_t_8); + __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1156 - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":1100 + * elif is_return: # return event + * back = frame.f_back + * if back is not None: # <<<<<<<<<<<<<< + * # When we get to the pydevd run function, the debugging has actually finished for the main thread + * # (note that it can still go on for other threads, but for this one, we just make it finish) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1156, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_add_command); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cmd}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1156, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = (__pyx_v_back != Py_None); + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1157 - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< - * pydev_log.exception() - * + /* "_pydevd_bundle/pydevd_cython.pyx":1104 + * # (note that it can still go on for other threads, but for this one, we just make it finish) + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) # <<<<<<<<<<<<<< + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + * back = None */ - __pyx_t_9 = PyObject_IsSubclass(__pyx_v_exc, __pyx_tuple__4); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 1157, __pyx_L108_except_error) - __pyx_t_11 = (!__pyx_t_9); - if (__pyx_t_11) { + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_back}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { + PyObject* sequence = __pyx_t_8; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1104, __pyx_L172_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_7 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1104, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); + index = 0; __pyx_t_7 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_7)) goto __pyx_L266_unpacking_failed; + __Pyx_GOTREF(__pyx_t_7); + index = 1; __pyx_t_1 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L266_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 2; __pyx_t_6 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_6)) goto __pyx_L266_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_3), 3) < 0) __PYX_ERR(0, 1104, __pyx_L172_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L267_unpacking_done; + __pyx_L266_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1104, __pyx_L172_error) + __pyx_L267_unpacking_done:; + } + __pyx_v_back_absolute_filename = __pyx_t_7; + __pyx_t_7 = 0; + __pyx_v__ = __pyx_t_1; + __pyx_t_1 = 0; + __pyx_v_base = __pyx_t_6; + __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1158 - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): - * pydev_log.exception() # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1105 + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< + * back = None * - * raise */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1158, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1158, __pyx_L108_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_base); + __Pyx_GIVEREF(__pyx_v_base); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_base)) __PYX_ERR(0, 1105, __pyx_L172_error); + __Pyx_GIVEREF(__pyx_t_6); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(0, 1105, __pyx_L172_error); + __pyx_t_6 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_DEBUG_START); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_8, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!__pyx_t_9) { + } else { + __pyx_t_15 = __pyx_t_9; + goto __pyx_L269_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DEBUG_START_PY3K); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1105, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_15 = __pyx_t_9; + __pyx_L269_bool_binop_done:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_15; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1157 - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":1106 + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + * back = None # <<<<<<<<<<<<<< * + * elif base == TRACE_PROPERTY: */ - } + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_back, Py_None); - /* "_pydevd_bundle/pydevd_cython.pyx":1160 - * pydev_log.exception() - * - * raise # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1105 + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< + * back = None * - * # step handling. We stop when we hit the right frame */ - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_6, __pyx_t_8); - __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_8 = 0; - __PYX_ERR(0, 1160, __pyx_L108_except_error) - } + goto __pyx_L268; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1046 - * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + /* "_pydevd_bundle/pydevd_cython.pyx":1108 + * back = None * - * try: # <<<<<<<<<<<<<< - * stop_on_plugin_breakpoint = False - * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! */ - __pyx_L108_except_error:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); - goto __pyx_L4_error; - __pyx_L110_try_return:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); - goto __pyx_L3_return; - __pyx_L111_try_end:; - } + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_TRACE_PROPERTY); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1108, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyObject_RichCompare(__pyx_v_base, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1108, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1108, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1163 + /* "_pydevd_bundle/pydevd_cython.pyx":1111 + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * # step handling. We stop when we hit the right frame - * try: # <<<<<<<<<<<<<< - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: + * elif pydevd_dont_trace.should_trace_hook is not None: */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_6 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1111, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __pyx_t_8; + __pyx_t_8 = 0; + } + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1164 - * # step handling. We stop when we hit the right frame - * try: - * should_skip = 0 # <<<<<<<<<<<<<< - * if pydevd_dont_trace.should_trace_hook is not None: - * if self.should_skip == -1: + /* "_pydevd_bundle/pydevd_cython.pyx":1108 + * back = None + * + * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! */ - __pyx_v_should_skip = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1165 - * try: - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< - * if self.should_skip == -1: - * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + /* "_pydevd_bundle/pydevd_cython.pyx":1113 + * return None if is_call else NO_FTRACE + * + * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): + * # In this case, we'll have to skip the previous one because it shouldn't be traced. */ - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1165, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1165, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_11 = (__pyx_t_6 != Py_None); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_11) { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1113, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1113, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = (__pyx_t_8 != Py_None); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1166 - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: - * if self.should_skip == -1: # <<<<<<<<<<<<<< - * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). - * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + /* "_pydevd_bundle/pydevd_cython.pyx":1114 + * + * elif pydevd_dont_trace.should_trace_hook is not None: + * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): # <<<<<<<<<<<<<< + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + * # Also, we have to reset the tracing, because if the parent's parent (or some */ - __pyx_t_11 = (__pyx_v_self->should_skip == -1L); - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1170 - * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code - * # Which will be handled by this frame is read-only, so, we can cache it safely. - * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< - * # -1, 0, 1 to be Cython-friendly - * should_skip = self.should_skip = 1 - */ - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1170, __pyx_L172_error) - } - __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_8, __pyx_t_7}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1170, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = (!__pyx_t_11); - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1172 - * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): - * # -1, 0, 1 to be Cython-friendly - * should_skip = self.should_skip = 1 # <<<<<<<<<<<<<< - * else: - * should_skip = self.should_skip = 0 - */ - __pyx_v_should_skip = 1; - __pyx_v_self->should_skip = 1; - - /* "_pydevd_bundle/pydevd_cython.pyx":1170 - * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code - * # Which will be handled by this frame is read-only, so, we can cache it safely. - * if not pydevd_dont_trace.should_trace_hook(frame.f_code, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< - * # -1, 0, 1 to be Cython-friendly - * should_skip = self.should_skip = 1 - */ - goto __pyx_L180; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1174 - * should_skip = self.should_skip = 1 - * else: - * should_skip = self.should_skip = 0 # <<<<<<<<<<<<<< - * else: - * should_skip = self.should_skip - */ - /*else*/ { - __pyx_v_should_skip = 0; - __pyx_v_self->should_skip = 0; - } - __pyx_L180:; - - /* "_pydevd_bundle/pydevd_cython.pyx":1166 - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: - * if self.should_skip == -1: # <<<<<<<<<<<<<< - * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). - * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code - */ - goto __pyx_L179; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1176 - * should_skip = self.should_skip = 0 - * else: - * should_skip = self.should_skip # <<<<<<<<<<<<<< - * - * plugin_stop = False - */ - /*else*/ { - __pyx_t_10 = __pyx_v_self->should_skip; - __pyx_v_should_skip = __pyx_t_10; - } - __pyx_L179:; - - /* "_pydevd_bundle/pydevd_cython.pyx":1165 - * try: - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< - * if self.should_skip == -1: - * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1178 - * should_skip = self.should_skip - * - * plugin_stop = False # <<<<<<<<<<<<<< - * if should_skip: - * stop = False - */ - __Pyx_INCREF(Py_False); - __pyx_v_plugin_stop = Py_False; - - /* "_pydevd_bundle/pydevd_cython.pyx":1179 - * - * plugin_stop = False - * if should_skip: # <<<<<<<<<<<<<< - * stop = False - * - */ - __pyx_t_9 = (__pyx_v_should_skip != 0); - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1180 - * plugin_stop = False - * if should_skip: - * stop = False # <<<<<<<<<<<<<< - * - * elif step_cmd in (107, 144, 206): - */ - __pyx_v_stop = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1179 - * - * plugin_stop = False - * if should_skip: # <<<<<<<<<<<<<< - * stop = False - * - */ - goto __pyx_L181; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1182 - * stop = False - * - * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< - * force_check_project_scope = step_cmd == 144 - * if is_line: - */ - switch (__pyx_v_step_cmd) { - case 0x6B: - case 0x90: - case 0xCE: - __pyx_t_9 = 1; - break; - default: - __pyx_t_9 = 0; - break; - } - __pyx_t_11 = __pyx_t_9; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1183 - * - * elif step_cmd in (107, 144, 206): - * force_check_project_scope = step_cmd == 144 # <<<<<<<<<<<<<< - * if is_line: - * if not info.pydev_use_scoped_step_frame: - */ - __pyx_t_6 = __Pyx_PyBool_FromLong((__pyx_v_step_cmd == 0x90)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1183, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_force_check_project_scope = __pyx_t_6; - __pyx_t_6 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1184 - * elif step_cmd in (107, 144, 206): - * force_check_project_scope = step_cmd == 144 - * if is_line: # <<<<<<<<<<<<<< - * if not info.pydev_use_scoped_step_frame: - * if force_check_project_scope or py_db.is_files_filter_enabled: - */ - if (__pyx_v_is_line) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1185 - * force_check_project_scope = step_cmd == 144 - * if is_line: - * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) - */ - __pyx_t_11 = (!__pyx_v_info->pydev_use_scoped_step_frame); - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1186 - * if is_line: - * if not info.pydev_use_scoped_step_frame: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) - * else: - */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1186, __pyx_L172_error) - if (!__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L185_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1186, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1186, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L185_bool_binop_done:; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1187 - * if not info.pydev_use_scoped_step_frame: - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< - * else: - * stop = True - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1187, __pyx_L172_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1114, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1187, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1187, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1114, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { + if (unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -23000,3839 +21959,5673 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispa } #endif { - PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_v_frame, __pyx_t_8, __pyx_v_force_check_project_scope}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); + PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_6, __pyx_v_back_absolute_filename}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1187, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1114, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1187, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_stop = (!__pyx_t_11); - - /* "_pydevd_bundle/pydevd_cython.pyx":1186 - * if is_line: - * if not info.pydev_use_scoped_step_frame: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) - * else: - */ - goto __pyx_L184; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1189 - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) - * else: - * stop = True # <<<<<<<<<<<<<< - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: - */ - /*else*/ { - __pyx_v_stop = 1; - } - __pyx_L184:; - - /* "_pydevd_bundle/pydevd_cython.pyx":1185 - * force_check_project_scope = step_cmd == 144 - * if is_line: - * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) - */ - goto __pyx_L183; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1191 - * stop = True - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * # Make sure we check the filtering inside ipython calls too... - * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): - */ - /*else*/ { - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1191, __pyx_L172_error) - if (!__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L188_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1191, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L188_bool_binop_done:; - if (__pyx_t_11) { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1114, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_15 = (!__pyx_t_9); + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1193 - * if force_check_project_scope or py_db.is_files_filter_enabled: - * # Make sure we check the filtering inside ipython calls too... - * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1120 + * # we should anymore (so, a step in/over/return may not stop anywhere if no parent is traced). + * # Related test: _debugger_case17a.py + * py_db.set_trace_for_frame_and_parents(thread, back) # <<<<<<<<<<<<<< * return None if is_call else NO_FTRACE * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1193, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1193, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_10 = 1; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_8, __pyx_v_frame, __pyx_t_7, __pyx_v_force_check_project_scope}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1193, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = (!(!__pyx_t_11)); - if (__pyx_t_9) { + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_thread, __pyx_v_back}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1120, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1194 - * # Make sure we check the filtering inside ipython calls too... - * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): + /* "_pydevd_bundle/pydevd_cython.pyx":1121 + * # Related test: _debugger_case17a.py + * py_db.set_trace_for_frame_and_parents(thread, back) * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * # We can only stop inside the ipython call. + * if back is not None: */ __Pyx_XDECREF(__pyx_r); if (__pyx_v_is_call) { __Pyx_INCREF(Py_None); - __pyx_t_6 = Py_None; + __pyx_t_8 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L172_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __pyx_t_1; + __pyx_t_8 = __pyx_t_1; __pyx_t_1 = 0; } - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1193 - * if force_check_project_scope or py_db.is_files_filter_enabled: - * # Make sure we check the filtering inside ipython calls too... - * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): # <<<<<<<<<<<<<< - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1114 * + * elif pydevd_dont_trace.should_trace_hook is not None: + * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): # <<<<<<<<<<<<<< + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + * # Also, we have to reset the tracing, because if the parent's parent (or some */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1191 - * stop = True - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * # Make sure we check the filtering inside ipython calls too... - * if not not py_db.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope): + /* "_pydevd_bundle/pydevd_cython.pyx":1113 + * return None if is_call else NO_FTRACE + * + * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): + * # In this case, we'll have to skip the previous one because it shouldn't be traced. */ } + __pyx_L268:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1100 + * elif is_return: # return event + * back = frame.f_back + * if back is not None: # <<<<<<<<<<<<<< + * # When we get to the pydevd run function, the debugging has actually finished for the main thread + * # (note that it can still go on for other threads, but for this one, we just make it finish) + */ + } - /* "_pydevd_bundle/pydevd_cython.pyx":1197 + /* "_pydevd_bundle/pydevd_cython.pyx":1123 + * return None if is_call else NO_FTRACE * - * # We can only stop inside the ipython call. - * filename = frame.f_code.co_filename # <<<<<<<<<<<<<< - * if filename.endswith('.pyc'): - * filename = filename[:-1] + * if back is not None: # <<<<<<<<<<<<<< + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + */ + __pyx_t_15 = (__pyx_v_back != Py_None); + if (__pyx_t_15) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1125 + * if back is not None: + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, back, event, arg) + * else: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1197, __pyx_L172_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1125, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1125, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L172_error) + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_thread)) __PYX_ERR(0, 1125, __pyx_L172_error); + __Pyx_GIVEREF(__pyx_t_1); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L172_error); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L172_error) __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1125, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_original_step_cmd, __pyx_t_7) < 0) __PYX_ERR(0, 1125, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1125, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_filename = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1198 - * # We can only stop inside the ipython call. - * filename = frame.f_code.co_filename - * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< - * filename = filename[:-1] - * + /* "_pydevd_bundle/pydevd_cython.pyx":1126 + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, back, event, arg) # <<<<<<<<<<<<<< + * else: + * # in jython we may not have a back frame */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1198, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_10 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_kp_s_pyc}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + PyObject *__pyx_callargs[5] = {__pyx_t_6, __pyx_v_thread, __pyx_v_back, __pyx_v_event, __pyx_v_arg}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1126, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1198, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_9) { + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1199 - * filename = frame.f_code.co_filename - * if filename.endswith('.pyc'): - * filename = filename[:-1] # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1123 + * return None if is_call else NO_FTRACE * - * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + * if back is not None: # <<<<<<<<<<<<<< + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) */ - __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_filename, 0, -1L, NULL, NULL, &__pyx_slice__5, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1); - __pyx_t_1 = 0; + goto __pyx_L272; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1198 - * # We can only stop inside the ipython call. - * filename = frame.f_code.co_filename - * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< - * filename = filename[:-1] - * + /* "_pydevd_bundle/pydevd_cython.pyx":1129 + * else: + * # in jython we may not have a back frame + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 */ - } + /*else*/ { + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":1201 - * filename = filename[:-1] - * - * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< - * f = frame.f_back - * while f is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":1130 + * # in jython we may not have a back frame + * info.pydev_step_stop = None + * info.pydev_original_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_step_cmd = -1 + * info.pydev_state = 1 */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1201, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1201, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1201, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1201, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = (!__pyx_t_9); - if (__pyx_t_11) { + __pyx_v_info->pydev_original_step_cmd = -1; - /* "_pydevd_bundle/pydevd_cython.pyx":1202 + /* "_pydevd_bundle/pydevd_cython.pyx":1131 + * info.pydev_step_stop = None + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_state = 1 * - * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): - * f = frame.f_back # <<<<<<<<<<<<<< - * while f is not None: - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1202, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_info->pydev_step_cmd = -1; - /* "_pydevd_bundle/pydevd_cython.pyx":1203 - * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): - * f = frame.f_back - * while f is not None: # <<<<<<<<<<<<<< - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f2 = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1132 + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 + * info.pydev_state = 1 # <<<<<<<<<<<<<< + * + * # if we are quitting, let's stop the tracing */ - while (1) { - __pyx_t_11 = (__pyx_v_f != Py_None); - if (!__pyx_t_11) break; + __pyx_v_info->pydev_state = 1; + } + __pyx_L272:; - /* "_pydevd_bundle/pydevd_cython.pyx":1204 - * f = frame.f_back - * while f is not None: - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< - * f2 = f.f_back - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + /* "_pydevd_bundle/pydevd_cython.pyx":1098 + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event # <<<<<<<<<<<<<< + * back = frame.f_back + * if back is not None: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1204, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1205 - * while f is not None: - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f2 = f.f_back # <<<<<<<<<<<<<< - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - * pydev_log.debug('Stop inside ipython call') - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_f2, __pyx_t_1); - __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1206 - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f2 = f.f_back - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< - * pydev_log.debug('Stop inside ipython call') - * stop = True - */ - __pyx_t_9 = (__pyx_v_f2 != Py_None); - if (__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L197_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_t_8, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1206, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L197_bool_binop_done:; - if (__pyx_t_11) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1207 - * f2 = f.f_back - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - * pydev_log.debug('Stop inside ipython call') # <<<<<<<<<<<<<< - * stop = True - * break - */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1207, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_debug); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1207, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_kp_s_Stop_inside_ipython_call}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __pyx_L264:; - /* "_pydevd_bundle/pydevd_cython.pyx":1208 - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - * pydev_log.debug('Stop inside ipython call') - * stop = True # <<<<<<<<<<<<<< - * break - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1094 + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: # <<<<<<<<<<<<<< + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) */ - __pyx_v_stop = 1; + } + __pyx_L263:; - /* "_pydevd_bundle/pydevd_cython.pyx":1209 - * pydev_log.debug('Stop inside ipython call') - * stop = True - * break # <<<<<<<<<<<<<< - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1135 + * + * # if we are quitting, let's stop the tracing + * if py_db.quitting: # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE * */ - goto __pyx_L194_break; - - /* "_pydevd_bundle/pydevd_cython.pyx":1206 - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: - * f2 = f.f_back - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< - * pydev_log.debug('Stop inside ipython call') - * stop = True - */ - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1204 - * f = frame.f_back - * while f is not None: - * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< - * f2 = f.f_back - * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: - */ - } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_quitting); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1135, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1135, __pyx_L172_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_15) { - /* "_pydevd_bundle/pydevd_cython.pyx":1210 - * stop = True - * break - * f = f.f_back # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1136 + * # if we are quitting, let's stop the tracing + * if py_db.quitting: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< * - * del f + * return self.trace_dispatch */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - } - __pyx_L194_break:; + __Pyx_XDECREF(__pyx_r); + if (__pyx_v_is_call) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1136, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1212 - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1135 * - * del f # <<<<<<<<<<<<<< + * # if we are quitting, let's stop the tracing + * if py_db.quitting: # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE * - * if not stop: */ - __Pyx_DECREF(__pyx_v_f); __pyx_v_f = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1201 - * filename = filename[:-1] + /* "_pydevd_bundle/pydevd_cython.pyx":1138 + * return None if is_call else NO_FTRACE * - * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< - * f = frame.f_back - * while f is not None: + * return self.trace_dispatch # <<<<<<<<<<<<<< + * except: + * # Unfortunately Python itself stops the tracing when it originates from */ - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1138, __pyx_L172_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L176_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1214 - * del f + /* "_pydevd_bundle/pydevd_cython.pyx":908 * - * if not stop: # <<<<<<<<<<<<<< - * # In scoped mode if step in didn't work in this context it won't work - * # afterwards anyways. + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: */ - __pyx_t_11 = (!__pyx_v_stop); - if (__pyx_t_11) { + } + __pyx_L172_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1217 - * # In scoped mode if step in didn't work in this context it won't work - * # afterwards anyways. - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1139 * - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * return self.trace_dispatch + * except: # <<<<<<<<<<<<<< + * # Unfortunately Python itself stops the tracing when it originates from + * # the tracing function, so, we can't do much about it (just let the user know). */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_1 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1217, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __pyx_t_8; - __pyx_t_8 = 0; - } - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L176_try_return; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 1139, __pyx_L174_except_error) + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_6); - /* "_pydevd_bundle/pydevd_cython.pyx":1214 - * del f - * - * if not stop: # <<<<<<<<<<<<<< - * # In scoped mode if step in didn't work in this context it won't work - * # afterwards anyways. + /* "_pydevd_bundle/pydevd_cython.pyx":1142 + * # Unfortunately Python itself stops the tracing when it originates from + * # the tracing function, so, we can't do much about it (just let the user know). + * exc = sys.exc_info()[0] # <<<<<<<<<<<<<< + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) */ - } - } - __pyx_L183:; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1142, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1142, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1142, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_exc = __pyx_t_2; + __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1184 - * elif step_cmd in (107, 144, 206): - * force_check_project_scope = step_cmd == 144 - * if is_line: # <<<<<<<<<<<<<< - * if not info.pydev_use_scoped_step_frame: - * if force_check_project_scope or py_db.is_files_filter_enabled: + /* "_pydevd_bundle/pydevd_cython.pyx":1143 + * # the tracing function, so, we can't do much about it (just let the user know). + * exc = sys.exc_info()[0] + * cmd = py_db.cmd_factory.make_console_message( # <<<<<<<<<<<<<< + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) */ - goto __pyx_L182; - } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1143, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_make_console_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1143, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1219 - * return None if is_call else NO_FTRACE - * - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1144 + * exc = sys.exc_info()[0] + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) # <<<<<<<<<<<<<< + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): */ - if (__pyx_v_is_return) { - } else { - __pyx_t_11 = __pyx_v_is_return; - goto __pyx_L200_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1219, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L200_bool_binop_done; + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1144, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_exc)) __PYX_ERR(0, 1144, __pyx_L174_except_error); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_thread)) __PYX_ERR(0, 1144, __pyx_L174_except_error); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_raised_from_within_the_callba, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1144, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; } - __pyx_t_9 = (!__pyx_v_info->pydev_use_scoped_step_frame); - __pyx_t_11 = __pyx_t_9; - __pyx_L200_bool_binop_done:; - if (__pyx_t_11) { + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1143, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_cmd, __pyx_t_2); + __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1220 - * - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< - * stop = False - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1145 + * cmd = py_db.cmd_factory.make_console_message( + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + * pydev_log.exception() */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1220, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1145, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_add_command); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1145, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_10 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cmd}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1145, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1221 - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False # <<<<<<<<<<<<<< - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: + /* "_pydevd_bundle/pydevd_cython.pyx":1146 + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< + * pydev_log.exception() + * raise */ - __pyx_v_stop = 0; + __pyx_t_15 = PyObject_IsSubclass(__pyx_v_exc, __pyx_tuple__6); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 1146, __pyx_L174_except_error) + __pyx_t_9 = (!__pyx_t_15); + if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1220 + /* "_pydevd_bundle/pydevd_cython.pyx":1147 + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + * pydev_log.exception() # <<<<<<<<<<<<<< + * raise * - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< - * stop = False - * else: */ - goto __pyx_L203; + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1147, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1147, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + __pyx_t_10 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L174_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1223 - * stop = False - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) - * if stop: + /* "_pydevd_bundle/pydevd_cython.pyx":1146 + * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + * py_db.writer.add_command(cmd) + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< + * pydev_log.exception() + * raise */ - /*else*/ { - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1223, __pyx_L172_error) - if (!__pyx_t_9) { - } else { - __pyx_t_11 = __pyx_t_9; - goto __pyx_L205_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1223, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1223, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = __pyx_t_9; - __pyx_L205_bool_binop_done:; - if (__pyx_t_11) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1224 - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< - * if stop: - * # Prevent stopping in a return to the same location we were initially + /* "_pydevd_bundle/pydevd_cython.pyx":1148 + * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + * pydev_log.exception() + * raise # <<<<<<<<<<<<<< + * + * finally: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_t_1, __pyx_t_7, __pyx_v_force_check_project_scope}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1224, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_stop = (!__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_1, __pyx_t_6); + __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_6 = 0; + __PYX_ERR(0, 1148, __pyx_L174_except_error) + } - /* "_pydevd_bundle/pydevd_cython.pyx":1225 - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) - * if stop: # <<<<<<<<<<<<<< - * # Prevent stopping in a return to the same location we were initially - * # (i.e.: double-stop at the same place due to some filtering). + /* "_pydevd_bundle/pydevd_cython.pyx":908 + * + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: */ - if (__pyx_v_stop) { + __pyx_L174_except_error:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L4_error; + __pyx_L176_try_return:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L3_return; + } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1228 - * # Prevent stopping in a return to the same location we were initially - * # (i.e.: double-stop at the same place due to some filtering). - * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< - * stop = False - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1151 + * + * finally: + * info.is_tracing -= 1 # <<<<<<<<<<<<<< + * + * # end trace_dispatch */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6)) __PYX_ERR(0, 1228, __pyx_L172_error); - __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7)) __PYX_ERR(0, 1228, __pyx_L172_error); - __pyx_t_6 = 0; - __pyx_t_7 = 0; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_info->step_in_initial_location, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1228, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_11) { + /*finally:*/ { + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_28, &__pyx_t_27, &__pyx_t_26); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_28); + __Pyx_XGOTREF(__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_26); + __pyx_t_10 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_29 = __pyx_filename; + { + if (unlikely(!__pyx_v_info)) { __Pyx_RaiseUnboundLocalError("info"); __PYX_ERR(0, 1151, __pyx_L278_error) } + if (unlikely(!__pyx_v_info)) { __Pyx_RaiseUnboundLocalError("info"); __PYX_ERR(0, 1151, __pyx_L278_error) } + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); + } + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ErrRestore(__pyx_t_18, __pyx_t_17, __pyx_t_16); + __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; + __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_29; + goto __pyx_L1_error; + __pyx_L278_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_26 = __pyx_r; + __pyx_r = 0; + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); + __pyx_r = __pyx_t_26; + __pyx_t_26 = 0; + goto __pyx_L0; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":452 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef tuple abs_path_canonical_path_and_base; + * cdef bint is_exception_event; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_abs_path_canonical_path_and_base); + __Pyx_XDECREF((PyObject *)__pyx_v_info); + __Pyx_XDECREF(__pyx_v_breakpoints_for_file); + __Pyx_XDECREF(__pyx_v_stop_info); + __Pyx_XDECREF(__pyx_v_curr_func_name); + __Pyx_XDECREF(__pyx_v_frame_skips_cache); + __Pyx_XDECREF(__pyx_v_frame_cache_key); + __Pyx_XDECREF(__pyx_v_line_cache_key); + __Pyx_XDECREF(__pyx_v_bp); + __Pyx_XDECREF(__pyx_v_pydev_smart_step_into_variants); + __Pyx_XDECREF(__pyx_v_py_db); + __Pyx_XDECREF(__pyx_v_thread); + __Pyx_XDECREF(__pyx_v_plugin_manager); + __Pyx_XDECREF(__pyx_v_stop_frame); + __Pyx_XDECREF(__pyx_v_function_breakpoint_on_call_event); + __Pyx_XDECREF(__pyx_v_returns_cache_key); + __Pyx_XDECREF(__pyx_v_return_lines); + __Pyx_XDECREF(__pyx_v_x); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XDECREF(__pyx_v_func_lines); + __Pyx_XDECREF(__pyx_v_offset_and_lineno); + __Pyx_XDECREF(__pyx_v_breakpoint); + __Pyx_XDECREF(__pyx_v_stop_reason); + __Pyx_XDECREF(__pyx_v_bp_type); + __Pyx_XDECREF(__pyx_v_new_frame); + __Pyx_XDECREF(__pyx_v_result); + __Pyx_XDECREF(__pyx_v_eval_result); + __Pyx_XDECREF(__pyx_v_cmd); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_XDECREF(__pyx_v_plugin_stop); + __Pyx_XDECREF(__pyx_v_force_check_project_scope); + __Pyx_XDECREF(__pyx_v_filename); + __Pyx_XDECREF(__pyx_v_f2); + __Pyx_XDECREF(__pyx_v_back); + __Pyx_XDECREF(__pyx_v_smart_step_into_variant); + __Pyx_XDECREF(__pyx_v_children_variants); + __Pyx_XDECREF(__pyx_v_f_code); + __Pyx_XDECREF(__pyx_v_stopped_on_plugin); + __Pyx_XDECREF(__pyx_v_back_absolute_filename); + __Pyx_XDECREF(__pyx_v__); + __Pyx_XDECREF(__pyx_v_base); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch = {"trace_dispatch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[3] = {0,0,0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_dispatch (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + if (__pyx_kwds) { + Py_ssize_t kw_args; + switch (__pyx_nargs) { + case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); + switch (__pyx_nargs) { + case 0: + if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 452, __pyx_L3_error) + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 452, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 1); __PYX_ERR(0, 452, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 452, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 2); __PYX_ERR(0, 452, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 452, __pyx_L3_error) + } + } else if (unlikely(__pyx_nargs != 3)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = ((PyObject*)values[1]); + __pyx_v_arg = values[2]; + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 452, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 452, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_dispatch", 1); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + if (unlikely(__pyx_nargs > 0)) { + __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;} + if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 1); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._args, self.exc_info, self.should_skip) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->should_skip); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->_args)) __PYX_ERR(2, 5, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_self->exc_info); + __Pyx_GIVEREF(__pyx_v_self->exc_info); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->exc_info)) __PYX_ERR(2, 5, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_1); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":7 + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict)) __PYX_ERR(2, 8, __pyx_L1_error); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._args is not None or self.exc_info is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._args is not None or self.exc_info is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state + */ + /*else*/ { + __pyx_t_4 = (__pyx_v_self->_args != ((PyObject*)Py_None)); + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = (__pyx_v_self->exc_info != Py_None); + __pyx_t_3 = __pyx_t_4; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state + * else: + */ + if (__pyx_v_use_setstate) { + + /* "(tree fragment)":13 + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 13, __pyx_L1_error); + __Pyx_INCREF(__pyx_int_61391470); + __Pyx_GIVEREF(__pyx_int_61391470); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_61391470)) __PYX_ERR(2, 13, __pyx_L1_error); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None)) __PYX_ERR(2, 13, __pyx_L1_error); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_2); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state)) __PYX_ERR(2, 13, __pyx_L1_error); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 15, __pyx_L1_error); + __Pyx_INCREF(__pyx_int_61391470); + __Pyx_GIVEREF(__pyx_int_61391470); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_61391470)) __PYX_ERR(2, 15, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state)) __PYX_ERR(2, 15, __pyx_L1_error); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_2); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error); + __pyx_t_5 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + PyObject *__pyx_v___pyx_state = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[1] = {0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0}; + if (__pyx_kwds) { + Py_ssize_t kw_args; + switch (__pyx_nargs) { + case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); + switch (__pyx_nargs) { + case 0: + if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 16, __pyx_L3_error) + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 16, __pyx_L3_error) + } + } else if (unlikely(__pyx_nargs != 1)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + } + __pyx_v___pyx_state = values[0]; + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 16, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v___pyx_state); + + /* function exit code */ + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 1); + + /* "(tree fragment)":17 + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1157 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef bint was_just_raised; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5should_stop_on_exception(PyObject *__pyx_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_5should_stop_on_exception = {"should_stop_on_exception", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_5should_stop_on_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5should_stop_on_exception(PyObject *__pyx_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + PyObject *__pyx_v_py_db = 0; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_thread = 0; + PyObject *__pyx_v_arg = 0; + PyObject *__pyx_v_prev_exc_info = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[6] = {0,0,0,0,0,0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("should_stop_on_exception (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject **__pyx_pyargnames[] = {&__pyx_n_s_py_db,&__pyx_n_s_info,&__pyx_n_s_frame,&__pyx_n_s_thread,&__pyx_n_s_arg,&__pyx_n_s_prev_exc_info,0}; + if (__pyx_kwds) { + Py_ssize_t kw_args; + switch (__pyx_nargs) { + case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); + switch (__pyx_nargs) { + case 0: + if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_py_db)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_info)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, 1); __PYX_ERR(0, 1157, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, 2); __PYX_ERR(0, 1157, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_thread)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[3]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, 3); __PYX_ERR(0, 1157, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[4]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, 4); __PYX_ERR(0, 1157, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prev_exc_info)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[5]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, 5); __PYX_ERR(0, 1157, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "should_stop_on_exception") < 0)) __PYX_ERR(0, 1157, __pyx_L3_error) + } + } else if (unlikely(__pyx_nargs != 6)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); + values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); + values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5); + } + __pyx_v_py_db = values[0]; + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)values[1]); + __pyx_v_frame = values[2]; + __pyx_v_thread = values[3]; + __pyx_v_arg = values[4]; + __pyx_v_prev_exc_info = values[5]; + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("should_stop_on_exception", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 1157, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, 1, "info", 0))) __PYX_ERR(0, 1157, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_4should_stop_on_exception(__pyx_self, __pyx_v_py_db, __pyx_v_info, __pyx_v_frame, __pyx_v_thread, __pyx_v_arg, __pyx_v_prev_exc_info); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4should_stop_on_exception(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_thread, PyObject *__pyx_v_arg, PyObject *__pyx_v_prev_exc_info) { + int __pyx_v_should_stop; + int __pyx_v_was_just_raised; + PyObject *__pyx_v_check_excs = 0; + PyObject *__pyx_v_return_exc_info = NULL; + PyObject *__pyx_v_exception = NULL; + PyObject *__pyx_v_value = NULL; + PyObject *__pyx_v_trace = NULL; + PyObject *__pyx_v_exception_breakpoint = NULL; + PyObject *__pyx_v_result = NULL; + PyObject *__pyx_v_exc_break_user = NULL; + PyObject *__pyx_v_exc_break_caught = NULL; + PyObject *__pyx_v_exc_break = NULL; + PyObject *__pyx_v_is_user_uncaught = NULL; + PyObject *__pyx_v_exc_info = NULL; + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *(*__pyx_t_6)(PyObject *); + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; + int __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("should_stop_on_exception", 0); + __Pyx_INCREF(__pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":1165 + * # ENDIF + * + * should_stop = False # <<<<<<<<<<<<<< + * return_exc_info = prev_exc_info + * + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1166 + * + * should_stop = False + * return_exc_info = prev_exc_info # <<<<<<<<<<<<<< + * + * # 2 = 2 + */ + __Pyx_INCREF(__pyx_v_prev_exc_info); + __pyx_v_return_exc_info = __pyx_v_prev_exc_info; + + /* "_pydevd_bundle/pydevd_cython.pyx":1169 + * + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< + * exception, value, trace = arg + * + */ + __pyx_t_1 = (__pyx_v_info->pydev_state != 2); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1170 + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: + * exception, value, trace = arg # <<<<<<<<<<<<<< + * + * if trace is not None and hasattr(trace, 'tb_next'): + */ + if ((likely(PyTuple_CheckExact(__pyx_v_arg))) || (PyList_CheckExact(__pyx_v_arg))) { + PyObject* sequence = __pyx_v_arg; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1170, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_3 = PyList_GET_ITEM(sequence, 1); + __pyx_t_4 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_v_arg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); + index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 2; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 3) < 0) __PYX_ERR(0, 1170, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L5_unpacking_done; + __pyx_L4_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1170, __pyx_L1_error) + __pyx_L5_unpacking_done:; + } + __pyx_v_exception = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_value = __pyx_t_3; + __pyx_t_3 = 0; + __pyx_v_trace = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1172 + * exception, value, trace = arg + * + * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< + * # on jython trace is None on the first event and it may not have a tb_next. + * + */ + __pyx_t_7 = (__pyx_v_trace != Py_None); + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = __Pyx_HasAttr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1172, __pyx_L1_error) + __pyx_t_1 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1175 + * # on jython trace is None on the first event and it may not have a tb_next. + * + * should_stop = False # <<<<<<<<<<<<<< + * exception_breakpoint = None + * try: + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1176 + * + * should_stop = False + * exception_breakpoint = None # <<<<<<<<<<<<<< + * try: + * if py_db.plugin is not None: + */ + __Pyx_INCREF(Py_None); + __pyx_v_exception_breakpoint = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1177 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1178 + * exception_breakpoint = None + * try: + * if py_db.plugin is not None: # <<<<<<<<<<<<<< + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + * if result: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1178, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1179 + * try: + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) # <<<<<<<<<<<<<< + * if result: + * should_stop, frame = result + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_plugin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1179, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exception_break); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1179, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[5] = {__pyx_t_3, __pyx_v_py_db, __pyx_v_frame, __pyx_v_thread, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 4+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1179, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_v_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1180 + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + * if result: # <<<<<<<<<<<<<< + * should_stop, frame = result + * except: + */ + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1180, __pyx_L9_error) + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1229 - * # (i.e.: double-stop at the same place due to some filtering). - * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): - * stop = False # <<<<<<<<<<<<<< - * else: - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1181 + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + * if result: + * should_stop, frame = result # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() */ - __pyx_v_stop = 0; + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1181, __pyx_L9_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1181, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1181, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); + index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L17_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1181, __pyx_L9_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L18_unpacking_done; + __pyx_L17_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1181, __pyx_L9_error) + __pyx_L18_unpacking_done:; + } + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1181, __pyx_L9_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_should_stop = __pyx_t_1; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_2); + __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1228 - * # Prevent stopping in a return to the same location we were initially - * # (i.e.: double-stop at the same place due to some filtering). - * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< - * stop = False - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1180 + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + * if result: # <<<<<<<<<<<<<< + * should_stop, frame = result + * except: */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1225 - * if force_check_project_scope or py_db.is_files_filter_enabled: - * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) - * if stop: # <<<<<<<<<<<<<< - * # Prevent stopping in a return to the same location we were initially - * # (i.e.: double-stop at the same place due to some filtering). + /* "_pydevd_bundle/pydevd_cython.pyx":1178 + * exception_breakpoint = None + * try: + * if py_db.plugin is not None: # <<<<<<<<<<<<<< + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + * if result: */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1223 - * stop = False - * else: - * if force_check_project_scope or py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< - * stop = not py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) - * if stop: + /* "_pydevd_bundle/pydevd_cython.pyx":1177 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) */ - goto __pyx_L204; - } + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L14_try_end; + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1231 - * stop = False - * else: - * stop = True # <<<<<<<<<<<<<< - * else: - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1182 + * if result: + * should_stop, frame = result + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * */ - /*else*/ { - __pyx_v_stop = 1; - } - __pyx_L204:; - } - __pyx_L203:; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 1182, __pyx_L11_except_error) + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_3); - /* "_pydevd_bundle/pydevd_cython.pyx":1219 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1183 + * should_stop, frame = result + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< * - * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False + * if not should_stop: */ - goto __pyx_L182; + __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1183, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL}; + __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1183, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L10_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1233 - * stop = True - * else: - * stop = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1177 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if py_db.plugin is not None: + * result = py_db.plugin.exception_break(py_db, frame, thread, arg) + */ + __pyx_L11_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L10_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L14_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1185 + * pydev_log.exception() * - * if stop: + * if not should_stop: # <<<<<<<<<<<<<< + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and py_db.ignore_system_exit_code(value): */ - /*else*/ { - __pyx_v_stop = 0; + __pyx_t_1 = (!__pyx_v_should_stop); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1187 + * if not should_stop: + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and py_db.ignore_system_exit_code(value): # <<<<<<<<<<<<<< + * pass + * + */ + __pyx_t_3 = PyObject_RichCompare(__pyx_v_exception, __pyx_builtin_SystemExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1187, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L23_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_ignore_system_exit_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; } - __pyx_L182:; + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_value}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __pyx_t_7; + __pyx_L23_bool_binop_done:; + if (__pyx_t_1) { + goto __pyx_L22; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1235 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1190 + * pass * - * if stop: # <<<<<<<<<<<<<< - * if step_cmd == 206: - * # i.e.: Check if we're stepping into the proper context. + * elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): # <<<<<<<<<<<<<< + * # These exceptions are control-flow related (they work as a generator + * # pause), so, we shouldn't stop on them. */ - if (__pyx_v_stop) { + __Pyx_INCREF(__pyx_v_exception); + __pyx_t_3 = __pyx_v_exception; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_builtin_GeneratorExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1190, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1190, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L25_bool_binop_done; + } + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_builtin_StopIteration, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1190, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1190, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L25_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_StopAsyncIteration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1190, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1190, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1190, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = __pyx_t_7; + __pyx_L25_bool_binop_done:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = __pyx_t_1; + if (__pyx_t_7) { + goto __pyx_L22; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1236 + /* "_pydevd_bundle/pydevd_cython.pyx":1195 + * pass + * + * elif ignore_exception_trace(trace): # <<<<<<<<<<<<<< + * pass * - * if stop: - * if step_cmd == 206: # <<<<<<<<<<<<<< - * # i.e.: Check if we're stepping into the proper context. - * f = frame */ - __pyx_t_11 = (__pyx_v_step_cmd == 0xCE); - if (__pyx_t_11) { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ignore_exception_trace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_trace}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1195, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_7) { + goto __pyx_L22; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1238 - * if step_cmd == 206: - * # i.e.: Check if we're stepping into the proper context. - * f = frame # <<<<<<<<<<<<<< - * while f is not None: - * if self._is_same_frame(stop_frame, f): + /* "_pydevd_bundle/pydevd_cython.pyx":1199 + * + * else: + * was_just_raised = trace.tb_next is None # <<<<<<<<<<<<<< + * + * # It was not handled by any plugin, lets check exception breakpoints. */ - __Pyx_INCREF(__pyx_v_frame); - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = (__pyx_t_3 == Py_None); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_was_just_raised = __pyx_t_7; - /* "_pydevd_bundle/pydevd_cython.pyx":1239 - * # i.e.: Check if we're stepping into the proper context. - * f = frame - * while f is not None: # <<<<<<<<<<<<<< - * if self._is_same_frame(stop_frame, f): - * break + /* "_pydevd_bundle/pydevd_cython.pyx":1202 + * + * # It was not handled by any plugin, lets check exception breakpoints. + * check_excs = [] # <<<<<<<<<<<<<< + * + * # Note: check user unhandled before regular exceptions. */ - while (1) { - __pyx_t_11 = (__pyx_v_f != Py_None); - if (!__pyx_t_11) break; + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1202, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_check_excs = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1240 - * f = frame - * while f is not None: - * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< - * break - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1205 + * + * # Note: check user unhandled before regular exceptions. + * exc_break_user = py_db.get_exception_breakpoint( # <<<<<<<<<<<<<< + * exception, py_db.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: */ - __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1240, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1240, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_11) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); - /* "_pydevd_bundle/pydevd_cython.pyx":1241 - * while f is not None: - * if self._is_same_frame(stop_frame, f): - * break # <<<<<<<<<<<<<< - * f = f.f_back - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1206 + * # Note: check user unhandled before regular exceptions. + * exc_break_user = py_db.get_exception_breakpoint( + * exception, py_db.break_on_user_uncaught_exceptions) # <<<<<<<<<<<<<< + * if exc_break_user is not None: + * check_excs.append((exc_break_user, True)) */ - goto __pyx_L212_break; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_exception, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_v_exc_break_user = __pyx_t_3; + __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1240 - * f = frame - * while f is not None: - * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< - * break - * f = f.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1207 + * exc_break_user = py_db.get_exception_breakpoint( + * exception, py_db.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_user, True)) + * */ - } + __pyx_t_7 = (__pyx_v_exc_break_user != Py_None); + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1242 - * if self._is_same_frame(stop_frame, f): - * break - * f = f.f_back # <<<<<<<<<<<<<< - * else: - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1208 + * exception, py_db.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: + * check_excs.append((exc_break_user, True)) # <<<<<<<<<<<<<< + * + * exc_break_caught = py_db.get_exception_breakpoint( */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1242, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_7); - __pyx_t_7 = 0; - } + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1208, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_exc_break_user); + __Pyx_GIVEREF(__pyx_v_exc_break_user); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_exc_break_user)) __PYX_ERR(0, 1208, __pyx_L1_error); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_True)) __PYX_ERR(0, 1208, __pyx_L1_error); + __pyx_t_14 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_3); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 1208, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1244 - * f = f.f_back - * else: - * stop = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1207 + * exc_break_user = py_db.get_exception_breakpoint( + * exception, py_db.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_user, True)) * - * if plugin_manager is not None: */ - /*else*/ { - __pyx_v_stop = 0; - } - __pyx_L212_break:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1236 + /* "_pydevd_bundle/pydevd_cython.pyx":1210 + * check_excs.append((exc_break_user, True)) * - * if stop: - * if step_cmd == 206: # <<<<<<<<<<<<<< - * # i.e.: Check if we're stepping into the proper context. - * f = frame + * exc_break_caught = py_db.get_exception_breakpoint( # <<<<<<<<<<<<<< + * exception, py_db.break_on_caught_exceptions) + * if exc_break_caught is not None: */ - } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); - /* "_pydevd_bundle/pydevd_cython.pyx":1235 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1211 * - * if stop: # <<<<<<<<<<<<<< - * if step_cmd == 206: - * # i.e.: Check if we're stepping into the proper context. + * exc_break_caught = py_db.get_exception_breakpoint( + * exception, py_db.break_on_caught_exceptions) # <<<<<<<<<<<<<< + * if exc_break_caught is not None: + * check_excs.append((exc_break_caught, False)) */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1211, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_exception, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } + __pyx_v_exc_break_caught = __pyx_t_3; + __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1246 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1212 + * exc_break_caught = py_db.get_exception_breakpoint( + * exception, py_db.break_on_caught_exceptions) + * if exc_break_caught is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_caught, False)) * - * if plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) - * if result: */ - __pyx_t_11 = (__pyx_v_plugin_manager != Py_None); - if (__pyx_t_11) { + __pyx_t_7 = (__pyx_v_exc_break_caught != Py_None); + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1247 + /* "_pydevd_bundle/pydevd_cython.pyx":1213 + * exception, py_db.break_on_caught_exceptions) + * if exc_break_caught is not None: + * check_excs.append((exc_break_caught, False)) # <<<<<<<<<<<<<< * - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< - * if result: - * stop, plugin_stop = result + * for exc_break, is_user_uncaught in check_excs: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_into); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1247, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1247, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[7] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_6}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 6+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1247, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_7); - __pyx_t_7 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1213, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_exc_break_caught); + __Pyx_GIVEREF(__pyx_v_exc_break_caught); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_exc_break_caught)) __PYX_ERR(0, 1213, __pyx_L1_error); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_False)) __PYX_ERR(0, 1213, __pyx_L1_error); + __pyx_t_14 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_3); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 1213, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1248 - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) - * if result: # <<<<<<<<<<<<<< - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1212 + * exc_break_caught = py_db.get_exception_breakpoint( + * exception, py_db.break_on_caught_exceptions) + * if exc_break_caught is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_caught, False)) * */ - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1248, __pyx_L172_error) - if (__pyx_t_11) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1249 - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) - * if result: - * stop, plugin_stop = result # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1215 + * check_excs.append((exc_break_caught, False)) * - * elif step_cmd in (108, 159): + * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True */ - if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { - PyObject* sequence = __pyx_v_result; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1249, __pyx_L172_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_7 = PyList_GET_ITEM(sequence, 0); - __pyx_t_8 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - #else - __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1249, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1249, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - #endif + __pyx_t_3 = __pyx_v_check_excs; __Pyx_INCREF(__pyx_t_3); + __pyx_t_15 = 0; + for (;;) { + { + Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); + #if !CYTHON_ASSUME_SAFE_MACROS + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1215, __pyx_L1_error) + #endif + if (__pyx_t_15 >= __pyx_temp) break; + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely((0 < 0))) __PYX_ERR(0, 1215, __pyx_L1_error) + #else + __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1215, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { - Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1249, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); - index = 0; __pyx_t_7 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_7)) goto __pyx_L216_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - index = 1; __pyx_t_8 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_8)) goto __pyx_L216_unpacking_failed; - __Pyx_GOTREF(__pyx_t_8); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_6), 2) < 0) __PYX_ERR(0, 1249, __pyx_L172_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L217_unpacking_done; - __pyx_L216_unpacking_failed:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1249, __pyx_L172_error) - __pyx_L217_unpacking_done:; + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1249, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_v_stop = __pyx_t_11; - __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_8); - __pyx_t_8 = 0; + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_13 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_13); + index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_13); if (unlikely(!__pyx_t_4)) goto __pyx_L32_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_5 = __pyx_t_6(__pyx_t_13); if (unlikely(!__pyx_t_5)) goto __pyx_L32_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_13), 2) < 0) __PYX_ERR(0, 1215, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L33_unpacking_done; + __pyx_L32_unpacking_failed:; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1215, __pyx_L1_error) + __pyx_L33_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_exc_break, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_XDECREF_SET(__pyx_v_is_user_uncaught, __pyx_t_5); + __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1248 - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) - * if result: # <<<<<<<<<<<<<< - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1217 + * for exc_break, is_user_uncaught in check_excs: + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True # <<<<<<<<<<<<<< * + * if py_db.exclude_exception_by_filter(exc_break, trace): */ - } + __pyx_v_should_stop = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1246 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1219 + * should_stop = True * - * if plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.cmd_step_into(py_db, frame, event, self._args, stop_info, stop) - * if result: + * if py_db.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False */ - } + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_exclude_exception_by_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_exc_break, __pyx_v_trace}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1219, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1182 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1220 + * + * if py_db.exclude_exception_by_filter(exc_break, trace): + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) # <<<<<<<<<<<<<< + * should_stop = False * - * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< - * force_check_project_scope = step_cmd == 144 - * if is_line: */ - goto __pyx_L181; - } + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_exception)) __PYX_ERR(0, 1220, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_13); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_12); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_12)) __PYX_ERR(0, 1220, __pyx_L1_error); + __pyx_t_13 = 0; + __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_Ignore_exception_s_in_library_s, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_12}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1251 - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1221 + * if py_db.exclude_exception_by_filter(exc_break, trace): + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False # <<<<<<<<<<<<<< * - * elif step_cmd in (108, 159): # <<<<<<<<<<<<<< - * # Note: when dealing with a step over my code it's the same as a step over (the - * # difference is that when we return from a frame in one we go to regular step + * elif exc_break.condition is not None and \ */ - switch (__pyx_v_step_cmd) { - case 0x6C: - case 0x9F: - __pyx_t_11 = 1; - break; - default: - __pyx_t_11 = 0; - break; - } - __pyx_t_9 = __pyx_t_11; - if (__pyx_t_9) { + __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1255 - * # difference is that when we return from a frame in one we go to regular step - * # into and in the other we go to a step into my code). - * stop = self._is_same_frame(stop_frame, frame) and is_line # <<<<<<<<<<<<<< - * # Note: don't stop on a return for step over, only for line events - * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + /* "_pydevd_bundle/pydevd_cython.pyx":1219 + * should_stop = True + * + * if py_db.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False */ - __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1255, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1255, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L218_bool_binop_done; - } - __pyx_t_9 = __pyx_v_is_line; - __pyx_L218_bool_binop_done:; - __pyx_v_stop = __pyx_t_9; + goto __pyx_L34; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1259 - * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + /* "_pydevd_bundle/pydevd_cython.pyx":1223 + * should_stop = False * - * if plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) - * if result: + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not py_db.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False */ - __pyx_t_9 = (__pyx_v_plugin_manager != Py_None); - if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_condition); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = (__pyx_t_2 != Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_7 = __pyx_t_1; + goto __pyx_L35_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1260 + /* "_pydevd_bundle/pydevd_cython.pyx":1224 + * + * elif exc_break.condition is not None and \ + * not py_db.handle_breakpoint_condition(info, exc_break, frame): # <<<<<<<<<<<<<< + * should_stop = False * - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< - * if result: - * stop, plugin_stop = result */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_over); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1260, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1260, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1224, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = NULL; + __pyx_t_11 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_1); + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_10 = 1; + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; } } #endif { - PyObject *__pyx_callargs[7] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_6}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 6+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1260, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + PyObject *__pyx_callargs[4] = {__pyx_t_12, ((PyObject *)__pyx_v_info), __pyx_v_exc_break, __pyx_v_frame}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1224, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } - __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8); - __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1224, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = (!__pyx_t_1); + __pyx_t_7 = __pyx_t_16; + __pyx_L35_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":1261 - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) - * if result: # <<<<<<<<<<<<<< - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1223 + * should_stop = False * + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not py_db.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False */ - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1261, __pyx_L172_error) - if (__pyx_t_9) { + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1262 - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) - * if result: - * stop, plugin_stop = result # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1225 + * elif exc_break.condition is not None and \ + * not py_db.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False # <<<<<<<<<<<<<< * - * elif step_cmd == 128: + * elif is_user_uncaught: */ - if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { - PyObject* sequence = __pyx_v_result; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1262, __pyx_L172_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_8 = PyList_GET_ITEM(sequence, 0); - __pyx_t_7 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - #else - __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1262, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1262, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - } else { - Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1262, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); - index = 0; __pyx_t_8 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_8)) goto __pyx_L222_unpacking_failed; - __Pyx_GOTREF(__pyx_t_8); - index = 1; __pyx_t_7 = __pyx_t_14(__pyx_t_6); if (unlikely(!__pyx_t_7)) goto __pyx_L222_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_6), 2) < 0) __PYX_ERR(0, 1262, __pyx_L172_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L223_unpacking_done; - __pyx_L222_unpacking_failed:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1262, __pyx_L172_error) - __pyx_L223_unpacking_done:; - } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1262, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_v_stop = __pyx_t_9; - __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_7); - __pyx_t_7 = 0; + __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1261 - * if plugin_manager is not None: - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) - * if result: # <<<<<<<<<<<<<< - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1223 + * should_stop = False * + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not py_db.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False */ + goto __pyx_L34; } - /* "_pydevd_bundle/pydevd_cython.pyx":1259 - * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + /* "_pydevd_bundle/pydevd_cython.pyx":1227 + * should_stop = False * - * if plugin_manager is not None: # <<<<<<<<<<<<<< - * result = plugin_manager.cmd_step_over(py_db, frame, event, self._args, stop_info, stop) - * if result: + * elif is_user_uncaught: # <<<<<<<<<<<<<< + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False */ - } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_is_user_uncaught); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1227, __pyx_L1_error) + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1251 - * stop, plugin_stop = result - * - * elif step_cmd in (108, 159): # <<<<<<<<<<<<<< - * # Note: when dealing with a step over my code it's the same as a step over (the - * # difference is that when we return from a frame in one we go to regular step + /* "_pydevd_bundle/pydevd_cython.pyx":1229 + * elif is_user_uncaught: + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False # <<<<<<<<<<<<<< + * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): */ - goto __pyx_L181; - } + __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1264 - * stop, plugin_stop = result - * - * elif step_cmd == 128: # <<<<<<<<<<<<<< - * stop = False - * back = frame.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1230 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code */ - __pyx_t_9 = (__pyx_v_step_cmd == 0x80); - if (__pyx_t_9) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_v_frame, __pyx_t_5, Py_True}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 1230, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = (!__pyx_t_16); + if (__pyx_t_1) { + } else { + __pyx_t_7 = __pyx_t_1; + goto __pyx_L38_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1265 - * - * elif step_cmd == 128: - * stop = False # <<<<<<<<<<<<<< - * back = frame.f_back - * if self._is_same_frame(stop_frame, frame) and is_return: + /* "_pydevd_bundle/pydevd_cython.pyx":1231 + * should_stop = False + * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): # <<<<<<<<<<<<<< + * # User uncaught means that we're currently in user code but the code + * # up the stack is library code. + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = (__pyx_t_2 == Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_1) { + } else { + __pyx_t_7 = __pyx_t_1; + goto __pyx_L38_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_f_code); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_13, __pyx_t_5, __pyx_t_12, Py_True}; + __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1231, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_7 = __pyx_t_1; + __pyx_L38_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1230 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code */ - __pyx_v_stop = 0; + if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1266 - * elif step_cmd == 128: - * stop = False - * back = frame.f_back # <<<<<<<<<<<<<< - * if self._is_same_frame(stop_frame, frame) and is_return: - * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + /* "_pydevd_bundle/pydevd_cython.pyx":1234 + * # User uncaught means that we're currently in user code but the code + * # up the stack is library code. + * exc_info = prev_exc_info # <<<<<<<<<<<<<< + * if not exc_info: + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + */ + __Pyx_INCREF(__pyx_v_prev_exc_info); + __Pyx_XDECREF_SET(__pyx_v_exc_info, __pyx_v_prev_exc_info); + + /* "_pydevd_bundle/pydevd_cython.pyx":1235 + * # up the stack is library code. + * exc_info = prev_exc_info + * if not exc_info: # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1266, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_v_back = __pyx_t_7; - __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1235, __pyx_L1_error) + __pyx_t_1 = (!__pyx_t_7); + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1267 - * stop = False - * back = frame.f_back - * if self._is_same_frame(stop_frame, frame) and is_return: # <<<<<<<<<<<<<< - * # We're exiting the smart step into initial frame (so, we probably didn't find our target). - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1236 + * exc_info = prev_exc_info + * if not exc_info: + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) # <<<<<<<<<<<<<< + * else: + * lines = exc_info[2] */ - __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1267, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1267, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L225_bool_binop_done; - } - __pyx_t_9 = __pyx_v_is_return; - __pyx_L225_bool_binop_done:; - if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = PySet_New(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + if (PySet_Add(__pyx_t_12, __pyx_t_4) < 0) __PYX_ERR(0, 1236, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_arg)) __PYX_ERR(0, 1236, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_2); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_12); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_12)) __PYX_ERR(0, 1236, __pyx_L1_error); + __pyx_t_2 = 0; + __pyx_t_12 = 0; + __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_4); + __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1269 - * if self._is_same_frame(stop_frame, frame) and is_return: - * # We're exiting the smart step into initial frame (so, we probably didn't find our target). - * stop = True # <<<<<<<<<<<<<< - * - * elif self._is_same_frame(stop_frame, back) and is_line: + /* "_pydevd_bundle/pydevd_cython.pyx":1235 + * # up the stack is library code. + * exc_info = prev_exc_info + * if not exc_info: # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: */ - __pyx_v_stop = 1; + goto __pyx_L41; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1267 - * stop = False - * back = frame.f_back - * if self._is_same_frame(stop_frame, frame) and is_return: # <<<<<<<<<<<<<< - * # We're exiting the smart step into initial frame (so, we probably didn't find our target). - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1238 + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: + * lines = exc_info[2] # <<<<<<<<<<<<<< + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) */ - goto __pyx_L224; - } + /*else*/ { + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_lines, __pyx_t_4); + __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1271 - * stop = True - * - * elif self._is_same_frame(stop_frame, back) and is_line: # <<<<<<<<<<<<<< - * if info.pydev_smart_child_offset != -1: - * # i.e.: in this case, we're not interested in the pause in the parent, rather + /* "_pydevd_bundle/pydevd_cython.pyx":1239 + * else: + * lines = exc_info[2] + * lines.add(frame.f_lineno) # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, lines) + * return_exc_info = exc_info */ - __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1271, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1271, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_11) { - } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L227_bool_binop_done; - } - __pyx_t_9 = __pyx_v_is_line; - __pyx_L227_bool_binop_done:; - if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1239, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1272 - * - * elif self._is_same_frame(stop_frame, back) and is_line: - * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< - * # i.e.: in this case, we're not interested in the pause in the parent, rather - * # we're interested in the pause in the child (when the parent is at the proper place). + /* "_pydevd_bundle/pydevd_cython.pyx":1240 + * lines = exc_info[2] + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) # <<<<<<<<<<<<<< + * return_exc_info = exc_info + * else: */ - __pyx_t_9 = (__pyx_v_info->pydev_smart_child_offset != -1L); - if (__pyx_t_9) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_arg)) __PYX_ERR(0, 1240, __pyx_L1_error); + __Pyx_GIVEREF(__pyx_t_4); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_4)) __PYX_ERR(0, 1240, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_v_lines)) __PYX_ERR(0, 1240, __pyx_L1_error); + __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_12); + __pyx_t_12 = 0; + } + __pyx_L41:; - /* "_pydevd_bundle/pydevd_cython.pyx":1275 - * # i.e.: in this case, we're not interested in the pause in the parent, rather - * # we're interested in the pause in the child (when the parent is at the proper place). - * stop = False # <<<<<<<<<<<<<< - * + /* "_pydevd_bundle/pydevd_cython.pyx":1241 + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) + * return_exc_info = exc_info # <<<<<<<<<<<<<< * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. */ - __pyx_v_stop = 0; + __Pyx_INCREF(__pyx_v_exc_info); + __Pyx_DECREF_SET(__pyx_v_return_exc_info, __pyx_v_exc_info); - /* "_pydevd_bundle/pydevd_cython.pyx":1272 + /* "_pydevd_bundle/pydevd_cython.pyx":1230 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1227 + * should_stop = False * - * elif self._is_same_frame(stop_frame, back) and is_line: - * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< - * # i.e.: in this case, we're not interested in the pause in the parent, rather - * # we're interested in the pause in the child (when the parent is at the proper place). + * elif is_user_uncaught: # <<<<<<<<<<<<<< + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False */ - goto __pyx_L229; + goto __pyx_L34; } - /* "_pydevd_bundle/pydevd_cython.pyx":1278 - * + /* "_pydevd_bundle/pydevd_cython.pyx":1244 * else: - * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< - * - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we */ /*else*/ { - __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; - __pyx_v_pydev_smart_parent_offset = __pyx_t_10; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1244, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1244, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L43_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1280 - * pydev_smart_parent_offset = info.pydev_smart_parent_offset - * - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: - * # Preferred mode (when the smart step into variants are available + /* "_pydevd_bundle/pydevd_cython.pyx":1245 + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. */ - __pyx_t_7 = __pyx_v_info->pydev_smart_step_into_variants; - __Pyx_INCREF(__pyx_t_7); - __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_7); - __pyx_t_7 = 0; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1244, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); - /* "_pydevd_bundle/pydevd_cython.pyx":1281 - * - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< - * # Preferred mode (when the smart step into variants are available - * # and the offset is set). + /* "_pydevd_bundle/pydevd_cython.pyx":1244 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we */ - __pyx_t_11 = (__pyx_v_pydev_smart_parent_offset >= 0); - if (__pyx_t_11) { + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1244, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_7) { } else { - __pyx_t_9 = __pyx_t_11; - goto __pyx_L231_bool_binop_done; + __pyx_t_1 = __pyx_t_7; + goto __pyx_L43_bool_binop_done; } - __pyx_t_11 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); - __pyx_t_9 = __pyx_t_11; - __pyx_L231_bool_binop_done:; - if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1284 - * # Preferred mode (when the smart step into variants are available - * # and the offset is set). - * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ # <<<<<<<<<<<<<< - * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) - * + /* "_pydevd_bundle/pydevd_cython.pyx":1245 + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. */ - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1284, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1284, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_6, __pyx_v_pydev_smart_step_into_variants}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1284, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_7 = (!__pyx_v_was_just_raised); + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L43_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_just_raised); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2}; + __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1245, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_16 = (!__pyx_t_7); + __pyx_t_1 = __pyx_t_16; + __pyx_L43_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":1285 - * # and the offset is set). - * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ - * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< - * - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1244 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1285, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1285, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_pydev_smart_step_into_variants}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1285, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_9 = (__pyx_t_7 == __pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_v_stop = __pyx_t_9; + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1281 + /* "_pydevd_bundle/pydevd_cython.pyx":1248 + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception # <<<<<<<<<<<<<< * - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< - * # Preferred mode (when the smart step into variants are available - * # and the offset is set). + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ */ - goto __pyx_L230; + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1244 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we + */ + goto __pyx_L42; } - /* "_pydevd_bundle/pydevd_cython.pyx":1289 - * else: - * # Only the name/line is available, so, check that. - * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception * - * # global context is set with an empty name + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised */ - /*else*/ { - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1289, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1289, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (!(likely(PyString_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_7))) __PYX_ERR(0, 1289, __pyx_L172_error) - __Pyx_XDECREF_SET(__pyx_v_curr_func_name, ((PyObject*)__pyx_t_7)); - __pyx_t_7 = 0; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_16) { + } else { + __pyx_t_1 = __pyx_t_16; + goto __pyx_L47_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1292 + /* "_pydevd_bundle/pydevd_cython.pyx":1251 + * + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: # <<<<<<<<<<<<<< + * should_stop = False # I.e.: we stop only when it was just raised * - * # global context is set with an empty name - * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< - * curr_func_name = '' - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: */ - __Pyx_INCREF(__pyx_v_curr_func_name); - __pyx_t_21 = __pyx_v_curr_func_name; - __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1292, __pyx_L172_error) - if (!__pyx_t_15) { - } else { - __pyx_t_11 = __pyx_t_15; - goto __pyx_L236_bool_binop_done; - } - __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1292, __pyx_L172_error) - __pyx_t_11 = __pyx_t_15; - __pyx_L236_bool_binop_done:; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_15 = __pyx_t_11; - if (!__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L234_bool_binop_done; - } - __pyx_t_15 = (__pyx_v_curr_func_name == ((PyObject*)Py_None)); - __pyx_t_9 = __pyx_t_15; - __pyx_L234_bool_binop_done:; - if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); - /* "_pydevd_bundle/pydevd_cython.pyx":1293 - * # global context is set with an empty name - * if curr_func_name in ('?', '') or curr_func_name is None: - * curr_func_name = '' # <<<<<<<<<<<<<< - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + * + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised */ - __Pyx_INCREF(__pyx_kp_s_); - __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_7 = (!__pyx_t_16); + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L47_bool_binop_done; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1292 + /* "_pydevd_bundle/pydevd_cython.pyx":1251 + * + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: # <<<<<<<<<<<<<< + * should_stop = False # I.e.: we stop only when it was just raised * - * # global context is set with an empty name - * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< - * curr_func_name = '' - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: */ - } + __pyx_t_7 = (!__pyx_v_was_just_raised); + __pyx_t_1 = __pyx_t_7; + __pyx_L47_bool_binop_done:; - /* "_pydevd_bundle/pydevd_cython.pyx":1294 - * if curr_func_name in ('?', '') or curr_func_name is None: - * curr_func_name = '' - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception * + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised */ - __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_curr_func_name, __pyx_v_info->pydev_func_name, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1294, __pyx_L172_error) - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L239_bool_binop_done; - } - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_stop_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1294, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_next_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1294, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_7, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1294, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1294, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L239_bool_binop_done:; - if (__pyx_t_9) { + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1295 - * curr_func_name = '' - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: - * stop = True # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1252 + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised # <<<<<<<<<<<<<< * - * if not stop: + * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: */ - __pyx_v_stop = 1; + __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1294 - * if curr_func_name in ('?', '') or curr_func_name is None: - * curr_func_name = '' - * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception * + * elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised */ - } + goto __pyx_L42; } - __pyx_L230:; - } - __pyx_L229:; - /* "_pydevd_bundle/pydevd_cython.pyx":1297 - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1254 + * should_stop = False # I.e.: we stop only when it was just raised * - * if not stop: # <<<<<<<<<<<<<< - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. + * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False */ - __pyx_t_9 = (!__pyx_v_stop); - if (__pyx_t_9) { + if (__pyx_v_was_just_raised) { + } else { + __pyx_t_1 = __pyx_v_was_just_raised; + goto __pyx_L50_bool_binop_done; + } + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_1 = __pyx_t_7; + __pyx_L50_bool_binop_done:; + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1300 - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1256 + * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False # <<<<<<<<<<<<<< * - * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: + * if should_stop: */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_6 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1300, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __pyx_t_8; - __pyx_t_8 = 0; - } - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L176_try_return; + __pyx_v_should_stop = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1297 - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1254 + * should_stop = False # I.e.: we stop only when it was just raised * - * if not stop: # <<<<<<<<<<<<<< - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. + * elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False */ + } + __pyx_L42:; } + __pyx_L34:; - /* "_pydevd_bundle/pydevd_cython.pyx":1271 - * stop = True + /* "_pydevd_bundle/pydevd_cython.pyx":1258 + * should_stop = False * - * elif self._is_same_frame(stop_frame, back) and is_line: # <<<<<<<<<<<<<< - * if info.pydev_smart_child_offset != -1: - * # i.e.: in this case, we're not interested in the pause in the parent, rather + * if should_stop: # <<<<<<<<<<<<<< + * exception_breakpoint = exc_break + * try: */ - goto __pyx_L224; - } + if (__pyx_v_should_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":1302 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1259 * - * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< - * # Ok, we have to track 2 stops at this point, the parent and the child offset. - * # This happens when handling a step into which targets a function inside a list comprehension + * if should_stop: + * exception_breakpoint = exc_break # <<<<<<<<<<<<<< + * try: + * info.pydev_message = exc_break.qname */ - __pyx_t_15 = (__pyx_v_back != Py_None); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L242_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1302, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1302, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1302, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L242_bool_binop_done; - } - __pyx_t_9 = __pyx_v_is_line; - __pyx_L242_bool_binop_done:; - if (__pyx_t_9) { + __Pyx_INCREF(__pyx_v_exc_break); + __Pyx_DECREF_SET(__pyx_v_exception_breakpoint, __pyx_v_exc_break); - /* "_pydevd_bundle/pydevd_cython.pyx":1306 - * # This happens when handling a step into which targets a function inside a list comprehension - * # or generator (in which case an intermediary frame is created due to an internal function call). - * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< - * pydev_smart_child_offset = info.pydev_smart_child_offset - * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + /* "_pydevd_bundle/pydevd_cython.pyx":1260 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: */ - __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; - __pyx_v_pydev_smart_parent_offset = __pyx_t_10; + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1307 - * # or generator (in which case an intermediary frame is created due to an internal function call). - * pydev_smart_parent_offset = info.pydev_smart_parent_offset - * pydev_smart_child_offset = info.pydev_smart_child_offset # <<<<<<<<<<<<<< - * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) - * # print('parent f_lasti', back.f_back.f_lasti) + /* "_pydevd_bundle/pydevd_cython.pyx":1261 + * exception_breakpoint = exc_break + * try: + * info.pydev_message = exc_break.qname # <<<<<<<<<<<<<< + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') */ - __pyx_t_10 = __pyx_v_info->pydev_smart_child_offset; - __pyx_v_pydev_smart_child_offset = __pyx_t_10; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1261, __pyx_L53_error) + __Pyx_GOTREF(__pyx_t_12); + if (!(likely(PyString_CheckExact(__pyx_t_12))||((__pyx_t_12) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_12))) __PYX_ERR(0, 1261, __pyx_L53_error) + __Pyx_GIVEREF(__pyx_t_12); + __Pyx_GOTREF(__pyx_v_info->pydev_message); + __Pyx_DECREF(__pyx_v_info->pydev_message); + __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_12); + __pyx_t_12 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1311 - * # print('parent f_lasti', back.f_back.f_lasti) - * # print('child f_lasti', back.f_lasti) - * stop = False # <<<<<<<<<<<<<< - * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + /* "_pydevd_bundle/pydevd_cython.pyx":1260 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: */ - __pyx_v_stop = 0; + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L60_try_end; + __pyx_L53_error:; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1312 - * # print('child f_lasti', back.f_lasti) - * stop = False - * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants - * + /* "_pydevd_bundle/pydevd_cython.pyx":1262 + * try: + * info.pydev_message = exc_break.qname + * except: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname.encode('utf-8') + * break */ - __pyx_t_15 = (__pyx_v_pydev_smart_child_offset >= 0); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L246_bool_binop_done; - } - __pyx_t_15 = (__pyx_v_pydev_smart_child_offset >= 0); - __pyx_t_9 = __pyx_t_15; - __pyx_L246_bool_binop_done:; - if (__pyx_t_9) { + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1262, __pyx_L55_except_error) + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); - /* "_pydevd_bundle/pydevd_cython.pyx":1313 - * stop = False - * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1263 + * info.pydev_message = exc_break.qname + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') # <<<<<<<<<<<<<< + * break * - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: */ - __pyx_t_8 = __pyx_v_info->pydev_smart_step_into_variants; - __Pyx_INCREF(__pyx_t_8); - __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_8); - __pyx_t_8 = 0; + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1263, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_encode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1263, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_kp_s_utf_8}; + __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1263, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + if (!(likely(PyString_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_5))) __PYX_ERR(0, 1263, __pyx_L55_except_error) + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_v_info->pydev_message); + __Pyx_DECREF(__pyx_v_info->pydev_message); + __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L54_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1315 - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants - * - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< - * # Note that we don't really check the parent offset, only the offset of - * # the child (because this is a generator, the parent may have moved forward + /* "_pydevd_bundle/pydevd_cython.pyx":1260 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: */ - __pyx_t_15 = (__pyx_v_pydev_smart_parent_offset >= 0); - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L249_bool_binop_done; + __pyx_L55_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L54_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_8); + __pyx_L60_try_end:; } - __pyx_t_15 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); - __pyx_t_9 = __pyx_t_15; - __pyx_L249_bool_binop_done:; - if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1320 - * # already -- and that's ok, so, we just check that the parent frame - * # matches in this case). - * smart_step_into_variant = get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< - * # print('matched parent offset', pydev_smart_parent_offset) - * # Ok, now, check the child variant + /* "_pydevd_bundle/pydevd_cython.pyx":1264 + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') + * break # <<<<<<<<<<<<<< + * + * if should_stop: */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1320, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1320, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1320, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_v_smart_step_into_variant = __pyx_t_8; - __pyx_t_8 = 0; + goto __pyx_L31_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1323 - * # print('matched parent offset', pydev_smart_parent_offset) - * # Ok, now, check the child variant - * children_variants = smart_step_into_variant.children_variants # <<<<<<<<<<<<<< - * stop = children_variants and ( - * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + /* "_pydevd_bundle/pydevd_cython.pyx":1258 + * should_stop = False + * + * if should_stop: # <<<<<<<<<<<<<< + * exception_breakpoint = exc_break + * try: */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_smart_step_into_variant, __pyx_n_s_children_variants); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1323, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_v_children_variants = __pyx_t_8; - __pyx_t_8 = 0; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1324 - * # Ok, now, check the child variant - * children_variants = smart_step_into_variant.children_variants - * stop = children_variants and ( # <<<<<<<<<<<<<< - * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ - * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + /* "_pydevd_bundle/pydevd_cython.pyx":1215 + * check_excs.append((exc_break_caught, False)) + * + * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True */ - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_children_variants); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1324, __pyx_L172_error) - if (__pyx_t_15) { - } else { - __pyx_t_9 = __pyx_t_15; - goto __pyx_L251_bool_binop_done; - } + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L63_for_end; + __pyx_L31_break:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L63_for_end; + __pyx_L63_for_end:; + } + __pyx_L22:; - /* "_pydevd_bundle/pydevd_cython.pyx":1325 - * children_variants = smart_step_into_variant.children_variants - * stop = children_variants and ( - * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ # <<<<<<<<<<<<<< - * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) - * ) + /* "_pydevd_bundle/pydevd_cython.pyx":1185 + * pydev_log.exception() + * + * if not should_stop: # <<<<<<<<<<<<<< + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and py_db.ignore_system_exit_code(value): */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1325, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1325, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_children_variants}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1325, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1326 - * stop = children_variants and ( - * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ - * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) # <<<<<<<<<<<<<< - * ) - * # print('stop at child', stop) + /* "_pydevd_bundle/pydevd_cython.pyx":1266 + * break + * + * if should_stop: # <<<<<<<<<<<<<< + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) */ - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1326, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_child_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1326, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_children_variants}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1326, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_t_15 = (__pyx_t_8 == __pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_9 = __pyx_t_15; - __pyx_L251_bool_binop_done:; - __pyx_v_stop = __pyx_t_9; + if (__pyx_v_should_stop) { - /* "_pydevd_bundle/pydevd_cython.pyx":1315 - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + /* "_pydevd_bundle/pydevd_cython.pyx":1268 + * if should_stop: + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) # <<<<<<<<<<<<<< + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_add_exception_to_frame); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_exception)) __PYX_ERR(0, 1268, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value)) __PYX_ERR(0, 1268, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_trace); + __Pyx_GIVEREF(__pyx_v_trace); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_trace)) __PYX_ERR(0, 1268, __pyx_L1_error); + __pyx_t_12 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_frame, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1270 + * add_exception_to_frame(frame, (exception, value, trace)) + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< + * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) * - * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< - * # Note that we don't really check the parent offset, only the offset of - * # the child (because this is a generator, the parent may have moved forward */ - } + __pyx_t_7 = (__pyx_v_exception_breakpoint != Py_None); + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L66_bool_binop_done; + } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1270, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = (__pyx_t_3 != Py_None); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __pyx_t_7; + __pyx_L66_bool_binop_done:; + if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1312 - * # print('child f_lasti', back.f_lasti) - * stop = False - * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< - * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + /* "_pydevd_bundle/pydevd_cython.pyx":1271 * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: + * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) # <<<<<<<<<<<<<< + * + * return should_stop, frame, return_exc_info */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + __pyx_t_11 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_11 = 1; } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_exception_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_frame}; + __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1330 - * # print('stop at child', stop) + /* "_pydevd_bundle/pydevd_cython.pyx":1270 + * add_exception_to_frame(frame, (exception, value, trace)) + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< + * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) * - * if not stop: # <<<<<<<<<<<<<< - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. */ - __pyx_t_9 = (!__pyx_v_stop); - if (__pyx_t_9) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1333 - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1266 + * break * - * elif step_cmd in (109, 160): + * if should_stop: # <<<<<<<<<<<<<< + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_6 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1333, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __pyx_t_8; - __pyx_t_8 = 0; - } - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L176_try_return; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1330 - * # print('stop at child', stop) + /* "_pydevd_bundle/pydevd_cython.pyx":1172 + * exception, value, trace = arg + * + * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< + * # on jython trace is None on the first event and it may not have a tb_next. * - * if not stop: # <<<<<<<<<<<<<< - * # In smart step into, if we didn't hit it in this frame once, that'll - * # not be the case next time either, so, disable tracing for this frame. */ - } + } - /* "_pydevd_bundle/pydevd_cython.pyx":1302 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1169 + * + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< + * exception, value, trace = arg * - * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< - * # Ok, we have to track 2 stops at this point, the parent and the child offset. - * # This happens when handling a step into which targets a function inside a list comprehension */ - } - __pyx_L224:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1264 - * stop, plugin_stop = result + /* "_pydevd_bundle/pydevd_cython.pyx":1273 + * py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) + * + * return should_stop, frame, return_exc_info # <<<<<<<<<<<<<< + * * - * elif step_cmd == 128: # <<<<<<<<<<<<<< - * stop = False - * back = frame.f_back */ - goto __pyx_L181; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_should_stop); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1273, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_frame)) __PYX_ERR(0, 1273, __pyx_L1_error); + __Pyx_INCREF(__pyx_v_return_exc_info); + __Pyx_GIVEREF(__pyx_v_return_exc_info); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_return_exc_info)) __PYX_ERR(0, 1273, __pyx_L1_error); + __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1335 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1157 * - * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< - * stop = is_return and self._is_same_frame(stop_frame, frame) + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef bint was_just_raised; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_check_excs); + __Pyx_XDECREF(__pyx_v_return_exc_info); + __Pyx_XDECREF(__pyx_v_exception); + __Pyx_XDECREF(__pyx_v_value); + __Pyx_XDECREF(__pyx_v_trace); + __Pyx_XDECREF(__pyx_v_exception_breakpoint); + __Pyx_XDECREF(__pyx_v_result); + __Pyx_XDECREF(__pyx_v_exc_break_user); + __Pyx_XDECREF(__pyx_v_exc_break_caught); + __Pyx_XDECREF(__pyx_v_exc_break); + __Pyx_XDECREF(__pyx_v_is_user_uncaught); + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1283 * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def handle_exception(py_db, thread, frame, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; */ - switch (__pyx_v_step_cmd) { - case 0x6D: - case 0xA0: - __pyx_t_9 = 1; - break; - default: - __pyx_t_9 = 0; - break; + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7handle_exception(PyObject *__pyx_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_7handle_exception = {"handle_exception", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_7handle_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7handle_exception(PyObject *__pyx_self, +#if CYTHON_METH_FASTCALL +PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds +#else +PyObject *__pyx_args, PyObject *__pyx_kwds +#endif +) { + PyObject *__pyx_v_py_db = 0; + PyObject *__pyx_v_thread = 0; + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_arg = 0; + PyObject *__pyx_v_exception_type = 0; + #if !CYTHON_METH_FASTCALL + CYTHON_UNUSED Py_ssize_t __pyx_nargs; + #endif + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject* values[5] = {0,0,0,0,0}; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("handle_exception (wrapper)", 0); + #if !CYTHON_METH_FASTCALL + #if CYTHON_ASSUME_SAFE_MACROS + __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); + #else + __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; + #endif + #endif + __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); + { + PyObject **__pyx_pyargnames[] = {&__pyx_n_s_py_db,&__pyx_n_s_thread,&__pyx_n_s_frame,&__pyx_n_s_arg,&__pyx_n_s_exception_type,0}; + if (__pyx_kwds) { + Py_ssize_t kw_args; + switch (__pyx_nargs) { + case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); + switch (__pyx_nargs) { + case 0: + if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_py_db)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); + kw_args--; } - __pyx_t_15 = __pyx_t_9; - if (__pyx_t_15) { + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L3_error) + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_thread)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("handle_exception", 1, 5, 5, 1); __PYX_ERR(0, 1283, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("handle_exception", 1, 5, 5, 2); __PYX_ERR(0, 1283, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[3]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("handle_exception", 1, 5, 5, 3); __PYX_ERR(0, 1283, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exception_type)) != 0)) { + (void)__Pyx_Arg_NewRef_FASTCALL(values[4]); + kw_args--; + } + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L3_error) + else { + __Pyx_RaiseArgtupleInvalid("handle_exception", 1, 5, 5, 4); __PYX_ERR(0, 1283, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t kwd_pos_args = __pyx_nargs; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "handle_exception") < 0)) __PYX_ERR(0, 1283, __pyx_L3_error) + } + } else if (unlikely(__pyx_nargs != 5)) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); + values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); + values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); + values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); + values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); + } + __pyx_v_py_db = values[0]; + __pyx_v_thread = values[1]; + __pyx_v_frame = values[2]; + __pyx_v_arg = values[3]; + __pyx_v_exception_type = ((PyObject*)values[4]); + } + goto __pyx_L6_skip; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("handle_exception", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 1283, __pyx_L3_error) + __pyx_L6_skip:; + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_exception_type), (&PyString_Type), 1, "exception_type", 1))) __PYX_ERR(0, 1283, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_6handle_exception(__pyx_self, __pyx_v_py_db, __pyx_v_thread, __pyx_v_frame, __pyx_v_arg, __pyx_v_exception_type); - /* "_pydevd_bundle/pydevd_cython.pyx":1336 - * - * elif step_cmd in (109, 160): - * stop = is_return and self._is_same_frame(stop_frame, frame) # <<<<<<<<<<<<<< - * - * else: + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + { + Py_ssize_t __pyx_temp; + for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { + __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + } + } + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6handle_exception(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_thread, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type) { + int __pyx_v_stopped; + PyObject *__pyx_v_abs_real_path_and_base = 0; + PyObject *__pyx_v_absolute_filename = 0; + PyObject *__pyx_v_canonical_normalized_filename = 0; + PyObject *__pyx_v_lines_ignored = 0; + PyObject *__pyx_v_frame_id_to_frame = 0; + PyObject *__pyx_v_merged = 0; + PyObject *__pyx_v_trace_obj = 0; + PyObject *__pyx_v_initial_trace_obj = NULL; + PyObject *__pyx_v_check_trace_obj = NULL; + PyObject *__pyx_v_curr_stat = NULL; + PyObject *__pyx_v_last_stat = NULL; + PyObject *__pyx_v_from_user_input = NULL; + PyObject *__pyx_v_exc_lineno = NULL; + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + char const *__pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + int __pyx_t_24; + char const *__pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("handle_exception", 0); + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_INCREF(__pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":1295 + * # def handle_exception(py_db, thread, frame, arg, exception_type): + * # ENDIF + * stopped = False # <<<<<<<<<<<<<< + * try: + * # print('handle_exception', frame.f_lineno, frame.f_code.co_name) */ - if (__pyx_v_is_return) { - } else { - __pyx_t_15 = __pyx_v_is_return; - goto __pyx_L254_bool_binop_done; - } - __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1336, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1336, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = __pyx_t_9; - __pyx_L254_bool_binop_done:; - __pyx_v_stop = __pyx_t_15; + __pyx_v_stopped = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1335 - * return None if is_call else NO_FTRACE - * - * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< - * stop = is_return and self._is_same_frame(stop_frame, frame) + /* "_pydevd_bundle/pydevd_cython.pyx":1296 + * # ENDIF + * stopped = False + * try: # <<<<<<<<<<<<<< + * # print('handle_exception', frame.f_lineno, frame.f_code.co_name) * */ - goto __pyx_L181; - } + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1339 + /* "_pydevd_bundle/pydevd_cython.pyx":1300 * - * else: - * stop = False # <<<<<<<<<<<<<< + * # We have 3 things in arg: exception type, description, traceback object + * trace_obj = arg[2] # <<<<<<<<<<<<<< * - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * initial_trace_obj = trace_obj */ - /*else*/ { - __pyx_v_stop = 0; - } - __pyx_L181:; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_arg, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1300, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_trace_obj = __pyx_t_1; + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1341 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1302 + * trace_obj = arg[2] * - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: + * initial_trace_obj = trace_obj # <<<<<<<<<<<<<< + * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). */ - if (__pyx_v_stop) { - } else { - __pyx_t_15 = __pyx_v_stop; - goto __pyx_L257_bool_binop_done; - } - __pyx_t_9 = (__pyx_v_step_cmd != -1L); - if (__pyx_t_9) { - } else { - __pyx_t_15 = __pyx_t_9; - goto __pyx_L257_bool_binop_done; - } - if (__pyx_v_is_return) { - } else { - __pyx_t_15 = __pyx_v_is_return; - goto __pyx_L257_bool_binop_done; - } - __pyx_t_9 = __Pyx_HasAttr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 1341, __pyx_L172_error) - __pyx_t_15 = __pyx_t_9; - __pyx_L257_bool_binop_done:; - if (__pyx_t_15) { + __Pyx_INCREF(__pyx_v_trace_obj); + __pyx_v_initial_trace_obj = __pyx_v_trace_obj; - /* "_pydevd_bundle/pydevd_cython.pyx":1342 + /* "_pydevd_bundle/pydevd_cython.pyx":1303 * - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): - * f_code = getattr(frame.f_back, 'f_code', None) # <<<<<<<<<<<<<< - * if f_code is not None: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: + * initial_trace_obj = trace_obj + * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: # <<<<<<<<<<<<<< + * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + * pass */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1342, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_GetAttr3(__pyx_t_6, __pyx_n_s_f_code, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1342, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_f_code = __pyx_t_8; - __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1303, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = (__pyx_t_1 == Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1303, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = (__pyx_t_1 == __pyx_v_frame); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = __pyx_t_3; + __pyx_L7_bool_binop_done:; + if (__pyx_t_2) { + goto __pyx_L6; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1343 - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: # <<<<<<<<<<<<<< - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1308 + * else: + * # Get the trace_obj from where the exception was raised... + * while trace_obj.tb_next is not None: # <<<<<<<<<<<<<< + * trace_obj = trace_obj.tb_next + * */ - __pyx_t_15 = (__pyx_v_f_code != Py_None); - if (__pyx_t_15) { + /*else*/ { + while (1) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__pyx_t_1 != Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!__pyx_t_2) break; - /* "_pydevd_bundle/pydevd_cython.pyx":1344 - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1309 + * # Get the trace_obj from where the exception was raised... + * while trace_obj.tb_next is not None: + * trace_obj = trace_obj.tb_next # <<<<<<<<<<<<<< * + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_8, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1344, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_15) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_trace_obj, __pyx_t_1); + __pyx_t_1 = 0; + } + } + __pyx_L6:; - /* "_pydevd_bundle/pydevd_cython.pyx":1345 - * if f_code is not None: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1311 + * trace_obj = trace_obj.tb_next * - * if plugin_stop: + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) */ - __pyx_v_stop = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_ignore_exceptions_thrown_in_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1311, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1311, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1344 - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: # <<<<<<<<<<<<<< - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1312 * + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] */ - } + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1312, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_initial_trace_obj); + __Pyx_GIVEREF(__pyx_v_initial_trace_obj); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_initial_trace_obj)) __PYX_ERR(0, 1312, __pyx_L4_error); + __Pyx_INCREF(__pyx_v_trace_obj); + __Pyx_GIVEREF(__pyx_v_trace_obj); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_trace_obj)) __PYX_ERR(0, 1312, __pyx_L4_error); + __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (__pyx_t_5 >= 2) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 1312, __pyx_L4_error) + #else + __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1312, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1343 - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: # <<<<<<<<<<<<<< - * if py_db.get_file_type(frame.f_back) == py_db.PYDEV_FILE: - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1313 + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) # <<<<<<<<<<<<<< + * absolute_filename = abs_real_path_and_base[0] + * canonical_normalized_filename = abs_real_path_and_base[1] */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1313, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1313, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_9 = 1; } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(0, 1313, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_abs_real_path_and_base, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1341 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1314 + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] # <<<<<<<<<<<<<< + * canonical_normalized_filename = abs_real_path_and_base[1] * - * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< - * f_code = getattr(frame.f_back, 'f_code', None) - * if f_code is not None: */ + if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1314, __pyx_L4_error) } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1314, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 1314, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_absolute_filename, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1347 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1315 + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] + * canonical_normalized_filename = abs_real_path_and_base[1] # <<<<<<<<<<<<<< * - * if plugin_stop: # <<<<<<<<<<<<<< - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) */ - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_plugin_stop); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1347, __pyx_L172_error) - if (__pyx_t_15) { + if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1315, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 1315, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_canonical_normalized_filename, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1348 + /* "_pydevd_bundle/pydevd_cython.pyx":1317 + * canonical_normalized_filename = abs_real_path_and_base[1] * - * if plugin_stop: - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) # <<<<<<<<<<<<<< - * elif stop: - * if is_line: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< + * if lines_ignored is None: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_stop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1348, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1348, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[8] = {__pyx_t_1, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_v_arg, __pyx_t_8}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 7+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1348, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1317, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1317, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_9 = 1; } - __pyx_v_stopped_on_plugin = __pyx_t_7; - __pyx_t_7 = 0; + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_canonical_normalized_filename}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1317, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_1))) __PYX_ERR(0, 1317, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_lines_ignored, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1347 - * stop = False + /* "_pydevd_bundle/pydevd_cython.pyx":1318 + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: # <<<<<<<<<<<<<< + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} * - * if plugin_stop: # <<<<<<<<<<<<<< - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: */ - goto __pyx_L263; - } + __pyx_t_2 = (__pyx_v_lines_ignored == ((PyObject*)Py_None)); + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1349 - * if plugin_stop: - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: # <<<<<<<<<<<<<< - * if is_line: - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1319 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} # <<<<<<<<<<<<<< + * + * try: */ - if (__pyx_v_stop) { + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1319, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_lines_ignored, __pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1319, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + if (unlikely((PyObject_SetItem(__pyx_t_7, __pyx_v_canonical_normalized_filename, __pyx_t_1) < 0))) __PYX_ERR(0, 1319, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1350 - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: - * if is_line: # <<<<<<<<<<<<<< - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, frame, event, arg) + /* "_pydevd_bundle/pydevd_cython.pyx":1318 + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: # <<<<<<<<<<<<<< + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * */ - if (__pyx_v_is_line) { + } - /* "_pydevd_bundle/pydevd_cython.pyx":1351 - * elif stop: - * if is_line: - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< - * self.do_wait_suspend(thread, frame, event, arg) - * elif is_return: # return event + /* "_pydevd_bundle/pydevd_cython.pyx":1321 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_thread)) __PYX_ERR(0, 1351, __pyx_L172_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(0, 1351, __pyx_L172_error); - __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_original_step_cmd, __pyx_t_1) < 0) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1352 - * if is_line: - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< - * elif is_return: # return event - * back = frame.f_back + /* "_pydevd_bundle/pydevd_cython.pyx":1322 + * + * try: + * curr_stat = os.stat(absolute_filename) # <<<<<<<<<<<<<< + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1352, __pyx_L172_error) + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_os); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1322, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_stat); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1322, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + __pyx_t_9 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; + __pyx_t_9 = 1; } } #endif { - PyObject *__pyx_callargs[5] = {__pyx_t_8, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1352, __pyx_L172_error) + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_absolute_filename}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1322, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1350 - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: - * if is_line: # <<<<<<<<<<<<<< - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, frame, event, arg) - */ - goto __pyx_L264; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1353 - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, frame, event, arg) - * elif is_return: # return event # <<<<<<<<<<<<<< - * back = frame.f_back - * if back is not None: - */ - if (__pyx_v_is_return) { + __Pyx_XDECREF_SET(__pyx_v_curr_stat, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1354 - * self.do_wait_suspend(thread, frame, event, arg) - * elif is_return: # return event - * back = frame.f_back # <<<<<<<<<<<<<< - * if back is not None: - * # When we get to the pydevd run function, the debugging has actually finished for the main thread + /* "_pydevd_bundle/pydevd_cython.pyx":1323 + * try: + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) # <<<<<<<<<<<<<< + * except: + * curr_stat = None */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1354, __pyx_L172_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1323, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_back, __pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_mtime); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1323, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1323, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_1); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1)) __PYX_ERR(0, 1323, __pyx_L15_error); + __Pyx_GIVEREF(__pyx_t_6); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(0, 1323, __pyx_L15_error); __pyx_t_1 = 0; + __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_curr_stat, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1355 - * elif is_return: # return event - * back = frame.f_back - * if back is not None: # <<<<<<<<<<<<<< - * # When we get to the pydevd run function, the debugging has actually finished for the main thread - * # (note that it can still go on for other threads, but for this one, we just make it finish) - */ - __pyx_t_15 = (__pyx_v_back != Py_None); - if (__pyx_t_15) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1359 - * # (note that it can still go on for other threads, but for this one, we just make it finish) - * # So, just setting it to None should be OK - * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) # <<<<<<<<<<<<<< - * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): - * back = None - */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_back}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 3)) { - if (size > 3) __Pyx_RaiseTooManyValuesError(3); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1359, __pyx_L172_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); - } else { - __pyx_t_6 = PyList_GET_ITEM(sequence, 0); - __pyx_t_8 = PyList_GET_ITEM(sequence, 1); - __pyx_t_7 = PyList_GET_ITEM(sequence, 2); - } - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - #else - __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1359, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); - index = 0; __pyx_t_6 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_6)) goto __pyx_L266_unpacking_failed; - __Pyx_GOTREF(__pyx_t_6); - index = 1; __pyx_t_8 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_8)) goto __pyx_L266_unpacking_failed; - __Pyx_GOTREF(__pyx_t_8); - index = 2; __pyx_t_7 = __pyx_t_14(__pyx_t_3); if (unlikely(!__pyx_t_7)) goto __pyx_L266_unpacking_failed; - __Pyx_GOTREF(__pyx_t_7); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_3), 3) < 0) __PYX_ERR(0, 1359, __pyx_L172_error) - __pyx_t_14 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L267_unpacking_done; - __pyx_L266_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_14 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1359, __pyx_L172_error) - __pyx_L267_unpacking_done:; - } - __pyx_v_back_absolute_filename = __pyx_t_6; - __pyx_t_6 = 0; - __pyx_v__ = __pyx_t_8; - __pyx_t_8 = 0; - __pyx_v_base = __pyx_t_7; - __pyx_t_7 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1360 - * # So, just setting it to None should be OK - * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) - * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< - * back = None - * - */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_base); - __Pyx_GIVEREF(__pyx_v_base); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_base)) __PYX_ERR(0, 1360, __pyx_L172_error); - __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_7)) __PYX_ERR(0, 1360, __pyx_L172_error); - __pyx_t_7 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_DEBUG_START); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (!__pyx_t_9) { - } else { - __pyx_t_15 = __pyx_t_9; - goto __pyx_L269_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_DEBUG_START_PY3K); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1360, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_15 = __pyx_t_9; - __pyx_L269_bool_binop_done:; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __pyx_t_15; - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1361 - * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) - * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): - * back = None # <<<<<<<<<<<<<< - * - * elif base == TRACE_PROPERTY: - */ - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_back, Py_None); - - /* "_pydevd_bundle/pydevd_cython.pyx":1360 - * # So, just setting it to None should be OK - * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) - * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< - * back = None - * - */ - goto __pyx_L268; - } - - /* "_pydevd_bundle/pydevd_cython.pyx":1363 - * back = None - * - * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< - * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) - * # if we're in a return, we want it to appear to the user in the previous frame! - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_TRACE_PROPERTY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1363, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = PyObject_RichCompare(__pyx_v_base, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1363, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1363, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_9) { - - /* "_pydevd_bundle/pydevd_cython.pyx":1366 - * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) - * # if we're in a return, we want it to appear to the user in the previous frame! - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< - * - * elif pydevd_dont_trace.should_trace_hook is not None: - */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_7 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1366, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_t_1; - __pyx_t_1 = 0; - } - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L176_try_return; - - /* "_pydevd_bundle/pydevd_cython.pyx":1363 - * back = None + /* "_pydevd_bundle/pydevd_cython.pyx":1321 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} * - * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< - * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) - * # if we're in a return, we want it to appear to the user in the previous frame! + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) */ - } + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L15_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1368 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1324 + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: # <<<<<<<<<<<<<< + * curr_stat = None * - * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< - * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): - * # In this case, we'll have to skip the previous one because it shouldn't be traced. */ - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1368, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1368, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_9) { + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(0, 1324, __pyx_L17_except_error) + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_1); - /* "_pydevd_bundle/pydevd_cython.pyx":1369 + /* "_pydevd_bundle/pydevd_cython.pyx":1325 + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: + * curr_stat = None # <<<<<<<<<<<<<< * - * elif pydevd_dont_trace.should_trace_hook is not None: - * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): # <<<<<<<<<<<<<< - * # In this case, we'll have to skip the previous one because it shouldn't be traced. - * # Also, we have to reset the tracing, because if the parent's parent (or some + * last_stat = filename_to_stat_info.get(absolute_filename) */ - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1369, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1369, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1369, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_7, __pyx_v_back_absolute_filename}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1369, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1369, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = (!__pyx_t_9); - if (__pyx_t_15) { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_curr_stat, Py_None); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L16_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1375 - * # we should anymore (so, a step in/over/return may not stop anywhere if no parent is traced). - * # Related test: _debugger_case17a.py - * py_db.set_trace_for_frame_and_parents(thread, back) # <<<<<<<<<<<<<< - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1321 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} * + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1375, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_thread, __pyx_v_back}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1375, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_L17_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L4_error; + __pyx_L16_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1376 - * # Related test: _debugger_case17a.py - * py_db.set_trace_for_frame_and_parents(thread, back) - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1327 + * curr_stat = None * - * if back is not None: + * last_stat = filename_to_stat_info.get(absolute_filename) # <<<<<<<<<<<<<< + * if last_stat != curr_stat: + * filename_to_stat_info[absolute_filename] = curr_stat */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_1 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1376, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __pyx_t_8; - __pyx_t_8 = 0; - } - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L176_try_return; + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1327, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1327, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_absolute_filename}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1327, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_last_stat, __pyx_t_1); + __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1369 + /* "_pydevd_bundle/pydevd_cython.pyx":1328 * - * elif pydevd_dont_trace.should_trace_hook is not None: - * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): # <<<<<<<<<<<<<< - * # In this case, we'll have to skip the previous one because it shouldn't be traced. - * # Also, we have to reset the tracing, because if the parent's parent (or some + * last_stat = filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: # <<<<<<<<<<<<<< + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() */ - } + __pyx_t_1 = PyObject_RichCompare(__pyx_v_last_stat, __pyx_v_curr_stat, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1328, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1328, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1368 - * return None if is_call else NO_FTRACE - * - * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< - * if not pydevd_dont_trace.should_trace_hook(back.f_code, back_absolute_filename): - * # In this case, we'll have to skip the previous one because it shouldn't be traced. + /* "_pydevd_bundle/pydevd_cython.pyx":1329 + * last_stat = filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: + * filename_to_stat_info[absolute_filename] = curr_stat # <<<<<<<<<<<<<< + * lines_ignored.clear() + * try: */ - } - __pyx_L268:; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1329, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_curr_stat) < 0))) __PYX_ERR(0, 1329, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1355 - * elif is_return: # return event - * back = frame.f_back - * if back is not None: # <<<<<<<<<<<<<< - * # When we get to the pydevd run function, the debugging has actually finished for the main thread - * # (note that it can still go on for other threads, but for this one, we just make it finish) + /* "_pydevd_bundle/pydevd_cython.pyx":1330 + * if last_stat != curr_stat: + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() # <<<<<<<<<<<<<< + * try: + * linecache.checkcache(absolute_filename) */ - } + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear"); + __PYX_ERR(0, 1330, __pyx_L4_error) + } + __pyx_t_13 = __Pyx_PyDict_Clear(__pyx_v_lines_ignored); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 1330, __pyx_L4_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1378 - * return None if is_call else NO_FTRACE - * - * if back is not None: # <<<<<<<<<<<<<< - * # if we're in a return, we want it to appear to the user in the previous frame! - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1331 + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: */ - __pyx_t_15 = (__pyx_v_back != Py_None); - if (__pyx_t_15) { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1380 - * if back is not None: - * # if we're in a return, we want it to appear to the user in the previous frame! - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< - * self.do_wait_suspend(thread, back, event, arg) - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1332 + * lines_ignored.clear() + * try: + * linecache.checkcache(absolute_filename) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1380, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1380, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1380, __pyx_L172_error) + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_linecache); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1332, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_thread)) __PYX_ERR(0, 1380, __pyx_L172_error); - __Pyx_GIVEREF(__pyx_t_8); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8)) __PYX_ERR(0, 1380, __pyx_L172_error); - __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1380, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1380, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_original_step_cmd, __pyx_t_6) < 0) __PYX_ERR(0, 1380, __pyx_L172_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1380, __pyx_L172_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_checkcache); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1332, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "_pydevd_bundle/pydevd_cython.pyx":1381 - * # if we're in a return, we want it to appear to the user in the previous frame! - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, back, event, arg) # <<<<<<<<<<<<<< - * else: - * # in jython we may not have a back frame - */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1381, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; - __pyx_t_10 = 0; + __pyx_t_9 = 0; #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_10 = 1; + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_9 = 1; } } #endif { - PyObject *__pyx_callargs[5] = {__pyx_t_7, __pyx_v_thread, __pyx_v_back, __pyx_v_event, __pyx_v_arg}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10); + PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_absolute_filename}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1381, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1332, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1378 - * return None if is_call else NO_FTRACE - * - * if back is not None: # <<<<<<<<<<<<<< - * # if we're in a return, we want it to appear to the user in the previous frame! - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1331 + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: */ - goto __pyx_L272; } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L33_try_end; + __pyx_L26_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1384 - * else: - * # in jython we may not have a back frame - * info.pydev_step_stop = None # <<<<<<<<<<<<<< - * info.pydev_original_step_cmd = -1 - * info.pydev_step_cmd = -1 - */ - /*else*/ { - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); - __Pyx_DECREF(__pyx_v_info->pydev_step_stop); - __pyx_v_info->pydev_step_stop = Py_None; - - /* "_pydevd_bundle/pydevd_cython.pyx":1385 - * # in jython we may not have a back frame - * info.pydev_step_stop = None - * info.pydev_original_step_cmd = -1 # <<<<<<<<<<<<<< - * info.pydev_step_cmd = -1 - * info.pydev_state = 1 - */ - __pyx_v_info->pydev_original_step_cmd = -1; - - /* "_pydevd_bundle/pydevd_cython.pyx":1386 - * info.pydev_step_stop = None - * info.pydev_original_step_cmd = -1 - * info.pydev_step_cmd = -1 # <<<<<<<<<<<<<< - * info.pydev_state = 1 + /* "_pydevd_bundle/pydevd_cython.pyx":1333 + * try: + * linecache.checkcache(absolute_filename) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) * */ - __pyx_v_info->pydev_step_cmd = -1; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 1333, __pyx_L28_except_error) + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); - /* "_pydevd_bundle/pydevd_cython.pyx":1387 - * info.pydev_original_step_cmd = -1 - * info.pydev_step_cmd = -1 - * info.pydev_state = 1 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1334 + * linecache.checkcache(absolute_filename) + * except: + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) # <<<<<<<<<<<<<< * - * # if we are quitting, let's stop the tracing + * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) */ - __pyx_v_info->pydev_state = 1; + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1334, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_exception); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1334, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_14, __pyx_kp_s_Error_in_linecache_checkcache_r, __pyx_v_absolute_filename}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1334, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L27_exception_handled; } - __pyx_L272:; - /* "_pydevd_bundle/pydevd_cython.pyx":1353 - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) - * self.do_wait_suspend(thread, frame, event, arg) - * elif is_return: # return event # <<<<<<<<<<<<<< - * back = frame.f_back - * if back is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":1331 + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: */ + __pyx_L28_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L4_error; + __pyx_L27_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L33_try_end:; } - __pyx_L264:; - /* "_pydevd_bundle/pydevd_cython.pyx":1349 - * if plugin_stop: - * stopped_on_plugin = plugin_manager.stop(py_db, frame, event, self._args, stop_info, arg, step_cmd) - * elif stop: # <<<<<<<<<<<<<< - * if is_line: - * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1328 + * + * last_stat = filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: # <<<<<<<<<<<<<< + * filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() */ } - __pyx_L263:; - /* "_pydevd_bundle/pydevd_cython.pyx":1390 - * - * # if we are quitting, let's stop the tracing - * if py_db.quitting: # <<<<<<<<<<<<<< - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1336 + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) * + * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< + * if from_user_input: + * merged = {} */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_quitting); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1390, __pyx_L172_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1336, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1390, __pyx_L172_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1336, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_15) { + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_canonical_normalized_filename}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1336, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_from_user_input, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1391 - * # if we are quitting, let's stop the tracing - * if py_db.quitting: - * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1337 * - * return self.trace_dispatch + * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: # <<<<<<<<<<<<<< + * merged = {} + * merged.update(lines_ignored) */ - __Pyx_XDECREF(__pyx_r); - if (__pyx_v_is_call) { - __Pyx_INCREF(Py_None); - __pyx_t_6 = Py_None; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1391, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __pyx_t_8; - __pyx_t_8 = 0; - } - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L176_try_return; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_from_user_input); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1337, __pyx_L4_error) + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1338 + * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: + * merged = {} # <<<<<<<<<<<<<< + * merged.update(lines_ignored) + * # Override what we have with the related entries that the user entered + */ + __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1338, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_merged, ((PyObject*)__pyx_t_7)); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1339 + * if from_user_input: + * merged = {} + * merged.update(lines_ignored) # <<<<<<<<<<<<<< + * # Override what we have with the related entries that the user entered + * merged.update(from_user_input) + */ + __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_lines_ignored); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1339, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1341 + * merged.update(lines_ignored) + * # Override what we have with the related entries that the user entered + * merged.update(from_user_input) # <<<<<<<<<<<<<< + * else: + * merged = lines_ignored + */ + __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_from_user_input); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1341, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1390 + /* "_pydevd_bundle/pydevd_cython.pyx":1337 * - * # if we are quitting, let's stop the tracing - * if py_db.quitting: # <<<<<<<<<<<<<< - * return None if is_call else NO_FTRACE + * from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: # <<<<<<<<<<<<<< + * merged = {} + * merged.update(lines_ignored) + */ + goto __pyx_L36; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1343 + * merged.update(from_user_input) + * else: + * merged = lines_ignored # <<<<<<<<<<<<<< * + * exc_lineno = check_trace_obj.tb_lineno */ + /*else*/ { + __Pyx_INCREF(__pyx_v_lines_ignored); + __Pyx_XDECREF_SET(__pyx_v_merged, __pyx_v_lines_ignored); } + __pyx_L36:; - /* "_pydevd_bundle/pydevd_cython.pyx":1393 - * return None if is_call else NO_FTRACE + /* "_pydevd_bundle/pydevd_cython.pyx":1345 + * merged = lines_ignored * - * return self.trace_dispatch # <<<<<<<<<<<<<< - * except: - * # Unfortunately Python itself stops the tracing when it originates from + * exc_lineno = check_trace_obj.tb_lineno # <<<<<<<<<<<<<< + * + * # print ('lines ignored', lines_ignored) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1393, __pyx_L172_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L176_try_return; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1345, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_exc_lineno, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1163 + /* "_pydevd_bundle/pydevd_cython.pyx":1351 + * # print ('merged', merged, 'curr', exc_lineno) * - * # step handling. We stop when we hit the right frame - * try: # <<<<<<<<<<<<<< - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) */ - } - __pyx_L172_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(__pyx_v_merged == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 1351, __pyx_L4_error) + } + __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_v_exc_lineno, __pyx_v_merged, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1351, __pyx_L4_error) + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1394 + /* "_pydevd_bundle/pydevd_cython.pyx":1352 * - * return self.trace_dispatch - * except: # <<<<<<<<<<<<<< - * # Unfortunately Python itself stops the tracing when it originates from - * # the tracing function, so, we can't do much about it (just let the user know). + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: */ - /*except:*/ { - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_7) < 0) __PYX_ERR(0, 1394, __pyx_L174_except_error) - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1397 - * # Unfortunately Python itself stops the tracing when it originates from - * # the tracing function, so, we can't do much about it (just let the user know). - * exc = sys.exc_info()[0] # <<<<<<<<<<<<<< - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) + /* "_pydevd_bundle/pydevd_cython.pyx":1353 + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1397, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1397, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1397, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1397, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_exc = __pyx_t_2; - __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linecache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1353, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getline); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1353, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1353, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_f_globals); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1353, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_exc_lineno, __pyx_t_8}; + __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1353, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_7); + __pyx_t_7 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1398 - * # the tracing function, so, we can't do much about it (just let the user know). - * exc = sys.exc_info()[0] - * cmd = py_db.cmd_factory.make_console_message( # <<<<<<<<<<<<<< - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) + /* "_pydevd_bundle/pydevd_cython.pyx":1352 + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1398, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_make_console_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1398, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L45_try_end; + __pyx_L38_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1399 - * exc = sys.exc_info()[0] - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) # <<<<<<<<<<<<<< - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): + /* "_pydevd_bundle/pydevd_cython.pyx":1354 + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + * line = '' */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1399, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_exc); - __Pyx_GIVEREF(__pyx_v_exc); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_exc)) __PYX_ERR(0, 1399, __pyx_L174_except_error); - __Pyx_INCREF(__pyx_v_thread); - __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_thread)) __PYX_ERR(0, 1399, __pyx_L174_except_error); - __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_raised_from_within_the_callba, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1399, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1398, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_cmd, __pyx_t_2); - __pyx_t_2 = 0; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 1354, __pyx_L40_except_error) + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); - /* "_pydevd_bundle/pydevd_cython.pyx":1400 - * cmd = py_db.cmd_factory.make_console_message( - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) # <<<<<<<<<<<<<< - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): - * pydev_log.exception() + /* "_pydevd_bundle/pydevd_cython.pyx":1355 + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) # <<<<<<<<<<<<<< + * line = '' + * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_writer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1400, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_add_command); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1400, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_10 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cmd}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1400, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1355, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_exception); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1355, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_15, __pyx_kp_s_Error_in_linecache_getline_r_s_f, __pyx_v_absolute_filename, __pyx_v_exc_lineno}; + __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1401 - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< - * pydev_log.exception() - * raise + /* "_pydevd_bundle/pydevd_cython.pyx":1356 + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + * line = '' # <<<<<<<<<<<<<< + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: */ - __pyx_t_15 = PyObject_IsSubclass(__pyx_v_exc, __pyx_tuple__6); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 1401, __pyx_L174_except_error) - __pyx_t_9 = (!__pyx_t_15); - if (__pyx_t_9) { + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_kp_s_); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L39_exception_handled; + } - /* "_pydevd_bundle/pydevd_cython.pyx":1402 - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): - * pydev_log.exception() # <<<<<<<<<<<<<< - * raise + /* "_pydevd_bundle/pydevd_cython.pyx":1352 + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + */ + __pyx_L40_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L4_error; + __pyx_L39_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L45_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1358 + * line = '' * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< + * lines_ignored[exc_lineno] = 1 + * return False */ - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1402, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1402, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_10 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_IGNORE_EXCEPTION_TAG); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1358, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1358, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_9 = 0; #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_10 = 1; + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_9 = 1; } } #endif { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1402, __pyx_L174_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_line}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1358, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = (__pyx_t_8 != Py_None); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1401 - * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) - * py_db.writer.add_command(cmd) - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< - * pydev_log.exception() - * raise + /* "_pydevd_bundle/pydevd_cython.pyx":1359 + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: + * lines_ignored[exc_lineno] = 1 # <<<<<<<<<<<<<< + * return False + * else: + */ + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1359, __pyx_L4_error) + } + if (unlikely((PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_1) < 0))) __PYX_ERR(0, 1359, __pyx_L4_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1360 + * if IGNORE_EXCEPTION_TAG.match(line) is not None: + * lines_ignored[exc_lineno] = 1 + * return False # <<<<<<<<<<<<<< + * else: + * # Put in the cache saying not to ignore + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1358 + * line = '' + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< + * lines_ignored[exc_lineno] = 1 + * return False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1363 + * else: + * # Put in the cache saying not to ignore + * lines_ignored[exc_lineno] = 0 # <<<<<<<<<<<<<< + * else: + * # Ok, dict has it already cached, so, let's check it... + */ + /*else*/ { + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1363, __pyx_L4_error) + } + if (unlikely((PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_0) < 0))) __PYX_ERR(0, 1363, __pyx_L4_error) + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1351 + * # print ('merged', merged, 'curr', exc_lineno) + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) */ + goto __pyx_L37; } - /* "_pydevd_bundle/pydevd_cython.pyx":1403 - * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): - * pydev_log.exception() - * raise # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1366 + * else: + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< + * return False * - * finally: */ - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_8, __pyx_t_7); - __pyx_t_6 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; - __PYX_ERR(0, 1403, __pyx_L174_except_error) + /*else*/ { + if (unlikely(__pyx_v_merged == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 1366, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_merged, __pyx_v_exc_lineno, __pyx_int_0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1366, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1366, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1367 + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): + * return False # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1366 + * else: + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< + * return False + * + */ + } + } + __pyx_L37:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1312 + * + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] + */ } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1163 + /* "_pydevd_bundle/pydevd_cython.pyx":1311 + * trace_obj = trace_obj.tb_next * - * # step handling. We stop when we hit the right frame - * try: # <<<<<<<<<<<<<< - * should_skip = 0 - * if pydevd_dont_trace.should_trace_hook is not None: + * if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) */ - __pyx_L174_except_error:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L4_error; - __pyx_L176_try_return:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L3_return; } - } - /* "_pydevd_bundle/pydevd_cython.pyx":1406 - * - * finally: - * info.is_tracing -= 1 # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1369 + * return False * - * # end trace_dispatch + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame */ - /*finally:*/ { - __pyx_L4_error:; - /*exception exit:*/{ + { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_28, &__pyx_t_27, &__pyx_t_26); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_28); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_26); - __pyx_t_10 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_29 = __pyx_filename; - { - if (unlikely(!__pyx_v_info)) { __Pyx_RaiseUnboundLocalError("info"); __PYX_ERR(0, 1406, __pyx_L278_error) } - if (unlikely(!__pyx_v_info)) { __Pyx_RaiseUnboundLocalError("info"); __PYX_ERR(0, 1406, __pyx_L278_error) } - __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_17, __pyx_t_16); - __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; - __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_29; - goto __pyx_L1_error; - __pyx_L278_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; - goto __pyx_L1_error; - } - __pyx_L3_return: { - __pyx_t_26 = __pyx_r; - __pyx_r = 0; - __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); - __pyx_r = __pyx_t_26; - __pyx_t_26 = 0; - goto __pyx_L0; - } - } + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":709 + /* "_pydevd_bundle/pydevd_cython.pyx":1370 * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< - * cdef tuple abs_path_canonical_path_and_base; - * cdef bint is_exception_event; + * try: + * frame_id_to_frame = {} # <<<<<<<<<<<<<< + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame */ + __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1370, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_frame_id_to_frame = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_abs_path_canonical_path_and_base); - __Pyx_XDECREF((PyObject *)__pyx_v_info); - __Pyx_XDECREF(__pyx_v_breakpoints_for_file); - __Pyx_XDECREF(__pyx_v_stop_info); - __Pyx_XDECREF(__pyx_v_curr_func_name); - __Pyx_XDECREF(__pyx_v_frame_skips_cache); - __Pyx_XDECREF(__pyx_v_frame_cache_key); - __Pyx_XDECREF(__pyx_v_line_cache_key); - __Pyx_XDECREF(__pyx_v_bp); - __Pyx_XDECREF(__pyx_v_pydev_smart_step_into_variants); - __Pyx_XDECREF(__pyx_v_py_db); - __Pyx_XDECREF(__pyx_v_thread); - __Pyx_XDECREF(__pyx_v_plugin_manager); - __Pyx_XDECREF(__pyx_v_stop_frame); - __Pyx_XDECREF(__pyx_v_function_breakpoint_on_call_event); - __Pyx_XDECREF(__pyx_v_returns_cache_key); - __Pyx_XDECREF(__pyx_v_return_lines); - __Pyx_XDECREF(__pyx_v_x); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_func_lines); - __Pyx_XDECREF(__pyx_v_offset_and_lineno); - __Pyx_XDECREF(__pyx_v_breakpoint); - __Pyx_XDECREF(__pyx_v_stop_reason); - __Pyx_XDECREF(__pyx_v_bp_type); - __Pyx_XDECREF(__pyx_v_new_frame); - __Pyx_XDECREF(__pyx_v_result); - __Pyx_XDECREF(__pyx_v_eval_result); - __Pyx_XDECREF(__pyx_v_cmd); - __Pyx_XDECREF(__pyx_v_exc); - __Pyx_XDECREF(__pyx_v_plugin_stop); - __Pyx_XDECREF(__pyx_v_force_check_project_scope); - __Pyx_XDECREF(__pyx_v_filename); - __Pyx_XDECREF(__pyx_v_f2); - __Pyx_XDECREF(__pyx_v_back); - __Pyx_XDECREF(__pyx_v_smart_step_into_variant); - __Pyx_XDECREF(__pyx_v_children_variants); - __Pyx_XDECREF(__pyx_v_f_code); - __Pyx_XDECREF(__pyx_v_stopped_on_plugin); - __Pyx_XDECREF(__pyx_v_back_absolute_filename); - __Pyx_XDECREF(__pyx_v__); - __Pyx_XDECREF(__pyx_v_base); - __Pyx_XDECREF(__pyx_v_frame); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":1371 + * try: + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame # <<<<<<<<<<<<<< + * f = trace_obj.tb_frame + * while f is not None: + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1371, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely((PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_4, __pyx_v_frame) < 0))) __PYX_ERR(0, 1371, __pyx_L51_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -/* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch = {"trace_dispatch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_frame = 0; - PyObject *__pyx_v_event = 0; - PyObject *__pyx_v_arg = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("trace_dispatch (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; + /* "_pydevd_bundle/pydevd_cython.pyx":1372 + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame # <<<<<<<<<<<<<< + * while f is not None: + * frame_id_to_frame[id(f)] = f + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1372, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_f = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1373 + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame + * while f is not None: # <<<<<<<<<<<<<< + * frame_id_to_frame[id(f)] = f + * f = f.f_back + */ + while (1) { + __pyx_t_2 = (__pyx_v_f != Py_None); + if (!__pyx_t_2) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1374 + * f = trace_obj.tb_frame + * while f is not None: + * frame_id_to_frame[id(f)] = f # <<<<<<<<<<<<<< + * f = f.f_back + * f = None + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1374, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely((PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_4, __pyx_v_f) < 0))) __PYX_ERR(0, 1374, __pyx_L51_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1375 + * while f is not None: + * frame_id_to_frame[id(f)] = f + * f = f.f_back # <<<<<<<<<<<<<< + * f = None + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1375, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_4); + __pyx_t_4 = 0; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 709, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; + + /* "_pydevd_bundle/pydevd_cython.pyx":1376 + * frame_id_to_frame[id(f)] = f + * f = f.f_back + * f = None # <<<<<<<<<<<<<< + * + * stopped = True + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_f, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":1378 + * f = None + * + * stopped = True # <<<<<<<<<<<<<< + * py_db.send_caught_exception_stack(thread, arg, id(frame)) + * try: + */ + __pyx_v_stopped = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1379 + * + * stopped = True + * py_db.send_caught_exception_stack(thread, arg, id(frame)) # <<<<<<<<<<<<<< + * try: + * py_db.set_suspend(thread, 137) + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1379, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1379, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_9 = 1; + } } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 709, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 1); __PYX_ERR(0, 709, __pyx_L3_error) + #endif + { + PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_v_thread, __pyx_v_arg, __pyx_t_7}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1379, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1380 + * stopped = True + * py_db.send_caught_exception_stack(thread, arg, id(frame)) + * try: # <<<<<<<<<<<<<< + * py_db.set_suspend(thread, 137) + * py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1381 + * py_db.send_caught_exception_stack(thread, arg, id(frame)) + * try: + * py_db.set_suspend(thread, 137) # <<<<<<<<<<<<<< + * py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) + * finally: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1381, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_thread, __pyx_int_137}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1382 + * try: + * py_db.set_suspend(thread, 137) + * py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) # <<<<<<<<<<<<<< + * finally: + * py_db.send_caught_exception_stack_proceeded(thread) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1382, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1382, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_thread)) __PYX_ERR(0, 1382, __pyx_L60_error); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_frame)) __PYX_ERR(0, 1382, __pyx_L60_error); + __Pyx_INCREF(__pyx_n_s_exception); + __Pyx_GIVEREF(__pyx_n_s_exception); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_n_s_exception)) __PYX_ERR(0, 1382, __pyx_L60_error); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_arg)) __PYX_ERR(0, 1382, __pyx_L60_error); + __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1382, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_exception_type, __pyx_v_exception_type) < 0) __PYX_ERR(0, 1382, __pyx_L60_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1382, __pyx_L60_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1384 + * py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) + * finally: + * py_db.send_caught_exception_stack_proceeded(thread) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1384, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_thread}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1384, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L61; + } + __pyx_L60_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_23); + __pyx_t_9 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; + { + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1384, __pyx_L63_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_24 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_24 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_thread}; + __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_24, 1+__pyx_t_24); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1384, __pyx_L63_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); + } + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; + __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; + goto __pyx_L51_error; + __pyx_L63_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; + goto __pyx_L51_error; + } + __pyx_L61:; } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; + + /* "_pydevd_bundle/pydevd_cython.pyx":1369 + * return False + * + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L56_try_end; + __pyx_L51_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1385 + * finally: + * py_db.send_caught_exception_stack_proceeded(thread) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 1385, __pyx_L53_except_error) + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + + /* "_pydevd_bundle/pydevd_cython.pyx":1386 + * py_db.send_caught_exception_stack_proceeded(thread) + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * + * py_db.set_trace_for_frame_and_parents(thread, frame) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1386, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exception); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1386, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_16 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_16 = 1; + } } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 709, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 2); __PYX_ERR(0, 709, __pyx_L3_error) + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; + __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_16, 0+__pyx_t_16); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1386, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L52_exception_handled; } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 709, __pyx_L3_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1369 + * return False + * + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + */ + __pyx_L53_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L4_error; + __pyx_L52_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L56_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1388 + * pydev_log.exception() + * + * py_db.set_trace_for_frame_and_parents(thread, frame) # <<<<<<<<<<<<<< + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1388, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_16 = 0; + #if CYTHON_UNPACK_METHODS + if (likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_16 = 1; } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); } - __pyx_v_frame = values[0]; - __pyx_v_event = ((PyObject*)values[1]); - __pyx_v_arg = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 709, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + #endif + { + PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_thread, __pyx_v_frame}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_16, 2+__pyx_t_16); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1388, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 709, __pyx_L1_error) - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":1391 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None + */ + /*finally:*/ { + /*normal exit:*/{ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_16 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_16 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_frame}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("trace_dispatch", 1); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + /* "_pydevd_bundle/pydevd_cython.pyx":1393 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":1394 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); -/* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * cdef tuple state - * cdef object _dict + /* "_pydevd_bundle/pydevd_cython.pyx":1395 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); -/* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - if (unlikely(__pyx_nargs > 0)) { - __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;} - if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self)); + /* "_pydevd_bundle/pydevd_cython.pyx":1396 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":1397 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * py_db = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self) { - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v__dict = 0; - int __pyx_v_use_setstate; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__reduce_cython__", 1); + /* "_pydevd_bundle/pydevd_cython.pyx":1398 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * py_db = None + * thread = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); - /* "(tree fragment)":5 - * cdef object _dict - * cdef bint use_setstate - * state = (self._args, self.exc_info, self.should_skip) # <<<<<<<<<<<<<< - * _dict = getattr(self, '__dict__', None) - * if _dict is not None: + /* "_pydevd_bundle/pydevd_cython.pyx":1399 + * f = None + * frame_id_to_frame = None + * py_db = None # <<<<<<<<<<<<<< + * thread = None + * */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->should_skip); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_self->_args); - __Pyx_GIVEREF(__pyx_v_self->_args); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->_args)) __PYX_ERR(2, 5, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_self->exc_info); - __Pyx_GIVEREF(__pyx_v_self->exc_info); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->exc_info)) __PYX_ERR(2, 5, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_v_state = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_py_db, Py_None); - /* "(tree fragment)":6 - * cdef bint use_setstate - * state = (self._args, self.exc_info, self.should_skip) - * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< - * if _dict is not None: - * state += (_dict,) + /* "_pydevd_bundle/pydevd_cython.pyx":1400 + * frame_id_to_frame = None + * py_db = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped */ - __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v__dict = __pyx_t_2; - __pyx_t_2 = 0; + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_thread, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_21); + __pyx_t_16 = __pyx_lineno; __pyx_t_9 = __pyx_clineno; __pyx_t_25 = __pyx_filename; + { - /* "(tree fragment)":7 - * state = (self._args, self.exc_info, self.should_skip) - * _dict = getattr(self, '__dict__', None) - * if _dict is not None: # <<<<<<<<<<<<<< - * state += (_dict,) - * use_setstate = True + /* "_pydevd_bundle/pydevd_cython.pyx":1391 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None */ - __pyx_t_3 = (__pyx_v__dict != Py_None); - if (__pyx_t_3) { + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1391, __pyx_L67_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_24 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_24 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_frame}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_24, 1+__pyx_t_24); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1391, __pyx_L67_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "(tree fragment)":8 - * _dict = getattr(self, '__dict__', None) - * if _dict is not None: - * state += (_dict,) # <<<<<<<<<<<<<< - * use_setstate = True - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1393 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v__dict); - __Pyx_GIVEREF(__pyx_v__dict); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict)) __PYX_ERR(2, 8, __pyx_L1_error); - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); - __pyx_t_1 = 0; + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); - /* "(tree fragment)":9 - * if _dict is not None: - * state += (_dict,) - * use_setstate = True # <<<<<<<<<<<<<< - * else: - * use_setstate = self._args is not None or self.exc_info is not None + /* "_pydevd_bundle/pydevd_cython.pyx":1394 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None */ - __pyx_v_use_setstate = 1; + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_trace_obj, Py_None); - /* "(tree fragment)":7 - * state = (self._args, self.exc_info, self.should_skip) - * _dict = getattr(self, '__dict__', None) - * if _dict is not None: # <<<<<<<<<<<<<< - * state += (_dict,) - * use_setstate = True + /* "_pydevd_bundle/pydevd_cython.pyx":1395 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None */ - goto __pyx_L3; - } + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_initial_trace_obj, Py_None); - /* "(tree fragment)":11 - * use_setstate = True - * else: - * use_setstate = self._args is not None or self.exc_info is not None # <<<<<<<<<<<<<< - * if use_setstate: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state + /* "_pydevd_bundle/pydevd_cython.pyx":1396 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None */ - /*else*/ { - __pyx_t_4 = (__pyx_v_self->_args != ((PyObject*)Py_None)); - if (!__pyx_t_4) { - } else { - __pyx_t_3 = __pyx_t_4; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_4 = (__pyx_v_self->exc_info != Py_None); - __pyx_t_3 = __pyx_t_4; - __pyx_L4_bool_binop_done:; - __pyx_v_use_setstate = __pyx_t_3; - } - __pyx_L3:; + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); - /* "(tree fragment)":12 - * else: - * use_setstate = self._args is not None or self.exc_info is not None - * if use_setstate: # <<<<<<<<<<<<<< - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1397 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * py_db = None */ - if (__pyx_v_use_setstate) { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); - /* "(tree fragment)":13 - * use_setstate = self._args is not None or self.exc_info is not None - * if use_setstate: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state # <<<<<<<<<<<<<< - * else: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) + /* "_pydevd_bundle/pydevd_cython.pyx":1398 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * py_db = None + * thread = None */ - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_61391470); - __Pyx_GIVEREF(__pyx_int_61391470); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_61391470)) __PYX_ERR(2, 13, __pyx_L1_error); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None)) __PYX_ERR(2, 13, __pyx_L1_error); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state)) __PYX_ERR(2, 13, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_2 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + + /* "_pydevd_bundle/pydevd_cython.pyx":1399 + * f = None + * frame_id_to_frame = None + * py_db = None # <<<<<<<<<<<<<< + * thread = None + * + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_py_db, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":1400 + * frame_id_to_frame = None + * py_db = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_thread, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_22, __pyx_t_21); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; + __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_9; __pyx_filename = __pyx_t_25; + goto __pyx_L1_error; + __pyx_L67_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_22, __pyx_t_21); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_21 = __pyx_r; + __pyx_r = 0; - /* "(tree fragment)":12 - * else: - * use_setstate = self._args is not None or self.exc_info is not None - * if use_setstate: # <<<<<<<<<<<<<< - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state - * else: + /* "_pydevd_bundle/pydevd_cython.pyx":1391 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None */ - } + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + #if CYTHON_UNPACK_METHODS + if (unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_9 = 1; + } + } + #endif + { + PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_frame}; + __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "(tree fragment)":15 - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, None), state - * else: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + /* "_pydevd_bundle/pydevd_cython.pyx":1393 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_61391470); - __Pyx_GIVEREF(__pyx_int_61391470); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_61391470)) __PYX_ERR(2, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state)) __PYX_ERR(2, 15, __pyx_L1_error); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error); - __pyx_t_5 = 0; - __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * cdef tuple state - * cdef object _dict + /* "_pydevd_bundle/pydevd_cython.pyx":1394 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_state); - __Pyx_XDECREF(__pyx_v__dict); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "_pydevd_bundle/pydevd_cython.pyx":1395 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); -/* "(tree fragment)":16 - * else: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + /* "_pydevd_bundle/pydevd_cython.pyx":1396 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); -/* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v___pyx_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 16, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 16, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v___pyx_state = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 16, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v___pyx_state); + /* "_pydevd_bundle/pydevd_cython.pyx":1397 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * py_db = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); + /* "_pydevd_bundle/pydevd_cython.pyx":1398 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * py_db = None + * thread = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + + /* "_pydevd_bundle/pydevd_cython.pyx":1399 + * f = None + * frame_id_to_frame = None + * py_db = None # <<<<<<<<<<<<<< + * thread = None + * + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_py_db, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":1400 + * frame_id_to_frame = None + * py_db = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_thread, Py_None); + __pyx_r = __pyx_t_21; + __pyx_t_21 = 0; + goto __pyx_L0; } + __pyx_L5:; } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__setstate_cython__", 1); - /* "(tree fragment)":17 - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) - * def __setstate_cython__(self, __pyx_state): - * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + /* "_pydevd_bundle/pydevd_cython.pyx":1402 + * thread = None + * + * return stopped # <<<<<<<<<<<<<< + * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive + * from _pydev_bundle.pydev_log import exception as pydev_log_exception */ - if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 17, __pyx_L1_error) - __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_stopped); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1402, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; - /* "(tree fragment)":16 - * else: - * return __pyx_unpickle_PyDBFrame, (type(self), 0x3a8c26e, state) - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + /* "_pydevd_bundle/pydevd_cython.pyx":1283 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def handle_exception(py_db, thread, frame, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; */ /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; + __Pyx_XDECREF(__pyx_v_abs_real_path_and_base); + __Pyx_XDECREF(__pyx_v_absolute_filename); + __Pyx_XDECREF(__pyx_v_canonical_normalized_filename); + __Pyx_XDECREF(__pyx_v_lines_ignored); + __Pyx_XDECREF(__pyx_v_frame_id_to_frame); + __Pyx_XDECREF(__pyx_v_merged); + __Pyx_XDECREF(__pyx_v_trace_obj); + __Pyx_XDECREF(__pyx_v_initial_trace_obj); + __Pyx_XDECREF(__pyx_v_check_trace_obj); + __Pyx_XDECREF(__pyx_v_curr_stat); + __Pyx_XDECREF(__pyx_v_last_stat); + __Pyx_XDECREF(__pyx_v_from_user_input); + __Pyx_XDECREF(__pyx_v_exc_lineno); + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_py_db); + __Pyx_XDECREF(__pyx_v_thread); + __Pyx_XDECREF(__pyx_v_frame); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1445 +/* "_pydevd_bundle/pydevd_cython.pyx":1438 * * * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< @@ -26841,15 +27634,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setsta */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters = {"notify_skipped_step_in_because_of_filters", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9notify_skipped_step_in_because_of_filters = {"notify_skipped_step_in_because_of_filters", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9notify_skipped_step_in_because_of_filters, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -26896,7 +27689,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1445, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1438, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -26904,14 +27697,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1445, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1438, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, 1); __PYX_ERR(0, 1445, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, 1); __PYX_ERR(0, 1438, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "notify_skipped_step_in_because_of_filters") < 0)) __PYX_ERR(0, 1445, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "notify_skipped_step_in_because_of_filters") < 0)) __PYX_ERR(0, 1438, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; @@ -26924,7 +27717,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1445, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1438, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -26938,7 +27731,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_in_because_of_filters(__pyx_self, __pyx_v_py_db, __pyx_v_frame); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_8notify_skipped_step_in_because_of_filters(__pyx_self, __pyx_v_py_db, __pyx_v_frame); /* function exit code */ { @@ -26951,7 +27744,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_in_because_of_filters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8notify_skipped_step_in_because_of_filters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -26971,7 +27764,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("notify_skipped_step_in_because_of_filters", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1448 + /* "_pydevd_bundle/pydevd_cython.pyx":1441 * global _global_notify_skipped_step_in * * with _global_notify_skipped_step_in_lock: # <<<<<<<<<<<<<< @@ -26979,11 +27772,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ * # Check with lock in place (callers should actually have checked */ /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_global_notify_skipped_step_in_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_global_notify_skipped_step_in_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1448, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1448, __pyx_L3_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1441, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; @@ -27003,7 +27796,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1448, __pyx_L3_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1441, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -27019,17 +27812,17 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1449 + /* "_pydevd_bundle/pydevd_cython.pyx":1442 * * with _global_notify_skipped_step_in_lock: * if _global_notify_skipped_step_in: # <<<<<<<<<<<<<< * # Check with lock in place (callers should actually have checked * # before without the lock in place due to performance). */ - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 1449, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 1442, __pyx_L7_error) if (__pyx_t_10) { - /* "_pydevd_bundle/pydevd_cython.pyx":1452 + /* "_pydevd_bundle/pydevd_cython.pyx":1445 * # Check with lock in place (callers should actually have checked * # before without the lock in place due to performance). * return # <<<<<<<<<<<<<< @@ -27040,7 +27833,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1449 + /* "_pydevd_bundle/pydevd_cython.pyx":1442 * * with _global_notify_skipped_step_in_lock: * if _global_notify_skipped_step_in: # <<<<<<<<<<<<<< @@ -27049,7 +27842,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1453 + /* "_pydevd_bundle/pydevd_cython.pyx":1446 * # before without the lock in place due to performance). * return * _global_notify_skipped_step_in = True # <<<<<<<<<<<<<< @@ -27061,14 +27854,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __Pyx_DECREF_SET(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in, ((PyObject*)Py_True)); __Pyx_GIVEREF(Py_True); - /* "_pydevd_bundle/pydevd_cython.pyx":1454 + /* "_pydevd_bundle/pydevd_cython.pyx":1447 * return * _global_notify_skipped_step_in = True * py_db.notify_skipped_step_in_because_of_filters(frame) # <<<<<<<<<<<<<< * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1454, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1447, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_6 = 0; @@ -27088,13 +27881,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_frame}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1447, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1448 + /* "_pydevd_bundle/pydevd_cython.pyx":1441 * global _global_notify_skipped_step_in * * with _global_notify_skipped_step_in_lock: # <<<<<<<<<<<<<< @@ -27113,20 +27906,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.notify_skipped_step_in_because_of_filters", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 1448, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 1441, __pyx_L9_except_error) __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1448, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1441, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1448, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1441, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 1448, __pyx_L9_except_error) + if (__pyx_t_10 < 0) __PYX_ERR(0, 1441, __pyx_L9_except_error) __pyx_t_12 = (!__pyx_t_10); if (unlikely(__pyx_t_12)) { __Pyx_GIVEREF(__pyx_t_1); @@ -27134,7 +27927,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1448, __pyx_L9_except_error) + __PYX_ERR(0, 1441, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -27166,7 +27959,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ if (__pyx_t_2) { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__2, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1448, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -27178,7 +27971,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ if (__pyx_t_2) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__2, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1448, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -27195,7 +27988,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ __pyx_L17:; } - /* "_pydevd_bundle/pydevd_cython.pyx":1445 + /* "_pydevd_bundle/pydevd_cython.pyx":1438 * * * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< @@ -27219,7 +28012,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_ return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1459 +/* "_pydevd_bundle/pydevd_cython.pyx":1452 * cdef class SafeCallWrapper: * cdef method_object * def __init__(self, method_object): # <<<<<<<<<<<<<< @@ -27263,12 +28056,12 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_1__init__ (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1459, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1452, __pyx_L3_error) else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1459, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1452, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; @@ -27279,7 +28072,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_1__init__ } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1459, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1452, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -27311,7 +28104,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__( __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1460 + /* "_pydevd_bundle/pydevd_cython.pyx":1453 * cdef method_object * def __init__(self, method_object): * self.method_object = method_object # <<<<<<<<<<<<<< @@ -27324,7 +28117,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__( __Pyx_DECREF(__pyx_v_self->method_object); __pyx_v_self->method_object = __pyx_v_method_object; - /* "_pydevd_bundle/pydevd_cython.pyx":1459 + /* "_pydevd_bundle/pydevd_cython.pyx":1452 * cdef class SafeCallWrapper: * cdef method_object * def __init__(self, method_object): # <<<<<<<<<<<<<< @@ -27338,7 +28131,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__( return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1461 +/* "_pydevd_bundle/pydevd_cython.pyx":1454 * def __init__(self, method_object): * self.method_object = method_object * def __call__(self, *args): # <<<<<<<<<<<<<< @@ -27385,7 +28178,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__call__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1464 + /* "_pydevd_bundle/pydevd_cython.pyx":1457 * #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field * #in the frame, and that reference might get destroyed by set trace on frame and parents * cdef PyObject* method_obj = self.method_object # <<<<<<<<<<<<<< @@ -27394,7 +28187,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ */ __pyx_v_method_obj = ((PyObject *)__pyx_v_self->method_object); - /* "_pydevd_bundle/pydevd_cython.pyx":1465 + /* "_pydevd_bundle/pydevd_cython.pyx":1458 * #in the frame, and that reference might get destroyed by set trace on frame and parents * cdef PyObject* method_obj = self.method_object * Py_INCREF(method_obj) # <<<<<<<<<<<<<< @@ -27403,19 +28196,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ */ Py_INCREF(((PyObject *)__pyx_v_method_obj)); - /* "_pydevd_bundle/pydevd_cython.pyx":1466 + /* "_pydevd_bundle/pydevd_cython.pyx":1459 * cdef PyObject* method_obj = self.method_object * Py_INCREF(method_obj) * ret = (method_obj)(*args) # <<<<<<<<<<<<<< * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None */ - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_method_obj), __pyx_v_args, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1466, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_method_obj), __pyx_v_args, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ret = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1467 + /* "_pydevd_bundle/pydevd_cython.pyx":1460 * Py_INCREF(method_obj) * ret = (method_obj)(*args) * Py_XDECREF (method_obj) # <<<<<<<<<<<<<< @@ -27424,7 +28217,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ */ Py_XDECREF(__pyx_v_method_obj); - /* "_pydevd_bundle/pydevd_cython.pyx":1468 + /* "_pydevd_bundle/pydevd_cython.pyx":1461 * ret = (method_obj)(*args) * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None # <<<<<<<<<<<<<< @@ -27434,7 +28227,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = (__pyx_v_ret != Py_None); if (__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1468, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; @@ -27446,7 +28239,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1461 + /* "_pydevd_bundle/pydevd_cython.pyx":1454 * def __init__(self, method_object): * self.method_object = method_object * def __call__(self, *args): # <<<<<<<<<<<<<< @@ -27467,7 +28260,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__ return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1469 +/* "_pydevd_bundle/pydevd_cython.pyx":1462 * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None * def get_method_object(self): # <<<<<<<<<<<<<< @@ -27521,7 +28314,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_4ge __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_method_object", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1470 + /* "_pydevd_bundle/pydevd_cython.pyx":1463 * return SafeCallWrapper(ret) if ret is not None else None * def get_method_object(self): * return self.method_object # <<<<<<<<<<<<<< @@ -27533,7 +28326,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_4ge __pyx_r = __pyx_v_self->method_object; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1469 + /* "_pydevd_bundle/pydevd_cython.pyx":1462 * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None * def get_method_object(self): # <<<<<<<<<<<<<< @@ -27949,7 +28742,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_8__ return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1475 +/* "_pydevd_bundle/pydevd_cython.pyx":1468 * * * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< @@ -27958,15 +28751,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_8__ */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func = {"fix_top_level_trace_and_get_trace_func", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_11fix_top_level_trace_and_get_trace_func = {"fix_top_level_trace_and_get_trace_func", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_11fix_top_level_trace_and_get_trace_func, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -28013,7 +28806,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1475, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1468, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -28021,14 +28814,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1475, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1468, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, 1); __PYX_ERR(0, 1475, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, 1); __PYX_ERR(0, 1468, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "fix_top_level_trace_and_get_trace_func") < 0)) __PYX_ERR(0, 1475, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "fix_top_level_trace_and_get_trace_func") < 0)) __PYX_ERR(0, 1468, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; @@ -28041,7 +28834,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1475, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1468, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -28055,7 +28848,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_and_get_trace_func(__pyx_self, __pyx_v_py_db, __pyx_v_frame); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_10fix_top_level_trace_and_get_trace_func(__pyx_self, __pyx_v_py_db, __pyx_v_frame); /* function exit code */ { @@ -28068,7 +28861,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { PyObject *__pyx_v_name = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_thread = NULL; @@ -28103,7 +28896,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("fix_top_level_trace_and_get_trace_func", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1486 + /* "_pydevd_bundle/pydevd_cython.pyx":1479 * # where more information is cached (and will also setup the tracing for * # frames where we should deal with unhandled exceptions). * thread = None # <<<<<<<<<<<<<< @@ -28113,7 +28906,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_INCREF(Py_None); __pyx_v_thread = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":1490 + /* "_pydevd_bundle/pydevd_cython.pyx":1483 * # (i.e.: thread entry-points). * * f_unhandled = frame # <<<<<<<<<<<<<< @@ -28123,7 +28916,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_INCREF(__pyx_v_frame); __pyx_v_f_unhandled = __pyx_v_frame; - /* "_pydevd_bundle/pydevd_cython.pyx":1492 + /* "_pydevd_bundle/pydevd_cython.pyx":1485 * f_unhandled = frame * # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) * force_only_unhandled_tracer = False # <<<<<<<<<<<<<< @@ -28132,7 +28925,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ __pyx_v_force_only_unhandled_tracer = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1493 + /* "_pydevd_bundle/pydevd_cython.pyx":1486 * # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) * force_only_unhandled_tracer = False * while f_unhandled is not None: # <<<<<<<<<<<<<< @@ -28143,59 +28936,59 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_1 = (__pyx_v_f_unhandled != Py_None); if (!__pyx_t_1) break; - /* "_pydevd_bundle/pydevd_cython.pyx":1496 + /* "_pydevd_bundle/pydevd_cython.pyx":1489 * # name = splitext(basename(f_unhandled.f_code.co_filename))[0] * * name = f_unhandled.f_code.co_filename # <<<<<<<<<<<<<< * # basename * i = name.rfind('/') */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1496, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1496, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(0, 1496, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1498 + /* "_pydevd_bundle/pydevd_cython.pyx":1491 * name = f_unhandled.f_code.co_filename * # basename * i = name.rfind('/') # <<<<<<<<<<<<<< * j = name.rfind('\\') * if j > i: */ - __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1498, __pyx_L1_error) + __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1499 + /* "_pydevd_bundle/pydevd_cython.pyx":1492 * # basename * i = name.rfind('/') * j = name.rfind('\\') # <<<<<<<<<<<<<< * if j > i: * i = j */ - __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1499, __pyx_L1_error) + __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1500 + /* "_pydevd_bundle/pydevd_cython.pyx":1493 * i = name.rfind('/') * j = name.rfind('\\') * if j > i: # <<<<<<<<<<<<<< * i = j * if i >= 0: */ - __pyx_t_3 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1500, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1500, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1493, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1493, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1501 + /* "_pydevd_bundle/pydevd_cython.pyx":1494 * j = name.rfind('\\') * if j > i: * i = j # <<<<<<<<<<<<<< @@ -28205,7 +28998,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_INCREF(__pyx_v_j); __Pyx_DECREF_SET(__pyx_v_i, __pyx_v_j); - /* "_pydevd_bundle/pydevd_cython.pyx":1500 + /* "_pydevd_bundle/pydevd_cython.pyx":1493 * i = name.rfind('/') * j = name.rfind('\\') * if j > i: # <<<<<<<<<<<<<< @@ -28214,19 +29007,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1502 + /* "_pydevd_bundle/pydevd_cython.pyx":1495 * if j > i: * i = j * if i >= 0: # <<<<<<<<<<<<<< * name = name[i + 1:] * # remove ext */ - __pyx_t_3 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1502, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1502, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1495, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1503 + /* "_pydevd_bundle/pydevd_cython.pyx":1496 * i = j * if i >= 0: * name = name[i + 1:] # <<<<<<<<<<<<<< @@ -28235,24 +29028,24 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ if (unlikely(__pyx_v_name == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1503, __pyx_L1_error) + __PYX_ERR(0, 1496, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1503, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = (__pyx_t_3 == Py_None); if (__pyx_t_1) { __pyx_t_4 = 0; } else { - __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1503, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1496, __pyx_L1_error) __pyx_t_4 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_GetSlice(__pyx_v_name, __pyx_t_4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1503, __pyx_L1_error) + __pyx_t_3 = PySequence_GetSlice(__pyx_v_name, __pyx_t_4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1502 + /* "_pydevd_bundle/pydevd_cython.pyx":1495 * if j > i: * i = j * if i >= 0: # <<<<<<<<<<<<<< @@ -28261,31 +29054,31 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1505 + /* "_pydevd_bundle/pydevd_cython.pyx":1498 * name = name[i + 1:] * # remove ext * i = name.rfind('.') # <<<<<<<<<<<<<< * if i >= 0: * name = name[:i] */ - __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1505, __pyx_L1_error) + __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1506 + /* "_pydevd_bundle/pydevd_cython.pyx":1499 * # remove ext * i = name.rfind('.') * if i >= 0: # <<<<<<<<<<<<<< * name = name[:i] * */ - __pyx_t_3 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1506, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1506, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1499, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1507 + /* "_pydevd_bundle/pydevd_cython.pyx":1500 * i = name.rfind('.') * if i >= 0: * name = name[:i] # <<<<<<<<<<<<<< @@ -28294,7 +29087,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ if (unlikely(__pyx_v_name == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1507, __pyx_L1_error) + __PYX_ERR(0, 1500, __pyx_L1_error) } __Pyx_INCREF(__pyx_v_i); __pyx_t_3 = __pyx_v_i; @@ -28302,16 +29095,16 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ if (__pyx_t_1) { __pyx_t_4 = PY_SSIZE_T_MAX; } else { - __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1507, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1500, __pyx_L1_error) __pyx_t_4 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_GetSlice(__pyx_v_name, 0, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1507, __pyx_L1_error) + __pyx_t_3 = PySequence_GetSlice(__pyx_v_name, 0, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1506 + /* "_pydevd_bundle/pydevd_cython.pyx":1499 * # remove ext * i = name.rfind('.') * if i >= 0: # <<<<<<<<<<<<<< @@ -28320,42 +29113,42 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1509 + /* "_pydevd_bundle/pydevd_cython.pyx":1502 * name = name[:i] * * if name == 'threading': # <<<<<<<<<<<<<< * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): * # We need __bootstrap_inner, not __bootstrap. */ - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_threading, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1509, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_threading, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1502, __pyx_L1_error) if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1510 + /* "_pydevd_bundle/pydevd_cython.pyx":1503 * * if name == 'threading': * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): # <<<<<<<<<<<<<< * # We need __bootstrap_inner, not __bootstrap. * return None, False */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1510, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1510, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_bootstrap, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1510, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_bootstrap, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1503, __pyx_L1_error) if (!__pyx_t_6) { } else { __pyx_t_1 = __pyx_t_6; goto __pyx_L10_bool_binop_done; } - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_bootstrap_2, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1510, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_bootstrap_2, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1503, __pyx_L1_error) __pyx_t_1 = __pyx_t_6; __pyx_L10_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = __pyx_t_1; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1512 + /* "_pydevd_bundle/pydevd_cython.pyx":1505 * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): * # We need __bootstrap_inner, not __bootstrap. * return None, False # <<<<<<<<<<<<<< @@ -28367,7 +29160,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_r = __pyx_tuple__10; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1510 + /* "_pydevd_bundle/pydevd_cython.pyx":1503 * * if name == 'threading': * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): # <<<<<<<<<<<<<< @@ -28376,41 +29169,41 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1514 + /* "_pydevd_bundle/pydevd_cython.pyx":1507 * return None, False * * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. * t = f_unhandled.f_locals.get('self') */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1514, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1514, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap_inner, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1514, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap_inner, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1507, __pyx_L1_error) if (!__pyx_t_1) { } else { __pyx_t_6 = __pyx_t_1; goto __pyx_L12_bool_binop_done; } - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap_inner_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1514, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap_inner_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1507, __pyx_L1_error) __pyx_t_6 = __pyx_t_1; __pyx_L12_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_6; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1516 + /* "_pydevd_bundle/pydevd_cython.pyx":1509 * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. * t = f_unhandled.f_locals.get('self') # <<<<<<<<<<<<<< * force_only_unhandled_tracer = True * if t is not None and isinstance(t, threading.Thread): */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1516, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1516, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -28431,14 +29224,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_s_self}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1516, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1517 + /* "_pydevd_bundle/pydevd_cython.pyx":1510 * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. * t = f_unhandled.f_locals.get('self') * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< @@ -28447,7 +29240,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ __pyx_v_force_only_unhandled_tracer = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1518 + /* "_pydevd_bundle/pydevd_cython.pyx":1511 * t = f_unhandled.f_locals.get('self') * force_only_unhandled_tracer = True * if t is not None and isinstance(t, threading.Thread): # <<<<<<<<<<<<<< @@ -28460,18 +29253,18 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_1 = __pyx_t_6; goto __pyx_L15_bool_binop_done; } - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1518, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Thread); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1518, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Thread); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = PyObject_IsInstance(__pyx_v_t, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1518, __pyx_L1_error) + __pyx_t_6 = PyObject_IsInstance(__pyx_v_t, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1511, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __pyx_t_6; __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1519 + /* "_pydevd_bundle/pydevd_cython.pyx":1512 * force_only_unhandled_tracer = True * if t is not None and isinstance(t, threading.Thread): * thread = t # <<<<<<<<<<<<<< @@ -28481,7 +29274,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_INCREF(__pyx_v_t); __Pyx_DECREF_SET(__pyx_v_thread, __pyx_v_t); - /* "_pydevd_bundle/pydevd_cython.pyx":1520 + /* "_pydevd_bundle/pydevd_cython.pyx":1513 * if t is not None and isinstance(t, threading.Thread): * thread = t * break # <<<<<<<<<<<<<< @@ -28490,7 +29283,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ goto __pyx_L4_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1518 + /* "_pydevd_bundle/pydevd_cython.pyx":1511 * t = f_unhandled.f_locals.get('self') * force_only_unhandled_tracer = True * if t is not None and isinstance(t, threading.Thread): # <<<<<<<<<<<<<< @@ -28499,7 +29292,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1514 + /* "_pydevd_bundle/pydevd_cython.pyx":1507 * return None, False * * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< @@ -28508,7 +29301,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1509 + /* "_pydevd_bundle/pydevd_cython.pyx":1502 * name = name[:i] * * if name == 'threading': # <<<<<<<<<<<<<< @@ -28518,33 +29311,33 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L8; } - /* "_pydevd_bundle/pydevd_cython.pyx":1522 + /* "_pydevd_bundle/pydevd_cython.pyx":1515 * break * * elif name == 'pydev_monkey': # <<<<<<<<<<<<<< * if f_unhandled.f_code.co_name == '__call__': * force_only_unhandled_tracer = True */ - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydev_monkey, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1522, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydev_monkey, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1515, __pyx_L1_error) if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1523 + /* "_pydevd_bundle/pydevd_cython.pyx":1516 * * elif name == 'pydev_monkey': * if f_unhandled.f_code.co_name == '__call__': # <<<<<<<<<<<<<< * force_only_unhandled_tracer = True * break */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1523, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1523, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_call_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1523, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_call_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1524 + /* "_pydevd_bundle/pydevd_cython.pyx":1517 * elif name == 'pydev_monkey': * if f_unhandled.f_code.co_name == '__call__': * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< @@ -28553,7 +29346,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ __pyx_v_force_only_unhandled_tracer = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1525 + /* "_pydevd_bundle/pydevd_cython.pyx":1518 * if f_unhandled.f_code.co_name == '__call__': * force_only_unhandled_tracer = True * break # <<<<<<<<<<<<<< @@ -28562,7 +29355,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ goto __pyx_L4_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1523 + /* "_pydevd_bundle/pydevd_cython.pyx":1516 * * elif name == 'pydev_monkey': * if f_unhandled.f_code.co_name == '__call__': # <<<<<<<<<<<<<< @@ -28571,7 +29364,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1522 + /* "_pydevd_bundle/pydevd_cython.pyx":1515 * break * * elif name == 'pydev_monkey': # <<<<<<<<<<<<<< @@ -28581,42 +29374,42 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L8; } - /* "_pydevd_bundle/pydevd_cython.pyx":1527 + /* "_pydevd_bundle/pydevd_cython.pyx":1520 * break * * elif name == 'pydevd': # <<<<<<<<<<<<<< * if f_unhandled.f_code.co_name in ('run', 'main'): * # We need to get to _exec */ - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1527, __pyx_L1_error) + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1520, __pyx_L1_error) if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1528 + /* "_pydevd_bundle/pydevd_cython.pyx":1521 * * elif name == 'pydevd': * if f_unhandled.f_code.co_name in ('run', 'main'): # <<<<<<<<<<<<<< * # We need to get to _exec * return None, False */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1528, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1528, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_run, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1528, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_run, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1521, __pyx_L1_error) if (!__pyx_t_6) { } else { __pyx_t_1 = __pyx_t_6; goto __pyx_L19_bool_binop_done; } - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_main, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1528, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_main, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1521, __pyx_L1_error) __pyx_t_1 = __pyx_t_6; __pyx_L19_bool_binop_done:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_1; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1530 + /* "_pydevd_bundle/pydevd_cython.pyx":1523 * if f_unhandled.f_code.co_name in ('run', 'main'): * # We need to get to _exec * return None, False # <<<<<<<<<<<<<< @@ -28628,7 +29421,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_r = __pyx_tuple__10; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1528 + /* "_pydevd_bundle/pydevd_cython.pyx":1521 * * elif name == 'pydevd': * if f_unhandled.f_code.co_name in ('run', 'main'): # <<<<<<<<<<<<<< @@ -28637,23 +29430,23 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1532 + /* "_pydevd_bundle/pydevd_cython.pyx":1525 * return None, False * * if f_unhandled.f_code.co_name == '_exec': # <<<<<<<<<<<<<< * force_only_unhandled_tracer = True * break */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1532, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1532, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_exec, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1532, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_exec, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1533 + /* "_pydevd_bundle/pydevd_cython.pyx":1526 * * if f_unhandled.f_code.co_name == '_exec': * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< @@ -28662,7 +29455,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ __pyx_v_force_only_unhandled_tracer = 1; - /* "_pydevd_bundle/pydevd_cython.pyx":1534 + /* "_pydevd_bundle/pydevd_cython.pyx":1527 * if f_unhandled.f_code.co_name == '_exec': * force_only_unhandled_tracer = True * break # <<<<<<<<<<<<<< @@ -28671,7 +29464,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ goto __pyx_L4_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1532 + /* "_pydevd_bundle/pydevd_cython.pyx":1525 * return None, False * * if f_unhandled.f_code.co_name == '_exec': # <<<<<<<<<<<<<< @@ -28680,7 +29473,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1527 + /* "_pydevd_bundle/pydevd_cython.pyx":1520 * break * * elif name == 'pydevd': # <<<<<<<<<<<<<< @@ -28690,17 +29483,17 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L8; } - /* "_pydevd_bundle/pydevd_cython.pyx":1536 + /* "_pydevd_bundle/pydevd_cython.pyx":1529 * break * * elif name == 'pydevd_tracing': # <<<<<<<<<<<<<< * return None, False * */ - __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd_tracing, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1536, __pyx_L1_error) + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd_tracing, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1529, __pyx_L1_error) if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1537 + /* "_pydevd_bundle/pydevd_cython.pyx":1530 * * elif name == 'pydevd_tracing': * return None, False # <<<<<<<<<<<<<< @@ -28712,7 +29505,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_r = __pyx_tuple__10; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1536 + /* "_pydevd_bundle/pydevd_cython.pyx":1529 * break * * elif name == 'pydevd_tracing': # <<<<<<<<<<<<<< @@ -28721,20 +29514,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1539 + /* "_pydevd_bundle/pydevd_cython.pyx":1532 * return None, False * * elif f_unhandled.f_back is None: # <<<<<<<<<<<<<< * break * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1539, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = (__pyx_t_3 == Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1540 + /* "_pydevd_bundle/pydevd_cython.pyx":1533 * * elif f_unhandled.f_back is None: * break # <<<<<<<<<<<<<< @@ -28743,7 +29536,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ goto __pyx_L4_break; - /* "_pydevd_bundle/pydevd_cython.pyx":1539 + /* "_pydevd_bundle/pydevd_cython.pyx":1532 * return None, False * * elif f_unhandled.f_back is None: # <<<<<<<<<<<<<< @@ -28753,21 +29546,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ } __pyx_L8:; - /* "_pydevd_bundle/pydevd_cython.pyx":1542 + /* "_pydevd_bundle/pydevd_cython.pyx":1535 * break * * f_unhandled = f_unhandled.f_back # <<<<<<<<<<<<<< * * if thread is None: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1542, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_f_unhandled, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L4_break:; - /* "_pydevd_bundle/pydevd_cython.pyx":1544 + /* "_pydevd_bundle/pydevd_cython.pyx":1537 * f_unhandled = f_unhandled.f_back * * if thread is None: # <<<<<<<<<<<<<< @@ -28777,32 +29570,32 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_thread == Py_None); if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1547 + /* "_pydevd_bundle/pydevd_cython.pyx":1540 * # Important: don't call threadingCurrentThread if we're in the threading module * # to avoid creating dummy threads. * if py_db.threading_get_ident is not None: # <<<<<<<<<<<<<< * thread = py_db.threading_active.get(py_db.threading_get_ident()) * if thread is None: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1547, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = (__pyx_t_3 != Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1548 + /* "_pydevd_bundle/pydevd_cython.pyx":1541 * # to avoid creating dummy threads. * if py_db.threading_get_ident is not None: * thread = py_db.threading_active.get(py_db.threading_get_ident()) # <<<<<<<<<<<<<< * if thread is None: * return None, False */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_active); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1548, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_active); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1548, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1548, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; __pyx_t_8 = 0; @@ -28822,7 +29615,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1548, __pyx_L1_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -28845,14 +29638,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1548, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF_SET(__pyx_v_thread, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1549 + /* "_pydevd_bundle/pydevd_cython.pyx":1542 * if py_db.threading_get_ident is not None: * thread = py_db.threading_active.get(py_db.threading_get_ident()) * if thread is None: # <<<<<<<<<<<<<< @@ -28862,7 +29655,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_thread == Py_None); if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1550 + /* "_pydevd_bundle/pydevd_cython.pyx":1543 * thread = py_db.threading_active.get(py_db.threading_get_ident()) * if thread is None: * return None, False # <<<<<<<<<<<<<< @@ -28874,7 +29667,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_r = __pyx_tuple__10; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1549 + /* "_pydevd_bundle/pydevd_cython.pyx":1542 * if py_db.threading_get_ident is not None: * thread = py_db.threading_active.get(py_db.threading_get_ident()) * if thread is None: # <<<<<<<<<<<<<< @@ -28883,7 +29676,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1547 + /* "_pydevd_bundle/pydevd_cython.pyx":1540 * # Important: don't call threadingCurrentThread if we're in the threading module * # to avoid creating dummy threads. * if py_db.threading_get_ident is not None: # <<<<<<<<<<<<<< @@ -28893,7 +29686,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L23; } - /* "_pydevd_bundle/pydevd_cython.pyx":1553 + /* "_pydevd_bundle/pydevd_cython.pyx":1546 * else: * # Jython does not have threading.get_ident(). * thread = py_db.threading_current_thread() # <<<<<<<<<<<<<< @@ -28901,7 +29694,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ * if getattr(thread, 'pydev_do_not_trace', None): */ /*else*/ { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_current_thread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1553, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_current_thread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -28921,7 +29714,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1553, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -28930,7 +29723,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ } __pyx_L23:; - /* "_pydevd_bundle/pydevd_cython.pyx":1544 + /* "_pydevd_bundle/pydevd_cython.pyx":1537 * f_unhandled = f_unhandled.f_back * * if thread is None: # <<<<<<<<<<<<<< @@ -28939,27 +29732,27 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1555 + /* "_pydevd_bundle/pydevd_cython.pyx":1548 * thread = py_db.threading_current_thread() * * if getattr(thread, 'pydev_do_not_trace', None): # <<<<<<<<<<<<<< * py_db.disable_tracing() * return None, False */ - __pyx_t_3 = __Pyx_GetAttr3(__pyx_v_thread, __pyx_n_s_pydev_do_not_trace, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1555, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetAttr3(__pyx_v_thread, __pyx_n_s_pydev_do_not_trace, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1555, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1548, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1556 + /* "_pydevd_bundle/pydevd_cython.pyx":1549 * * if getattr(thread, 'pydev_do_not_trace', None): * py_db.disable_tracing() # <<<<<<<<<<<<<< * return None, False * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_disable_tracing); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1556, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_disable_tracing); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -28979,13 +29772,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1556, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1557 + /* "_pydevd_bundle/pydevd_cython.pyx":1550 * if getattr(thread, 'pydev_do_not_trace', None): * py_db.disable_tracing() * return None, False # <<<<<<<<<<<<<< @@ -28997,7 +29790,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_r = __pyx_tuple__10; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1555 + /* "_pydevd_bundle/pydevd_cython.pyx":1548 * thread = py_db.threading_current_thread() * * if getattr(thread, 'pydev_do_not_trace', None): # <<<<<<<<<<<<<< @@ -29006,7 +29799,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1559 + /* "_pydevd_bundle/pydevd_cython.pyx":1552 * return None, False * * try: # <<<<<<<<<<<<<< @@ -29022,19 +29815,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1560 + /* "_pydevd_bundle/pydevd_cython.pyx":1553 * * try: * additional_info = thread.additional_info # <<<<<<<<<<<<<< * if additional_info is None: * raise AttributeError() */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_additional_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1560, __pyx_L26_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_additional_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1553, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_additional_info = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1561 + /* "_pydevd_bundle/pydevd_cython.pyx":1554 * try: * additional_info = thread.additional_info * if additional_info is None: # <<<<<<<<<<<<<< @@ -29044,20 +29837,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_additional_info == Py_None); if (unlikely(__pyx_t_6)) { - /* "_pydevd_bundle/pydevd_cython.pyx":1562 + /* "_pydevd_bundle/pydevd_cython.pyx":1555 * additional_info = thread.additional_info * if additional_info is None: * raise AttributeError() # <<<<<<<<<<<<<< * except: * additional_info = py_db.set_additional_thread_info(thread) */ - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_builtin_AttributeError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1562, __pyx_L26_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_builtin_AttributeError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1555, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1562, __pyx_L26_error) + __PYX_ERR(0, 1555, __pyx_L26_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1561 + /* "_pydevd_bundle/pydevd_cython.pyx":1554 * try: * additional_info = thread.additional_info * if additional_info is None: # <<<<<<<<<<<<<< @@ -29066,7 +29859,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1559 + /* "_pydevd_bundle/pydevd_cython.pyx":1552 * return None, False * * try: # <<<<<<<<<<<<<< @@ -29085,7 +29878,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1563 + /* "_pydevd_bundle/pydevd_cython.pyx":1556 * if additional_info is None: * raise AttributeError() * except: # <<<<<<<<<<<<<< @@ -29094,19 +29887,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ /*except:*/ { __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.fix_top_level_trace_and_get_trace_func", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 1563, __pyx_L28_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 1556, __pyx_L28_except_error) __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_7); - /* "_pydevd_bundle/pydevd_cython.pyx":1564 + /* "_pydevd_bundle/pydevd_cython.pyx":1557 * raise AttributeError() * except: * additional_info = py_db.set_additional_thread_info(thread) # <<<<<<<<<<<<<< * * # print('enter thread tracer', thread, get_current_thread_id(thread)) */ - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_additional_thread_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1564, __pyx_L28_except_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_additional_thread_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1557, __pyx_L28_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_14 = NULL; __pyx_t_8 = 0; @@ -29126,7 +29919,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_v_thread}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1564, __pyx_L28_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1557, __pyx_L28_except_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -29138,7 +29931,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L27_exception_handled; } - /* "_pydevd_bundle/pydevd_cython.pyx":1559 + /* "_pydevd_bundle/pydevd_cython.pyx":1552 * return None, False * * try: # <<<<<<<<<<<<<< @@ -29159,38 +29952,38 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_L31_try_end:; } - /* "_pydevd_bundle/pydevd_cython.pyx":1567 + /* "_pydevd_bundle/pydevd_cython.pyx":1560 * * # print('enter thread tracer', thread, get_current_thread_id(thread)) * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) # <<<<<<<<<<<<<< * * if f_unhandled is not None: */ - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_global_cache_skips); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1567, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_global_cache_skips); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_global_cache_frame_skips); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1567, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_global_cache_frame_skips); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1567, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_py_db); __Pyx_GIVEREF(__pyx_v_py_db); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_py_db)) __PYX_ERR(0, 1567, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_py_db)) __PYX_ERR(0, 1560, __pyx_L1_error); __Pyx_INCREF(__pyx_v_thread); __Pyx_GIVEREF(__pyx_v_thread); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_thread)) __PYX_ERR(0, 1567, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_thread)) __PYX_ERR(0, 1560, __pyx_L1_error); __Pyx_INCREF(__pyx_v_additional_info); __Pyx_GIVEREF(__pyx_v_additional_info); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_additional_info)) __PYX_ERR(0, 1567, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_additional_info)) __PYX_ERR(0, 1560, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_7); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_7)) __PYX_ERR(0, 1567, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_7)) __PYX_ERR(0, 1560, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_2)) __PYX_ERR(0, 1567, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_2)) __PYX_ERR(0, 1560, __pyx_L1_error); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_v_args = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1569 + /* "_pydevd_bundle/pydevd_cython.pyx":1562 * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) * * if f_unhandled is not None: # <<<<<<<<<<<<<< @@ -29200,14 +29993,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_f_unhandled != Py_None); if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1570 + /* "_pydevd_bundle/pydevd_cython.pyx":1563 * * if f_unhandled is not None: * if f_unhandled.f_back is None and not force_only_unhandled_tracer: # <<<<<<<<<<<<<< * # Happens when we attach to a running program (cannot reuse instance because it's mutable). * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1570, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = (__pyx_t_3 == Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -29221,42 +30014,42 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_L37_bool_binop_done:; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1572 + /* "_pydevd_bundle/pydevd_cython.pyx":1565 * if f_unhandled.f_back is None and not force_only_unhandled_tracer: * # Happens when we attach to a running program (cannot reuse instance because it's mutable). * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) # <<<<<<<<<<<<<< * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). * else: */ - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1572, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1572, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 1572, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 1565, __pyx_L1_error); __Pyx_INCREF(__pyx_v_args); __Pyx_GIVEREF(__pyx_v_args); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_args)) __PYX_ERR(0, 1572, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_args)) __PYX_ERR(0, 1565, __pyx_L1_error); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1572, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_top_level_thread_tracer = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1573 + /* "_pydevd_bundle/pydevd_cython.pyx":1566 * # Happens when we attach to a running program (cannot reuse instance because it's mutable). * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). # <<<<<<<<<<<<<< * else: * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_no_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1573, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_no_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_v_top_level_thread_tracer); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 1573, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_v_top_level_thread_tracer); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 1566, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1570 + /* "_pydevd_bundle/pydevd_cython.pyx":1563 * * if f_unhandled is not None: * if f_unhandled.f_back is None and not force_only_unhandled_tracer: # <<<<<<<<<<<<<< @@ -29266,7 +30059,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ goto __pyx_L36; } - /* "_pydevd_bundle/pydevd_cython.pyx":1575 + /* "_pydevd_bundle/pydevd_cython.pyx":1568 * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). * else: * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled # <<<<<<<<<<<<<< @@ -29274,12 +30067,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ * # Stop in some internal place to report about unhandled exceptions */ /*else*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1575, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_top_level_thread_tracer = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1576 + /* "_pydevd_bundle/pydevd_cython.pyx":1569 * else: * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled * if top_level_thread_tracer is None: # <<<<<<<<<<<<<< @@ -29289,28 +30082,28 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_top_level_thread_tracer == Py_None); if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1578 + /* "_pydevd_bundle/pydevd_cython.pyx":1571 * if top_level_thread_tracer is None: * # Stop in some internal place to report about unhandled exceptions * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) # <<<<<<<<<<<<<< * additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). * */ - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions), __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1578, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions), __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_top_level_thread_tracer, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1579 + /* "_pydevd_bundle/pydevd_cython.pyx":1572 * # Stop in some internal place to report about unhandled exceptions * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) * additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). # <<<<<<<<<<<<<< * * # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle, __pyx_v_top_level_thread_tracer) < 0) __PYX_ERR(0, 1579, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle, __pyx_v_top_level_thread_tracer) < 0) __PYX_ERR(0, 1572, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1576 + /* "_pydevd_bundle/pydevd_cython.pyx":1569 * else: * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled * if top_level_thread_tracer is None: # <<<<<<<<<<<<<< @@ -29321,14 +30114,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ } __pyx_L36:; - /* "_pydevd_bundle/pydevd_cython.pyx":1582 + /* "_pydevd_bundle/pydevd_cython.pyx":1575 * * # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) * f_trace = top_level_thread_tracer.get_trace_dispatch_func() # <<<<<<<<<<<<<< * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * f_trace = SafeCallWrapper(f_trace) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_top_level_thread_tracer, __pyx_n_s_get_trace_dispatch_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1582, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_top_level_thread_tracer, __pyx_n_s_get_trace_dispatch_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -29348,35 +30141,35 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1582, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_v_f_trace = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1584 + /* "_pydevd_bundle/pydevd_cython.pyx":1577 * f_trace = top_level_thread_tracer.get_trace_dispatch_func() * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * f_trace = SafeCallWrapper(f_trace) # <<<<<<<<<<<<<< * # ENDIF * f_unhandled.f_trace = f_trace */ - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_f_trace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1584, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_f_trace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_f_trace, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1586 + /* "_pydevd_bundle/pydevd_cython.pyx":1579 * f_trace = SafeCallWrapper(f_trace) * # ENDIF * f_unhandled.f_trace = f_trace # <<<<<<<<<<<<<< * * if frame is f_unhandled: */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_trace, __pyx_v_f_trace) < 0) __PYX_ERR(0, 1586, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_trace, __pyx_v_f_trace) < 0) __PYX_ERR(0, 1579, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1588 + /* "_pydevd_bundle/pydevd_cython.pyx":1581 * f_unhandled.f_trace = f_trace * * if frame is f_unhandled: # <<<<<<<<<<<<<< @@ -29386,7 +30179,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = (__pyx_v_frame == __pyx_v_f_unhandled); if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1589 + /* "_pydevd_bundle/pydevd_cython.pyx":1582 * * if frame is f_unhandled: * return f_trace, False # <<<<<<<<<<<<<< @@ -29394,19 +30187,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ * thread_tracer = additional_info.thread_tracer */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1589, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_f_trace); __Pyx_GIVEREF(__pyx_v_f_trace); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_f_trace)) __PYX_ERR(0, 1589, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_f_trace)) __PYX_ERR(0, 1582, __pyx_L1_error); __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_False)) __PYX_ERR(0, 1589, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_False)) __PYX_ERR(0, 1582, __pyx_L1_error); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1588 + /* "_pydevd_bundle/pydevd_cython.pyx":1581 * f_unhandled.f_trace = f_trace * * if frame is f_unhandled: # <<<<<<<<<<<<<< @@ -29415,7 +30208,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1569 + /* "_pydevd_bundle/pydevd_cython.pyx":1562 * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) * * if f_unhandled is not None: # <<<<<<<<<<<<<< @@ -29424,19 +30217,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1591 + /* "_pydevd_bundle/pydevd_cython.pyx":1584 * return f_trace, False * * thread_tracer = additional_info.thread_tracer # <<<<<<<<<<<<<< * if thread_tracer is None or thread_tracer._args[0] is not py_db: * thread_tracer = ThreadTracer(args) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1591, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_thread_tracer = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1592 + /* "_pydevd_bundle/pydevd_cython.pyx":1585 * * thread_tracer = additional_info.thread_tracer * if thread_tracer is None or thread_tracer._args[0] is not py_db: # <<<<<<<<<<<<<< @@ -29449,9 +30242,9 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_t_6 = __pyx_t_1; goto __pyx_L42_bool_binop_done; } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread_tracer, __pyx_n_s_args_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1592, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread_tracer, __pyx_n_s_args_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1592, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = (__pyx_t_2 != __pyx_v_py_db); @@ -29460,28 +30253,28 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ __pyx_L42_bool_binop_done:; if (__pyx_t_6) { - /* "_pydevd_bundle/pydevd_cython.pyx":1593 + /* "_pydevd_bundle/pydevd_cython.pyx":1586 * thread_tracer = additional_info.thread_tracer * if thread_tracer is None or thread_tracer._args[0] is not py_db: * thread_tracer = ThreadTracer(args) # <<<<<<<<<<<<<< * additional_info.thread_tracer = thread_tracer * */ - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1593, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_thread_tracer, __pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1594 + /* "_pydevd_bundle/pydevd_cython.pyx":1587 * if thread_tracer is None or thread_tracer._args[0] is not py_db: * thread_tracer = ThreadTracer(args) * additional_info.thread_tracer = thread_tracer # <<<<<<<<<<<<<< * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer, __pyx_v_thread_tracer) < 0) __PYX_ERR(0, 1594, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer, __pyx_v_thread_tracer) < 0) __PYX_ERR(0, 1587, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1592 + /* "_pydevd_bundle/pydevd_cython.pyx":1585 * * thread_tracer = additional_info.thread_tracer * if thread_tracer is None or thread_tracer._args[0] is not py_db: # <<<<<<<<<<<<<< @@ -29490,7 +30283,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1597 + /* "_pydevd_bundle/pydevd_cython.pyx":1590 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * return SafeCallWrapper(thread_tracer), True # <<<<<<<<<<<<<< @@ -29498,21 +30291,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ * # return thread_tracer, True */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_thread_tracer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1597, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_thread_tracer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1597, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(0, 1597, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(0, 1590, __pyx_L1_error); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_True)) __PYX_ERR(0, 1597, __pyx_L1_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, Py_True)) __PYX_ERR(0, 1590, __pyx_L1_error); __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1475 + /* "_pydevd_bundle/pydevd_cython.pyx":1468 * * * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< @@ -29547,7 +30340,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1603 +/* "_pydevd_bundle/pydevd_cython.pyx":1596 * * * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< @@ -29556,15 +30349,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_ */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13trace_dispatch(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9trace_dispatch = {"trace_dispatch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_13trace_dispatch = {"trace_dispatch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_13trace_dispatch, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13trace_dispatch(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -29617,7 +30410,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1603, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1596, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -29625,9 +30418,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1603, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1596, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 1); __PYX_ERR(0, 1603, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 1); __PYX_ERR(0, 1596, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -29635,9 +30428,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1603, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1596, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 2); __PYX_ERR(0, 1603, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 2); __PYX_ERR(0, 1596, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: @@ -29645,14 +30438,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[3]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1603, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1596, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 3); __PYX_ERR(0, 1603, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 3); __PYX_ERR(0, 1596, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 1603, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 1596, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 4)) { goto __pyx_L5_argtuple_error; @@ -29669,7 +30462,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1603, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1596, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -29683,7 +30476,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(__pyx_self, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12trace_dispatch(__pyx_self, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); /* function exit code */ { @@ -29696,7 +30489,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { PyObject *__pyx_v_thread_trace_func = NULL; PyObject *__pyx_v_apply_to_settrace = NULL; PyObject *__pyx_r = NULL; @@ -29713,14 +30506,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO int __pyx_clineno = 0; __Pyx_RefNannySetupContext("trace_dispatch", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1604 + /* "_pydevd_bundle/pydevd_cython.pyx":1597 * * def trace_dispatch(py_db, frame, event, arg): * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) # <<<<<<<<<<<<<< * if thread_trace_func is None: * return None if event == 'call' else NO_FTRACE */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; @@ -29740,7 +30533,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_py_db, __pyx_v_frame}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1604, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -29750,7 +30543,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1604, __pyx_L1_error) + __PYX_ERR(0, 1597, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -29763,15 +30556,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1604, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1604, __pyx_L1_error) + __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); @@ -29779,7 +30572,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 1604, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 1597, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_unpacking_done; @@ -29787,7 +30580,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1604, __pyx_L1_error) + __PYX_ERR(0, 1597, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_v_thread_trace_func = __pyx_t_2; @@ -29795,7 +30588,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __pyx_v_apply_to_settrace = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1605 + /* "_pydevd_bundle/pydevd_cython.pyx":1598 * def trace_dispatch(py_db, frame, event, arg): * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) * if thread_trace_func is None: # <<<<<<<<<<<<<< @@ -29805,7 +30598,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __pyx_t_7 = (__pyx_v_thread_trace_func == Py_None); if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1606 + /* "_pydevd_bundle/pydevd_cython.pyx":1599 * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) * if thread_trace_func is None: * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -29813,12 +30606,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO * py_db.enable_tracing(thread_trace_func) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1606, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1599, __pyx_L1_error) if (__pyx_t_7) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1606, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; @@ -29827,7 +30620,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1605 + /* "_pydevd_bundle/pydevd_cython.pyx":1598 * def trace_dispatch(py_db, frame, event, arg): * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) * if thread_trace_func is None: # <<<<<<<<<<<<<< @@ -29836,24 +30629,24 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1607 + /* "_pydevd_bundle/pydevd_cython.pyx":1600 * if thread_trace_func is None: * return None if event == 'call' else NO_FTRACE * if apply_to_settrace: # <<<<<<<<<<<<<< * py_db.enable_tracing(thread_trace_func) * return thread_trace_func(frame, event, arg) */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_apply_to_settrace); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1607, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_apply_to_settrace); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1600, __pyx_L1_error) if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1608 + /* "_pydevd_bundle/pydevd_cython.pyx":1601 * return None if event == 'call' else NO_FTRACE * if apply_to_settrace: * py_db.enable_tracing(thread_trace_func) # <<<<<<<<<<<<<< * return thread_trace_func(frame, event, arg) * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_enable_tracing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1608, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_enable_tracing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; __pyx_t_4 = 0; @@ -29873,13 +30666,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_thread_trace_func}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1608, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1607 + /* "_pydevd_bundle/pydevd_cython.pyx":1600 * if thread_trace_func is None: * return None if event == 'call' else NO_FTRACE * if apply_to_settrace: # <<<<<<<<<<<<<< @@ -29888,7 +30681,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1609 + /* "_pydevd_bundle/pydevd_cython.pyx":1602 * if apply_to_settrace: * py_db.enable_tracing(thread_trace_func) * return thread_trace_func(frame, event, arg) # <<<<<<<<<<<<<< @@ -29915,7 +30708,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -29923,7 +30716,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1603 + /* "_pydevd_bundle/pydevd_cython.pyx":1596 * * * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< @@ -29947,7 +30740,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHO return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1615 +/* "_pydevd_bundle/pydevd_cython.pyx":1608 * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: * cdef public tuple _args; * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -29991,12 +30784,12 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1615, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1608, __pyx_L3_error) else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1615, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1608, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; @@ -30007,7 +30800,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1615, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1608, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -30021,7 +30814,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1615, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1608, __pyx_L1_error) __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self), __pyx_v_args); /* function exit code */ @@ -30044,7 +30837,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1616 + /* "_pydevd_bundle/pydevd_cython.pyx":1609 * cdef public tuple _args; * def __init__(self, tuple args): * self._args = args # <<<<<<<<<<<<<< @@ -30057,7 +30850,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU __Pyx_DECREF(__pyx_v_self->_args); __pyx_v_self->_args = __pyx_v_args; - /* "_pydevd_bundle/pydevd_cython.pyx":1615 + /* "_pydevd_bundle/pydevd_cython.pyx":1608 * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: * cdef public tuple _args; * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -30071,7 +30864,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1624 +/* "_pydevd_bundle/pydevd_cython.pyx":1617 * # ENDIF * * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -30138,7 +30931,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1624, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1617, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -30146,9 +30939,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1624, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1617, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1624, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1617, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -30156,14 +30949,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1624, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1617, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1624, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1617, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_unhandled_exceptions") < 0)) __PYX_ERR(0, 1624, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_unhandled_exceptions") < 0)) __PYX_ERR(0, 1617, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 3)) { goto __pyx_L5_argtuple_error; @@ -30178,7 +30971,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1624, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1617, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -30223,14 +31016,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("trace_unhandled_exceptions", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1627 + /* "_pydevd_bundle/pydevd_cython.pyx":1620 * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) * if event == 'exception' and arg is not None: # <<<<<<<<<<<<<< * py_db, t, additional_info = self._args[0:3] * if arg is not None: */ - __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1627, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1620, __pyx_L1_error) if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; @@ -30241,7 +31034,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1628 + /* "_pydevd_bundle/pydevd_cython.pyx":1621 * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) * if event == 'exception' and arg is not None: * py_db, t, additional_info = self._args[0:3] # <<<<<<<<<<<<<< @@ -30250,9 +31043,9 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1628, __pyx_L1_error) + __PYX_ERR(0, 1621, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (1) { PyObject* sequence = __pyx_t_3; @@ -30260,7 +31053,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1628, __pyx_L1_error) + __PYX_ERR(0, 1621, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); @@ -30270,11 +31063,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); #else - __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1628, __pyx_L1_error) + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1628, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1628, __pyx_L1_error) + __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -30286,7 +31079,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace __pyx_v_additional_info = __pyx_t_6; __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1629 + /* "_pydevd_bundle/pydevd_cython.pyx":1622 * if event == 'exception' and arg is not None: * py_db, t, additional_info = self._args[0:3] * if arg is not None: # <<<<<<<<<<<<<< @@ -30296,37 +31089,37 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace __pyx_t_1 = (__pyx_v_arg != Py_None); if (__pyx_t_1) { - /* "_pydevd_bundle/pydevd_cython.pyx":1630 + /* "_pydevd_bundle/pydevd_cython.pyx":1623 * py_db, t, additional_info = self._args[0:3] * if arg is not None: * if not additional_info.suspended_at_unhandled: # <<<<<<<<<<<<<< * additional_info.suspended_at_unhandled = True * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1630, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1630, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1631 + /* "_pydevd_bundle/pydevd_cython.pyx":1624 * if arg is not None: * if not additional_info.suspended_at_unhandled: * additional_info.suspended_at_unhandled = True # <<<<<<<<<<<<<< * * py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled, Py_True) < 0) __PYX_ERR(0, 1631, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled, Py_True) < 0) __PYX_ERR(0, 1624, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1633 + /* "_pydevd_bundle/pydevd_cython.pyx":1626 * additional_info.suspended_at_unhandled = True * * py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) # <<<<<<<<<<<<<< * * # No need to reset frame.f_trace to keep the same trace function. */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1633, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; __pyx_t_7 = 0; @@ -30346,13 +31139,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace PyObject *__pyx_callargs[5] = {__pyx_t_5, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_arg}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 4+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1633, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1630 + /* "_pydevd_bundle/pydevd_cython.pyx":1623 * py_db, t, additional_info = self._args[0:3] * if arg is not None: * if not additional_info.suspended_at_unhandled: # <<<<<<<<<<<<<< @@ -30361,7 +31154,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1629 + /* "_pydevd_bundle/pydevd_cython.pyx":1622 * if event == 'exception' and arg is not None: * py_db, t, additional_info = self._args[0:3] * if arg is not None: # <<<<<<<<<<<<<< @@ -30370,7 +31163,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1627 + /* "_pydevd_bundle/pydevd_cython.pyx":1620 * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) * if event == 'exception' and arg is not None: # <<<<<<<<<<<<<< @@ -30379,7 +31172,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1636 + /* "_pydevd_bundle/pydevd_cython.pyx":1629 * * # No need to reset frame.f_trace to keep the same trace function. * return self.trace_unhandled_exceptions # <<<<<<<<<<<<<< @@ -30387,13 +31180,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace * def get_trace_dispatch_func(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1636, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1624 + /* "_pydevd_bundle/pydevd_cython.pyx":1617 * # ENDIF * * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -30418,7 +31211,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1638 +/* "_pydevd_bundle/pydevd_cython.pyx":1631 * return self.trace_unhandled_exceptions * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< @@ -30476,7 +31269,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_trace_dispatch_func", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1639 + /* "_pydevd_bundle/pydevd_cython.pyx":1632 * * def get_trace_dispatch_func(self): * return self.trace_unhandled_exceptions # <<<<<<<<<<<<<< @@ -30484,13 +31277,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1639, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1638 + /* "_pydevd_bundle/pydevd_cython.pyx":1631 * return self.trace_unhandled_exceptions * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< @@ -30509,7 +31302,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1614 +/* "_pydevd_bundle/pydevd_cython.pyx":1607 * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: * cdef public tuple _args; # <<<<<<<<<<<<<< @@ -30571,7 +31364,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyU const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 1); - if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1614, __pyx_L1_error) + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1607, __pyx_L1_error) __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -31024,7 +31817,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1650 +/* "_pydevd_bundle/pydevd_cython.pyx":1643 * cdef public set _raise_lines; * cdef public int _last_raise_line; * def __init__(self, frame_trace_dispatch, tuple args): # <<<<<<<<<<<<<< @@ -31071,7 +31864,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1650, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1643, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -31079,14 +31872,14 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac (void)__Pyx_Arg_NewRef_VARARGS(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1650, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1643, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1643, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1650, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1643, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 2)) { goto __pyx_L5_argtuple_error; @@ -31099,7 +31892,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1643, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -31113,7 +31906,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1650, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1643, __pyx_L1_error) __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), __pyx_v_frame_trace_dispatch, __pyx_v_args); /* function exit code */ @@ -31140,7 +31933,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1651 + /* "_pydevd_bundle/pydevd_cython.pyx":1644 * cdef public int _last_raise_line; * def __init__(self, frame_trace_dispatch, tuple args): * self._frame_trace_dispatch = frame_trace_dispatch # <<<<<<<<<<<<<< @@ -31153,7 +31946,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __Pyx_DECREF(__pyx_v_self->_frame_trace_dispatch); __pyx_v_self->_frame_trace_dispatch = __pyx_v_frame_trace_dispatch; - /* "_pydevd_bundle/pydevd_cython.pyx":1652 + /* "_pydevd_bundle/pydevd_cython.pyx":1645 * def __init__(self, frame_trace_dispatch, tuple args): * self._frame_trace_dispatch = frame_trace_dispatch * self._args = args # <<<<<<<<<<<<<< @@ -31166,7 +31959,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __Pyx_DECREF(__pyx_v_self->_args); __pyx_v_self->_args = __pyx_v_args; - /* "_pydevd_bundle/pydevd_cython.pyx":1653 + /* "_pydevd_bundle/pydevd_cython.pyx":1646 * self._frame_trace_dispatch = frame_trace_dispatch * self._args = args * self.try_except_infos = None # <<<<<<<<<<<<<< @@ -31179,7 +31972,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __Pyx_DECREF(__pyx_v_self->try_except_infos); __pyx_v_self->try_except_infos = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":1654 + /* "_pydevd_bundle/pydevd_cython.pyx":1647 * self._args = args * self.try_except_infos = None * self._last_exc_arg = None # <<<<<<<<<<<<<< @@ -31192,14 +31985,14 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __Pyx_DECREF(__pyx_v_self->_last_exc_arg); __pyx_v_self->_last_exc_arg = Py_None; - /* "_pydevd_bundle/pydevd_cython.pyx":1655 + /* "_pydevd_bundle/pydevd_cython.pyx":1648 * self.try_except_infos = None * self._last_exc_arg = None * self._raise_lines = set() # <<<<<<<<<<<<<< * self._last_raise_line = -1 * # ELSE */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1655, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_raise_lines); @@ -31207,7 +32000,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac __pyx_v_self->_raise_lines = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1656 + /* "_pydevd_bundle/pydevd_cython.pyx":1649 * self._last_exc_arg = None * self._raise_lines = set() * self._last_raise_line = -1 # <<<<<<<<<<<<<< @@ -31216,7 +32009,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac */ __pyx_v_self->_last_raise_line = -1; - /* "_pydevd_bundle/pydevd_cython.pyx":1650 + /* "_pydevd_bundle/pydevd_cython.pyx":1643 * cdef public set _raise_lines; * cdef public int _last_raise_line; * def __init__(self, frame_trace_dispatch, tuple args): # <<<<<<<<<<<<<< @@ -31236,7 +32029,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1680 +/* "_pydevd_bundle/pydevd_cython.pyx":1673 * # ENDIF * * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -31303,7 +32096,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1680, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1673, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -31311,9 +32104,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1680, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1673, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1680, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1673, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -31321,14 +32114,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1680, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1673, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1680, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1673, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch_and_unhandled_exceptions") < 0)) __PYX_ERR(0, 1680, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "trace_dispatch_and_unhandled_exceptions") < 0)) __PYX_ERR(0, 1673, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 3)) { goto __pyx_L5_argtuple_error; @@ -31343,7 +32136,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1680, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1673, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -31399,7 +32192,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("trace_dispatch_and_unhandled_exceptions", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1683 + /* "_pydevd_bundle/pydevd_cython.pyx":1676 * # DEBUG = 'code_to_debug' in frame.f_code.co_filename * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) * frame_trace_dispatch = self._frame_trace_dispatch # <<<<<<<<<<<<<< @@ -31411,7 +32204,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_v_frame_trace_dispatch = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1684 + /* "_pydevd_bundle/pydevd_cython.pyx":1677 * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) * frame_trace_dispatch = self._frame_trace_dispatch * if frame_trace_dispatch is not None: # <<<<<<<<<<<<<< @@ -31421,7 +32214,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_t_2 = (__pyx_v_frame_trace_dispatch != Py_None); if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1685 + /* "_pydevd_bundle/pydevd_cython.pyx":1678 * frame_trace_dispatch = self._frame_trace_dispatch * if frame_trace_dispatch is not None: * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) # <<<<<<<<<<<<<< @@ -31447,7 +32240,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1685, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -31457,7 +32250,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_v_self->_frame_trace_dispatch = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1684 + /* "_pydevd_bundle/pydevd_cython.pyx":1677 * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) * frame_trace_dispatch = self._frame_trace_dispatch * if frame_trace_dispatch is not None: # <<<<<<<<<<<<<< @@ -31466,17 +32259,17 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1687 + /* "_pydevd_bundle/pydevd_cython.pyx":1680 * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) * * if event == 'exception': # <<<<<<<<<<<<<< * self._last_exc_arg = arg * self._raise_lines.add(frame.f_lineno) */ - __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1687, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1680, __pyx_L1_error) if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1688 + /* "_pydevd_bundle/pydevd_cython.pyx":1681 * * if event == 'exception': * self._last_exc_arg = arg # <<<<<<<<<<<<<< @@ -31489,7 +32282,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __Pyx_DECREF(__pyx_v_self->_last_exc_arg); __pyx_v_self->_last_exc_arg = __pyx_v_arg; - /* "_pydevd_bundle/pydevd_cython.pyx":1689 + /* "_pydevd_bundle/pydevd_cython.pyx":1682 * if event == 'exception': * self._last_exc_arg = arg * self._raise_lines.add(frame.f_lineno) # <<<<<<<<<<<<<< @@ -31498,27 +32291,27 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ if (unlikely(__pyx_v_self->_raise_lines == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add"); - __PYX_ERR(0, 1689, __pyx_L1_error) + __PYX_ERR(0, 1682, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1689, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PySet_Add(__pyx_v_self->_raise_lines, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1689, __pyx_L1_error) + __pyx_t_6 = PySet_Add(__pyx_v_self->_raise_lines, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1690 + /* "_pydevd_bundle/pydevd_cython.pyx":1683 * self._last_exc_arg = arg * self._raise_lines.add(frame.f_lineno) * self._last_raise_line = frame.f_lineno # <<<<<<<<<<<<<< * * elif event == 'return' and self._last_exc_arg is not None: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1690, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1690, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->_last_raise_line = __pyx_t_5; - /* "_pydevd_bundle/pydevd_cython.pyx":1687 + /* "_pydevd_bundle/pydevd_cython.pyx":1680 * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) * * if event == 'exception': # <<<<<<<<<<<<<< @@ -31528,14 +32321,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace goto __pyx_L4; } - /* "_pydevd_bundle/pydevd_cython.pyx":1692 + /* "_pydevd_bundle/pydevd_cython.pyx":1685 * self._last_raise_line = frame.f_lineno * * elif event == 'return' and self._last_exc_arg is not None: # <<<<<<<<<<<<<< * # For unhandled exceptions we actually track the return when at the topmost level. * try: */ - __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1692, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1685, __pyx_L1_error) if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; @@ -31546,7 +32339,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_L5_bool_binop_done:; if (__pyx_t_2) { - /* "_pydevd_bundle/pydevd_cython.pyx":1694 + /* "_pydevd_bundle/pydevd_cython.pyx":1687 * elif event == 'return' and self._last_exc_arg is not None: * # For unhandled exceptions we actually track the return when at the topmost level. * try: # <<<<<<<<<<<<<< @@ -31555,7 +32348,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1695 + /* "_pydevd_bundle/pydevd_cython.pyx":1688 * # For unhandled exceptions we actually track the return when at the topmost level. * try: * py_db, t, additional_info = self._args[0:3] # <<<<<<<<<<<<<< @@ -31564,9 +32357,9 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ if (unlikely(__pyx_v_self->_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1695, __pyx_L8_error) + __PYX_ERR(0, 1688, __pyx_L8_error) } - __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1695, __pyx_L8_error) + __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1688, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_1); if (1) { PyObject* sequence = __pyx_t_1; @@ -31574,7 +32367,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1695, __pyx_L8_error) + __PYX_ERR(0, 1688, __pyx_L8_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); @@ -31584,11 +32377,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1695, __pyx_L8_error) + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1688, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1695, __pyx_L8_error) + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1688, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1695, __pyx_L8_error) + __pyx_t_8 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1688, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -31600,21 +32393,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_v_additional_info = __pyx_t_8; __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1696 + /* "_pydevd_bundle/pydevd_cython.pyx":1689 * try: * py_db, t, additional_info = self._args[0:3] * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. # <<<<<<<<<<<<<< * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1696, __pyx_L8_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1689, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1696, __pyx_L8_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1689, __pyx_L8_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = (!__pyx_t_2); if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1697 + /* "_pydevd_bundle/pydevd_cython.pyx":1690 * py_db, t, additional_info = self._args[0:3] * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): # <<<<<<<<<<<<<< @@ -31623,21 +32416,21 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ __pyx_t_1 = __pyx_v_self->_raise_lines; __Pyx_INCREF(__pyx_t_1); - __pyx_t_8 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(((PyObject *)__pyx_v_self), __pyx_v_py_db, __pyx_v_frame, __pyx_v_self->_last_raise_line, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1697, __pyx_L8_error) + __pyx_t_8 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(((PyObject *)__pyx_v_self), __pyx_v_py_db, __pyx_v_frame, __pyx_v_self->_last_raise_line, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1690, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1697, __pyx_L8_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1690, __pyx_L8_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1698 + /* "_pydevd_bundle/pydevd_cython.pyx":1691 * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) # <<<<<<<<<<<<<< * finally: * # Remove reference to exception after handling it. */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1698, __pyx_L8_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1691, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = NULL; __pyx_t_5 = 0; @@ -31657,13 +32450,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace PyObject *__pyx_callargs[5] = {__pyx_t_4, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_self->_last_exc_arg}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 4+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1698, __pyx_L8_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1691, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1697 + /* "_pydevd_bundle/pydevd_cython.pyx":1690 * py_db, t, additional_info = self._args[0:3] * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): # <<<<<<<<<<<<<< @@ -31672,7 +32465,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1696 + /* "_pydevd_bundle/pydevd_cython.pyx":1689 * try: * py_db, t, additional_info = self._args[0:3] * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. # <<<<<<<<<<<<<< @@ -31682,7 +32475,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace } } - /* "_pydevd_bundle/pydevd_cython.pyx":1701 + /* "_pydevd_bundle/pydevd_cython.pyx":1694 * finally: * # Remove reference to exception after handling it. * self._last_exc_arg = None # <<<<<<<<<<<<<< @@ -31740,7 +32533,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_L9:; } - /* "_pydevd_bundle/pydevd_cython.pyx":1692 + /* "_pydevd_bundle/pydevd_cython.pyx":1685 * self._last_raise_line = frame.f_lineno * * elif event == 'return' and self._last_exc_arg is not None: # <<<<<<<<<<<<<< @@ -31750,31 +32543,31 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace } __pyx_L4:; - /* "_pydevd_bundle/pydevd_cython.pyx":1703 + /* "_pydevd_bundle/pydevd_cython.pyx":1696 * self._last_exc_arg = None * * ret = self.trace_dispatch_and_unhandled_exceptions # <<<<<<<<<<<<<< * * # Need to reset (the call to _frame_trace_dispatch may have changed it). */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1703, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_ret = __pyx_t_8; __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1707 + /* "_pydevd_bundle/pydevd_cython.pyx":1700 * # Need to reset (the call to _frame_trace_dispatch may have changed it). * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * frame.f_trace = SafeCallWrapper(ret) # <<<<<<<<<<<<<< * # ELSE * # frame.f_trace = ret */ - __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1707, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_8) < 0) __PYX_ERR(0, 1707, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_8) < 0) __PYX_ERR(0, 1700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1711 + /* "_pydevd_bundle/pydevd_cython.pyx":1704 * # frame.f_trace = ret * # ENDIF * return ret # <<<<<<<<<<<<<< @@ -31786,7 +32579,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace __pyx_r = __pyx_v_ret; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1680 + /* "_pydevd_bundle/pydevd_cython.pyx":1673 * # ENDIF * * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -31813,7 +32606,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1713 +/* "_pydevd_bundle/pydevd_cython.pyx":1706 * return ret * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< @@ -31871,7 +32664,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_trace_dispatch_func", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1714 + /* "_pydevd_bundle/pydevd_cython.pyx":1707 * * def get_trace_dispatch_func(self): * return self.trace_dispatch_and_unhandled_exceptions # <<<<<<<<<<<<<< @@ -31879,13 +32672,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1714, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1713 + /* "_pydevd_bundle/pydevd_cython.pyx":1706 * return ret * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< @@ -31904,7 +32697,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1644 +/* "_pydevd_bundle/pydevd_cython.pyx":1637 * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class TopLevelThreadTracerNoBackFrame: * cdef public object _frame_trace_dispatch; # <<<<<<<<<<<<<< @@ -32005,7 +32798,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1645 +/* "_pydevd_bundle/pydevd_cython.pyx":1638 * cdef class TopLevelThreadTracerNoBackFrame: * cdef public object _frame_trace_dispatch; * cdef public tuple _args; # <<<<<<<<<<<<<< @@ -32067,7 +32860,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 1); - if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1645, __pyx_L1_error) + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1638, __pyx_L1_error) __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -32119,7 +32912,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1646 +/* "_pydevd_bundle/pydevd_cython.pyx":1639 * cdef public object _frame_trace_dispatch; * cdef public tuple _args; * cdef public object try_except_infos; # <<<<<<<<<<<<<< @@ -32220,7 +33013,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1647 +/* "_pydevd_bundle/pydevd_cython.pyx":1640 * cdef public tuple _args; * cdef public object try_except_infos; * cdef public object _last_exc_arg; # <<<<<<<<<<<<<< @@ -32321,7 +33114,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1648 +/* "_pydevd_bundle/pydevd_cython.pyx":1641 * cdef public object try_except_infos; * cdef public object _last_exc_arg; * cdef public set _raise_lines; # <<<<<<<<<<<<<< @@ -32383,7 +33176,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 1); - if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_v_value))) __PYX_ERR(0, 1648, __pyx_L1_error) + if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_v_value))) __PYX_ERR(0, 1641, __pyx_L1_error) __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -32435,7 +33228,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1649 +/* "_pydevd_bundle/pydevd_cython.pyx":1642 * cdef public object _last_exc_arg; * cdef public set _raise_lines; * cdef public int _last_raise_line; # <<<<<<<<<<<<<< @@ -32467,7 +33260,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 1); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_raise_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_raise_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -32505,7 +33298,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBac int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1649, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1642, __pyx_L1_error) __pyx_v_self->_last_raise_line = __pyx_t_1; /* function exit code */ @@ -32963,7 +33756,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTrace return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1720 +/* "_pydevd_bundle/pydevd_cython.pyx":1713 * cdef class ThreadTracer: * cdef public tuple _args; * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -33007,12 +33800,12 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__(Py (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1720, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1713, __pyx_L3_error) else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1720, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1713, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 1)) { goto __pyx_L5_argtuple_error; @@ -33023,7 +33816,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__(Py } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1720, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1713, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -33037,7 +33830,7 @@ static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__(Py __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1720, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1713, __pyx_L1_error) __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self), __pyx_v_args); /* function exit code */ @@ -33060,7 +33853,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(str __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1721 + /* "_pydevd_bundle/pydevd_cython.pyx":1714 * cdef public tuple _args; * def __init__(self, tuple args): * self._args = args # <<<<<<<<<<<<<< @@ -33073,7 +33866,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(str __Pyx_DECREF(__pyx_v_self->_args); __pyx_v_self->_args = __pyx_v_args; - /* "_pydevd_bundle/pydevd_cython.pyx":1720 + /* "_pydevd_bundle/pydevd_cython.pyx":1713 * cdef class ThreadTracer: * cdef public tuple _args; * def __init__(self, tuple args): # <<<<<<<<<<<<<< @@ -33087,7 +33880,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(str return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1729 +/* "_pydevd_bundle/pydevd_cython.pyx":1722 * # ENDIF * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -33141,7 +33934,7 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__cal (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1729, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1722, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -33149,9 +33942,9 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__cal (void)__Pyx_Arg_NewRef_VARARGS(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1729, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1722, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 1); __PYX_ERR(0, 1729, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 1); __PYX_ERR(0, 1722, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -33159,14 +33952,14 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__cal (void)__Pyx_Arg_NewRef_VARARGS(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1729, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1722, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 2); __PYX_ERR(0, 1729, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 2); __PYX_ERR(0, 1722, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(0, 1729, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(0, 1722, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 3)) { goto __pyx_L5_argtuple_error; @@ -33181,7 +33974,7 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__cal } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1729, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1722, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -33247,7 +34040,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__call__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1755 + /* "_pydevd_bundle/pydevd_cython.pyx":1748 * # DEBUG = 'code_to_debug' in frame.f_code.co_filename * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args # <<<<<<<<<<<<<< @@ -33262,7 +34055,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal if (unlikely(size != 5)) { if (size > 5) __Pyx_RaiseTooManyValuesError(5); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1755, __pyx_L1_error) + __PYX_ERR(0, 1748, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); @@ -33280,7 +34073,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal Py_ssize_t i; PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6}; for (i=0; i < 5; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1755, __pyx_L1_error) + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1748, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } @@ -33288,10 +34081,10 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 1755, __pyx_L1_error) + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 1748, __pyx_L1_error) } - if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 1755, __pyx_L1_error) - if (!(likely(PyDict_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_5))) __PYX_ERR(0, 1755, __pyx_L1_error) + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 1748, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_5))) __PYX_ERR(0, 1748, __pyx_L1_error) __pyx_v_py_db = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_t = __pyx_t_3; @@ -33303,7 +34096,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_v_frame_skips_cache = __pyx_t_6; __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1756 + /* "_pydevd_bundle/pydevd_cython.pyx":1749 * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args * if additional_info.is_tracing: # <<<<<<<<<<<<<< @@ -33313,7 +34106,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_7 = (__pyx_v_additional_info->is_tracing != 0); if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1757 + /* "_pydevd_bundle/pydevd_cython.pyx":1750 * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args * if additional_info.is_tracing: * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch # <<<<<<<<<<<<<< @@ -33321,12 +34114,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * additional_info.is_tracing += 1 */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1757, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1750, __pyx_L1_error) if (__pyx_t_7) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1757, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33335,7 +34128,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1756 + /* "_pydevd_bundle/pydevd_cython.pyx":1749 * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args * if additional_info.is_tracing: # <<<<<<<<<<<<<< @@ -33344,7 +34137,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1759 + /* "_pydevd_bundle/pydevd_cython.pyx":1752 * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch * * additional_info.is_tracing += 1 # <<<<<<<<<<<<<< @@ -33353,7 +34146,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ __pyx_v_additional_info->is_tracing = (__pyx_v_additional_info->is_tracing + 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1760 + /* "_pydevd_bundle/pydevd_cython.pyx":1753 * * additional_info.is_tracing += 1 * try: # <<<<<<<<<<<<<< @@ -33370,7 +34163,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1761 + /* "_pydevd_bundle/pydevd_cython.pyx":1754 * additional_info.is_tracing += 1 * try: * pydev_step_cmd = additional_info.pydev_step_cmd # <<<<<<<<<<<<<< @@ -33380,7 +34173,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; __pyx_v_pydev_step_cmd = __pyx_t_11; - /* "_pydevd_bundle/pydevd_cython.pyx":1762 + /* "_pydevd_bundle/pydevd_cython.pyx":1755 * try: * pydev_step_cmd = additional_info.pydev_step_cmd * is_stepping = pydev_step_cmd != -1 # <<<<<<<<<<<<<< @@ -33389,20 +34182,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ __pyx_v_is_stepping = (__pyx_v_pydev_step_cmd != -1L); - /* "_pydevd_bundle/pydevd_cython.pyx":1763 + /* "_pydevd_bundle/pydevd_cython.pyx":1756 * pydev_step_cmd = additional_info.pydev_step_cmd * is_stepping = pydev_step_cmd != -1 * if py_db.pydb_disposed: # <<<<<<<<<<<<<< * return None if event == 'call' else NO_FTRACE * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1763, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1756, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1763, __pyx_L7_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1756, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { - /* "_pydevd_bundle/pydevd_cython.pyx":1764 + /* "_pydevd_bundle/pydevd_cython.pyx":1757 * is_stepping = pydev_step_cmd != -1 * if py_db.pydb_disposed: * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -33410,12 +34203,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # if thread is not alive, cancel trace_dispatch processing */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1764, __pyx_L7_error) + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1757, __pyx_L7_error) if (__pyx_t_7) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1764, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1757, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33424,7 +34217,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1763 + /* "_pydevd_bundle/pydevd_cython.pyx":1756 * pydev_step_cmd = additional_info.pydev_step_cmd * is_stepping = pydev_step_cmd != -1 * if py_db.pydb_disposed: # <<<<<<<<<<<<<< @@ -33433,14 +34226,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1767 + /* "_pydevd_bundle/pydevd_cython.pyx":1760 * * # if thread is not alive, cancel trace_dispatch processing * if not is_thread_alive(t): # <<<<<<<<<<<<<< * py_db.notify_thread_not_alive(get_current_thread_id(t)) * return None if event == 'call' else NO_FTRACE */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1767, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1760, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; __pyx_t_11 = 0; @@ -33460,25 +34253,25 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_t}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1767, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1760, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1767, __pyx_L7_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1760, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_12 = (!__pyx_t_7); if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1768 + /* "_pydevd_bundle/pydevd_cython.pyx":1761 * # if thread is not alive, cancel trace_dispatch processing * if not is_thread_alive(t): * py_db.notify_thread_not_alive(get_current_thread_id(t)) # <<<<<<<<<<<<<< * return None if event == 'call' else NO_FTRACE * */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_thread_not_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1768, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_thread_not_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1761, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1768, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1761, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_11 = 0; @@ -33498,7 +34291,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_t}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1768, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1761, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -33521,13 +34314,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1768, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1761, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1769 + /* "_pydevd_bundle/pydevd_cython.pyx":1762 * if not is_thread_alive(t): * py_db.notify_thread_not_alive(get_current_thread_id(t)) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -33535,12 +34328,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # Note: it's important that the context name is also given because we may hit something once */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1769, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1762, __pyx_L7_error) if (__pyx_t_12) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1769, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1762, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33549,7 +34342,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1767 + /* "_pydevd_bundle/pydevd_cython.pyx":1760 * * # if thread is not alive, cancel trace_dispatch processing * if not is_thread_alive(t): # <<<<<<<<<<<<<< @@ -33558,19 +34351,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1773 + /* "_pydevd_bundle/pydevd_cython.pyx":1766 * # Note: it's important that the context name is also given because we may hit something once * # in the global context and another in the local context. * frame_cache_key = frame.f_code # <<<<<<<<<<<<<< * if frame_cache_key in cache_skips: * if not is_stepping: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1773, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1766, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_frame_cache_key = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1774 + /* "_pydevd_bundle/pydevd_cython.pyx":1767 * # in the global context and another in the local context. * frame_cache_key = frame.f_code * if frame_cache_key in cache_skips: # <<<<<<<<<<<<<< @@ -33579,12 +34372,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 1774, __pyx_L7_error) + __PYX_ERR(0, 1767, __pyx_L7_error) } - __pyx_t_12 = (__Pyx_PyDict_ContainsTF(__pyx_v_frame_cache_key, __pyx_v_cache_skips, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1774, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyDict_ContainsTF(__pyx_v_frame_cache_key, __pyx_v_cache_skips, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1767, __pyx_L7_error) if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1775 + /* "_pydevd_bundle/pydevd_cython.pyx":1768 * frame_cache_key = frame.f_code * if frame_cache_key in cache_skips: * if not is_stepping: # <<<<<<<<<<<<<< @@ -33594,7 +34387,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_12 = (!__pyx_v_is_stepping); if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1777 + /* "_pydevd_bundle/pydevd_cython.pyx":1770 * if not is_stepping: * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -33602,12 +34395,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # When stepping we can't take into account caching based on the breakpoints (only global filtering). */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1777, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1770, __pyx_L7_error) if (__pyx_t_12) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1777, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1770, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33616,7 +34409,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1775 + /* "_pydevd_bundle/pydevd_cython.pyx":1768 * frame_cache_key = frame.f_code * if frame_cache_key in cache_skips: * if not is_stepping: # <<<<<<<<<<<<<< @@ -33625,7 +34418,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1780 + /* "_pydevd_bundle/pydevd_cython.pyx":1773 * else: * # When stepping we can't take into account caching based on the breakpoints (only global filtering). * if cache_skips.get(frame_cache_key) == 1: # <<<<<<<<<<<<<< @@ -33635,15 +34428,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal /*else*/ { if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 1780, __pyx_L7_error) + __PYX_ERR(0, 1773, __pyx_L7_error) } - __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_frame_cache_key, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1780, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_frame_cache_key, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1773, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_1, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1780, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_1, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1773, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1782 + /* "_pydevd_bundle/pydevd_cython.pyx":1775 * if cache_skips.get(frame_cache_key) == 1: * * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< @@ -33665,20 +34458,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_12 = __pyx_t_13; goto __pyx_L19_bool_binop_done; } - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1782, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1775, __pyx_L7_error) __pyx_t_7 = (!__pyx_t_13); __pyx_t_12 = __pyx_t_7; __pyx_L19_bool_binop_done:; if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1783 + /* "_pydevd_bundle/pydevd_cython.pyx":1776 * * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: * notify_skipped_step_in_because_of_filters(py_db, frame) # <<<<<<<<<<<<<< * * back_frame = frame.f_back */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1783, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1776, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; __pyx_t_11 = 0; @@ -33698,13 +34491,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_py_db, __pyx_v_frame}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1783, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1776, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1782 + /* "_pydevd_bundle/pydevd_cython.pyx":1775 * if cache_skips.get(frame_cache_key) == 1: * * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< @@ -33713,19 +34506,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1785 + /* "_pydevd_bundle/pydevd_cython.pyx":1778 * notify_skipped_step_in_because_of_filters(py_db, frame) * * back_frame = frame.f_back # <<<<<<<<<<<<<< * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * back_frame_cache_key = back_frame.f_code */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1785, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_back_frame = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1786 + /* "_pydevd_bundle/pydevd_cython.pyx":1779 * * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< @@ -33754,19 +34547,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_L22_bool_binop_done:; if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1787 + /* "_pydevd_bundle/pydevd_cython.pyx":1780 * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * back_frame_cache_key = back_frame.f_code # <<<<<<<<<<<<<< * if cache_skips.get(back_frame_cache_key) == 1: * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1787, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1780, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_back_frame_cache_key = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1788 + /* "_pydevd_bundle/pydevd_cython.pyx":1781 * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * back_frame_cache_key = back_frame.f_code * if cache_skips.get(back_frame_cache_key) == 1: # <<<<<<<<<<<<<< @@ -33775,15 +34568,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); - __PYX_ERR(0, 1788, __pyx_L7_error) + __PYX_ERR(0, 1781, __pyx_L7_error) } - __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1788, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1781, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_1, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1788, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_1, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1781, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1790 + /* "_pydevd_bundle/pydevd_cython.pyx":1783 * if cache_skips.get(back_frame_cache_key) == 1: * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -33791,12 +34584,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1790, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1783, __pyx_L7_error) if (__pyx_t_12) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1790, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33805,7 +34598,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1788 + /* "_pydevd_bundle/pydevd_cython.pyx":1781 * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * back_frame_cache_key = back_frame.f_code * if cache_skips.get(back_frame_cache_key) == 1: # <<<<<<<<<<<<<< @@ -33814,7 +34607,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1786 + /* "_pydevd_bundle/pydevd_cython.pyx":1779 * * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< @@ -33824,7 +34617,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal goto __pyx_L21; } - /* "_pydevd_bundle/pydevd_cython.pyx":1793 + /* "_pydevd_bundle/pydevd_cython.pyx":1786 * else: * # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -33833,12 +34626,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1793, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1786, __pyx_L7_error) if (__pyx_t_12) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1793, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1786, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; @@ -33849,7 +34642,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } __pyx_L21:; - /* "_pydevd_bundle/pydevd_cython.pyx":1780 + /* "_pydevd_bundle/pydevd_cython.pyx":1773 * else: * # When stepping we can't take into account caching based on the breakpoints (only global filtering). * if cache_skips.get(frame_cache_key) == 1: # <<<<<<<<<<<<<< @@ -33859,7 +34652,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } } - /* "_pydevd_bundle/pydevd_cython.pyx":1774 + /* "_pydevd_bundle/pydevd_cython.pyx":1767 * # in the global context and another in the local context. * frame_cache_key = frame.f_code * if frame_cache_key in cache_skips: # <<<<<<<<<<<<<< @@ -33868,7 +34661,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1795 + /* "_pydevd_bundle/pydevd_cython.pyx":1788 * return None if event == 'call' else NO_FTRACE * * try: # <<<<<<<<<<<<<< @@ -33884,29 +34677,29 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XGOTREF(__pyx_t_16); /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1797 + /* "_pydevd_bundle/pydevd_cython.pyx":1790 * try: * # Make fast path faster! * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] # <<<<<<<<<<<<<< * except: * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1797, __pyx_L25_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1790, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1797, __pyx_L25_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1790, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1797, __pyx_L25_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1790, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1797, __pyx_L25_error) + __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1790, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (!(likely(PyTuple_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_6))) __PYX_ERR(0, 1797, __pyx_L25_error) + if (!(likely(PyTuple_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_6))) __PYX_ERR(0, 1790, __pyx_L25_error) __pyx_v_abs_path_canonical_path_and_base = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1795 + /* "_pydevd_bundle/pydevd_cython.pyx":1788 * return None if event == 'call' else NO_FTRACE * * try: # <<<<<<<<<<<<<< @@ -33926,7 +34719,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1798 + /* "_pydevd_bundle/pydevd_cython.pyx":1791 * # Make fast path faster! * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] * except: # <<<<<<<<<<<<<< @@ -33935,19 +34728,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ /*except:*/ { __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1798, __pyx_L27_except_error) + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1791, __pyx_L27_except_error) __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_1); - /* "_pydevd_bundle/pydevd_cython.pyx":1799 + /* "_pydevd_bundle/pydevd_cython.pyx":1792 * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] * except: * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) # <<<<<<<<<<<<<< * * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1799, __pyx_L27_except_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1792, __pyx_L27_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; __pyx_t_11 = 0; @@ -33967,11 +34760,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_frame}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1799, __pyx_L27_except_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1792, __pyx_L27_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_4))) __PYX_ERR(0, 1799, __pyx_L27_except_error) + if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_4))) __PYX_ERR(0, 1792, __pyx_L27_except_error) __Pyx_XDECREF_SET(__pyx_v_abs_path_canonical_path_and_base, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; @@ -33980,7 +34773,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal goto __pyx_L26_exception_handled; } - /* "_pydevd_bundle/pydevd_cython.pyx":1795 + /* "_pydevd_bundle/pydevd_cython.pyx":1788 * return None if event == 'call' else NO_FTRACE * * try: # <<<<<<<<<<<<<< @@ -34001,14 +34794,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_L30_try_end:; } - /* "_pydevd_bundle/pydevd_cython.pyx":1801 + /* "_pydevd_bundle/pydevd_cython.pyx":1794 * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) * * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd # <<<<<<<<<<<<<< * * if file_type is not None: */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1801, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1794, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_11 = 0; @@ -34028,14 +34821,14 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_frame, __pyx_v_abs_path_canonical_path_and_base}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1801, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1794, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_v_file_type = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1803 + /* "_pydevd_bundle/pydevd_cython.pyx":1796 * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd * * if file_type is not None: # <<<<<<<<<<<<<< @@ -34045,30 +34838,30 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_12 = (__pyx_v_file_type != Py_None); if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1804 + /* "_pydevd_bundle/pydevd_cython.pyx":1797 * * if file_type is not None: * if file_type == 1: # inlining LIB_FILE = 1 # <<<<<<<<<<<<<< * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) */ - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_v_file_type, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1804, __pyx_L7_error) + __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_v_file_type, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1797, __pyx_L7_error) if (__pyx_t_12) { - /* "_pydevd_bundle/pydevd_cython.pyx":1805 + /* "_pydevd_bundle/pydevd_cython.pyx":1798 * if file_type is not None: * if file_type == 1: # inlining LIB_FILE = 1 * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) * cache_skips[frame_cache_key] = 1 */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_in_project_scope); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1805, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_in_project_scope); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1798, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1805, __pyx_L7_error) + __PYX_ERR(0, 1798, __pyx_L7_error) } - __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1805, __pyx_L7_error) + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1798, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_11 = 0; @@ -34089,16 +34882,16 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1805, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1798, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1805, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1798, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = (!__pyx_t_12); if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1807 + /* "_pydevd_bundle/pydevd_cython.pyx":1800 * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< @@ -34107,11 +34900,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1807, __pyx_L7_error) + __PYX_ERR(0, 1800, __pyx_L7_error) } - if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1807, __pyx_L7_error) + if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1800, __pyx_L7_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1808 + /* "_pydevd_bundle/pydevd_cython.pyx":1801 * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) * cache_skips[frame_cache_key] = 1 * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34119,12 +34912,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1808, __pyx_L7_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1801, __pyx_L7_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1808, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1801, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -34133,7 +34926,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1805 + /* "_pydevd_bundle/pydevd_cython.pyx":1798 * if file_type is not None: * if file_type == 1: # inlining LIB_FILE = 1 * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< @@ -34142,7 +34935,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1804 + /* "_pydevd_bundle/pydevd_cython.pyx":1797 * * if file_type is not None: * if file_type == 1: # inlining LIB_FILE = 1 # <<<<<<<<<<<<<< @@ -34152,7 +34945,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal goto __pyx_L34; } - /* "_pydevd_bundle/pydevd_cython.pyx":1811 + /* "_pydevd_bundle/pydevd_cython.pyx":1804 * else: * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< @@ -34162,11 +34955,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal /*else*/ { if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1811, __pyx_L7_error) + __PYX_ERR(0, 1804, __pyx_L7_error) } - if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1811, __pyx_L7_error) + if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1804, __pyx_L7_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1812 + /* "_pydevd_bundle/pydevd_cython.pyx":1805 * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) * cache_skips[frame_cache_key] = 1 * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34174,12 +34967,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * if py_db.is_files_filter_enabled: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1812, __pyx_L7_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1805, __pyx_L7_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1812, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1805, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -34190,7 +34983,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } __pyx_L34:; - /* "_pydevd_bundle/pydevd_cython.pyx":1803 + /* "_pydevd_bundle/pydevd_cython.pyx":1796 * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd * * if file_type is not None: # <<<<<<<<<<<<<< @@ -34199,33 +34992,33 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1814 + /* "_pydevd_bundle/pydevd_cython.pyx":1807 * return None if event == 'call' else NO_FTRACE * * if py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): * cache_skips[frame_cache_key] = 1 */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1814, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1807, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1814, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1807, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1815 + /* "_pydevd_bundle/pydevd_cython.pyx":1808 * * if py_db.is_files_filter_enabled: * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): # <<<<<<<<<<<<<< * cache_skips[frame_cache_key] = 1 * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1815, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1808, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1815, __pyx_L7_error) + __PYX_ERR(0, 1808, __pyx_L7_error) } - __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1815, __pyx_L7_error) + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1808, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_11 = 0; @@ -34246,15 +35039,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1815, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1808, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1815, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1808, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1816 + /* "_pydevd_bundle/pydevd_cython.pyx":1809 * if py_db.is_files_filter_enabled: * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< @@ -34263,11 +35056,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1816, __pyx_L7_error) + __PYX_ERR(0, 1809, __pyx_L7_error) } - if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1816, __pyx_L7_error) + if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1809, __pyx_L7_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1818 + /* "_pydevd_bundle/pydevd_cython.pyx":1811 * cache_skips[frame_cache_key] = 1 * * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< @@ -34294,20 +35087,20 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_13 = __pyx_t_7; goto __pyx_L39_bool_binop_done; } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1818, __pyx_L7_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1811, __pyx_L7_error) __pyx_t_12 = (!__pyx_t_7); __pyx_t_13 = __pyx_t_12; __pyx_L39_bool_binop_done:; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1819 + /* "_pydevd_bundle/pydevd_cython.pyx":1812 * * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: * notify_skipped_step_in_because_of_filters(py_db, frame) # <<<<<<<<<<<<<< * * # A little gotcha, sometimes when we're stepping in we have to stop in a */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1819, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1812, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_11 = 0; @@ -34327,13 +35120,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_py_db, __pyx_v_frame}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1819, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1812, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1818 + /* "_pydevd_bundle/pydevd_cython.pyx":1811 * cache_skips[frame_cache_key] = 1 * * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< @@ -34342,19 +35135,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1824 + /* "_pydevd_bundle/pydevd_cython.pyx":1817 * # return event showing the back frame as the current frame, so, we need * # to check not only the current frame but the back frame too. * back_frame = frame.f_back # <<<<<<<<<<<<<< * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1824, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1817, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_back_frame, __pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1825 + /* "_pydevd_bundle/pydevd_cython.pyx":1818 * # to check not only the current frame but the back frame too. * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< @@ -34383,18 +35176,18 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_L43_bool_binop_done:; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1826 + /* "_pydevd_bundle/pydevd_cython.pyx":1819 * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): # <<<<<<<<<<<<<< * back_frame_cache_key = back_frame.f_code * cache_skips[back_frame_cache_key] = 1 */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1826, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1819, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1826, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1819, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1826, __pyx_L7_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1819, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -34416,27 +35209,27 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1826, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1819, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1826, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1819, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1827 + /* "_pydevd_bundle/pydevd_cython.pyx":1820 * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): * back_frame_cache_key = back_frame.f_code # <<<<<<<<<<<<<< * cache_skips[back_frame_cache_key] = 1 * # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1820, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_back_frame_cache_key, __pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1828 + /* "_pydevd_bundle/pydevd_cython.pyx":1821 * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): * back_frame_cache_key = back_frame.f_code * cache_skips[back_frame_cache_key] = 1 # <<<<<<<<<<<<<< @@ -34445,11 +35238,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1828, __pyx_L7_error) + __PYX_ERR(0, 1821, __pyx_L7_error) } - if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1828, __pyx_L7_error) + if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, __pyx_int_1) < 0))) __PYX_ERR(0, 1821, __pyx_L7_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1830 + /* "_pydevd_bundle/pydevd_cython.pyx":1823 * cache_skips[back_frame_cache_key] = 1 * # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34457,12 +35250,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1830, __pyx_L7_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1823, __pyx_L7_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1830, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1823, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -34471,7 +35264,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1826 + /* "_pydevd_bundle/pydevd_cython.pyx":1819 * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): # <<<<<<<<<<<<<< @@ -34480,7 +35273,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1825 + /* "_pydevd_bundle/pydevd_cython.pyx":1818 * # to check not only the current frame but the back frame too. * back_frame = frame.f_back * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< @@ -34490,7 +35283,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal goto __pyx_L42; } - /* "_pydevd_bundle/pydevd_cython.pyx":1833 + /* "_pydevd_bundle/pydevd_cython.pyx":1826 * else: * # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34499,12 +35292,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1833, __pyx_L7_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1826, __pyx_L7_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1833, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1826, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -34515,7 +35308,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } __pyx_L42:; - /* "_pydevd_bundle/pydevd_cython.pyx":1815 + /* "_pydevd_bundle/pydevd_cython.pyx":1808 * * if py_db.is_files_filter_enabled: * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): # <<<<<<<<<<<<<< @@ -34524,7 +35317,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1814 + /* "_pydevd_bundle/pydevd_cython.pyx":1807 * return None if event == 'call' else NO_FTRACE * * if py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< @@ -34533,60 +35326,60 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1841 + /* "_pydevd_bundle/pydevd_cython.pyx":1834 * ret = PyDBFrame( * ( * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, # <<<<<<<<<<<<<< * ) * ).trace_dispatch(frame, event, arg) */ - __pyx_t_1 = PyTuple_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1841, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1834, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_py_db); __Pyx_GIVEREF(__pyx_v_py_db); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_py_db)) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_py_db)) __PYX_ERR(0, 1834, __pyx_L7_error); __Pyx_INCREF(__pyx_v_abs_path_canonical_path_and_base); __Pyx_GIVEREF(__pyx_v_abs_path_canonical_path_and_base); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_abs_path_canonical_path_and_base)) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_abs_path_canonical_path_and_base)) __PYX_ERR(0, 1834, __pyx_L7_error); __Pyx_INCREF((PyObject *)__pyx_v_additional_info); __Pyx_GIVEREF((PyObject *)__pyx_v_additional_info); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_additional_info))) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_additional_info))) __PYX_ERR(0, 1834, __pyx_L7_error); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_t)) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_t)) __PYX_ERR(0, 1834, __pyx_L7_error); __Pyx_INCREF(__pyx_v_frame_skips_cache); __Pyx_GIVEREF(__pyx_v_frame_skips_cache); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_frame_skips_cache)) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_frame_skips_cache)) __PYX_ERR(0, 1834, __pyx_L7_error); __Pyx_INCREF(__pyx_v_frame_cache_key); __Pyx_GIVEREF(__pyx_v_frame_cache_key); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_frame_cache_key)) __PYX_ERR(0, 1841, __pyx_L7_error); + if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_frame_cache_key)) __PYX_ERR(0, 1834, __pyx_L7_error); - /* "_pydevd_bundle/pydevd_cython.pyx":1839 + /* "_pydevd_bundle/pydevd_cython.pyx":1832 * # Just create PyDBFrame directly (removed support for Python versions < 2.5, which required keeping a weak * # reference to the frame). * ret = PyDBFrame( # <<<<<<<<<<<<<< * ( * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, */ - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1839, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1832, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1843 + /* "_pydevd_bundle/pydevd_cython.pyx":1836 * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, * ) * ).trace_dispatch(frame, event, arg) # <<<<<<<<<<<<<< * if ret is None: * # 1 means skipped because of filters. */ - if (!(likely(PyString_CheckExact(__pyx_v_event))||((__pyx_v_event) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_v_event))) __PYX_ERR(0, 1843, __pyx_L7_error) - __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_5)->__pyx_vtab)->trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_5), __pyx_v_frame, ((PyObject*)__pyx_v_event), __pyx_v_arg, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1843, __pyx_L7_error) + if (!(likely(PyString_CheckExact(__pyx_v_event))||((__pyx_v_event) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_v_event))) __PYX_ERR(0, 1836, __pyx_L7_error) + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_5)->__pyx_vtab)->trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_5), __pyx_v_frame, ((PyObject*)__pyx_v_event), __pyx_v_arg, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1836, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_ret = __pyx_t_1; __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1844 + /* "_pydevd_bundle/pydevd_cython.pyx":1837 * ) * ).trace_dispatch(frame, event, arg) * if ret is None: # <<<<<<<<<<<<<< @@ -34596,7 +35389,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_13 = (__pyx_v_ret == Py_None); if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1847 + /* "_pydevd_bundle/pydevd_cython.pyx":1840 * # 1 means skipped because of filters. * # 2 means skipped because no breakpoints were hit. * cache_skips[frame_cache_key] = 2 # <<<<<<<<<<<<<< @@ -34605,11 +35398,11 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ if (unlikely(__pyx_v_cache_skips == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1847, __pyx_L7_error) + __PYX_ERR(0, 1840, __pyx_L7_error) } - if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_2) < 0))) __PYX_ERR(0, 1847, __pyx_L7_error) + if (unlikely((PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_2) < 0))) __PYX_ERR(0, 1840, __pyx_L7_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1848 + /* "_pydevd_bundle/pydevd_cython.pyx":1841 * # 2 means skipped because no breakpoints were hit. * cache_skips[frame_cache_key] = 2 * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34617,12 +35410,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1848, __pyx_L7_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1841, __pyx_L7_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1848, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1841, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -34631,7 +35424,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_1 = 0; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1844 + /* "_pydevd_bundle/pydevd_cython.pyx":1837 * ) * ).trace_dispatch(frame, event, arg) * if ret is None: # <<<<<<<<<<<<<< @@ -34640,19 +35433,19 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1851 + /* "_pydevd_bundle/pydevd_cython.pyx":1844 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * frame.f_trace = SafeCallWrapper(ret) # Make sure we keep the returned tracer. # <<<<<<<<<<<<<< * # ELSE * # frame.f_trace = ret # Make sure we keep the returned tracer. */ - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1851, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1844, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_1) < 0) __PYX_ERR(0, 1851, __pyx_L7_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_1) < 0) __PYX_ERR(0, 1844, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1855 + /* "_pydevd_bundle/pydevd_cython.pyx":1848 * # frame.f_trace = ret # Make sure we keep the returned tracer. * # ENDIF * return ret # <<<<<<<<<<<<<< @@ -34664,7 +35457,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_r = __pyx_v_ret; goto __pyx_L11_try_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1760 + /* "_pydevd_bundle/pydevd_cython.pyx":1753 * * additional_info.is_tracing += 1 * try: # <<<<<<<<<<<<<< @@ -34680,7 +35473,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1857 + /* "_pydevd_bundle/pydevd_cython.pyx":1850 * return ret * * except SystemExit: # <<<<<<<<<<<<<< @@ -34690,12 +35483,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_SystemExit); if (__pyx_t_11) { __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1857, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1850, __pyx_L9_except_error) __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_4); - /* "_pydevd_bundle/pydevd_cython.pyx":1858 + /* "_pydevd_bundle/pydevd_cython.pyx":1851 * * except SystemExit: * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34703,12 +35496,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * except Exception: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1858, __pyx_L9_except_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1851, __pyx_L9_except_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_6 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1858, __pyx_L9_except_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1851, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_t_3; __pyx_t_3 = 0; @@ -34721,7 +35514,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal goto __pyx_L10_except_return; } - /* "_pydevd_bundle/pydevd_cython.pyx":1860 + /* "_pydevd_bundle/pydevd_cython.pyx":1853 * return None if event == 'call' else NO_FTRACE * * except Exception: # <<<<<<<<<<<<<< @@ -34731,25 +35524,25 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_11) { __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1860, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1853, __pyx_L9_except_error) __Pyx_XGOTREF(__pyx_t_4); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_1); - /* "_pydevd_bundle/pydevd_cython.pyx":1861 + /* "_pydevd_bundle/pydevd_cython.pyx":1854 * * except Exception: * if py_db.pydb_disposed: # <<<<<<<<<<<<<< * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. * # Log it */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1861, __pyx_L9_except_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1861, __pyx_L9_except_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1854, __pyx_L9_except_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1862 + /* "_pydevd_bundle/pydevd_cython.pyx":1855 * except Exception: * if py_db.pydb_disposed: * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. # <<<<<<<<<<<<<< @@ -34757,12 +35550,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * try: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1862, __pyx_L9_except_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1855, __pyx_L9_except_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_6 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1862, __pyx_L9_except_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1855, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_t_3; __pyx_t_3 = 0; @@ -34774,7 +35567,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L10_except_return; - /* "_pydevd_bundle/pydevd_cython.pyx":1861 + /* "_pydevd_bundle/pydevd_cython.pyx":1854 * * except Exception: * if py_db.pydb_disposed: # <<<<<<<<<<<<<< @@ -34783,7 +35576,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1864 + /* "_pydevd_bundle/pydevd_cython.pyx":1857 * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. * # Log it * try: # <<<<<<<<<<<<<< @@ -34799,27 +35592,27 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XGOTREF(__pyx_t_14); /*try:*/ { - /* "_pydevd_bundle/pydevd_cython.pyx":1865 + /* "_pydevd_bundle/pydevd_cython.pyx":1858 * # Log it * try: * if pydev_log_exception is not None: # <<<<<<<<<<<<<< * # This can actually happen during the interpreter shutdown in Python 2.7 * pydev_log_exception() */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1865, __pyx_L52_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1858, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = (__pyx_t_6 != Py_None); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_13) { - /* "_pydevd_bundle/pydevd_cython.pyx":1867 + /* "_pydevd_bundle/pydevd_cython.pyx":1860 * if pydev_log_exception is not None: * # This can actually happen during the interpreter shutdown in Python 2.7 * pydev_log_exception() # <<<<<<<<<<<<<< * except: * # Error logging? We're really in the interpreter shutdown... */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1867, __pyx_L52_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1860, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; __pyx_t_11 = 0; @@ -34839,13 +35632,13 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1867, __pyx_L52_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1860, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1865 + /* "_pydevd_bundle/pydevd_cython.pyx":1858 * # Log it * try: * if pydev_log_exception is not None: # <<<<<<<<<<<<<< @@ -34854,7 +35647,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1864 + /* "_pydevd_bundle/pydevd_cython.pyx":1857 * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. * # Log it * try: # <<<<<<<<<<<<<< @@ -34871,7 +35664,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1868 + /* "_pydevd_bundle/pydevd_cython.pyx":1861 * # This can actually happen during the interpreter shutdown in Python 2.7 * pydev_log_exception() * except: # <<<<<<<<<<<<<< @@ -34890,7 +35683,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal __pyx_L59_try_end:; } - /* "_pydevd_bundle/pydevd_cython.pyx":1872 + /* "_pydevd_bundle/pydevd_cython.pyx":1865 * # (https://github.com/fabioz/PyDev.Debugger/issues/8) * pass * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< @@ -34898,12 +35691,12 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal * additional_info.is_tracing -= 1 */ __Pyx_XDECREF(__pyx_r); - __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1872, __pyx_L9_except_error) + __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1865, __pyx_L9_except_error) if (__pyx_t_13) { __Pyx_INCREF(Py_None); __pyx_t_6 = Py_None; } else { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1872, __pyx_L9_except_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1865, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_t_3; __pyx_t_3 = 0; @@ -34917,7 +35710,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } goto __pyx_L9_except_error; - /* "_pydevd_bundle/pydevd_cython.pyx":1760 + /* "_pydevd_bundle/pydevd_cython.pyx":1753 * * additional_info.is_tracing += 1 * try: # <<<<<<<<<<<<<< @@ -34945,7 +35738,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } } - /* "_pydevd_bundle/pydevd_cython.pyx":1874 + /* "_pydevd_bundle/pydevd_cython.pyx":1867 * return None if event == 'call' else NO_FTRACE * finally: * additional_info.is_tracing -= 1 # <<<<<<<<<<<<<< @@ -35000,7 +35793,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal } } - /* "_pydevd_bundle/pydevd_cython.pyx":1729 + /* "_pydevd_bundle/pydevd_cython.pyx":1722 * # ENDIF * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -35035,7 +35828,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__cal return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1719 +/* "_pydevd_bundle/pydevd_cython.pyx":1712 * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef class ThreadTracer: * cdef public tuple _args; # <<<<<<<<<<<<<< @@ -35097,7 +35890,7 @@ static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_2__se const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 1); - if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1719, __pyx_L1_error) + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_value))) __PYX_ERR(0, 1712, __pyx_L1_error) __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -35550,7 +36343,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_6__set return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1889 +/* "_pydevd_bundle/pydevd_cython.pyx":1882 * _original_call = ThreadTracer.__call__ * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -35559,15 +36352,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_6__set */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__call__(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_11__call__ = {"__call__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__call__ = {"__call__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__call__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__call__(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -35620,7 +36413,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1889, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1882, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: @@ -35628,9 +36421,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1889, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1882, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 1); __PYX_ERR(0, 1889, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 1); __PYX_ERR(0, 1882, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -35638,9 +36431,9 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1889, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1882, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 2); __PYX_ERR(0, 1889, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 2); __PYX_ERR(0, 1882, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: @@ -35648,14 +36441,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds (void)__Pyx_Arg_NewRef_FASTCALL(values[3]); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1889, __pyx_L3_error) + else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1882, __pyx_L3_error) else { - __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 3); __PYX_ERR(0, 1889, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 3); __PYX_ERR(0, 1882, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(0, 1889, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(0, 1882, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 4)) { goto __pyx_L5_argtuple_error; @@ -35672,7 +36465,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1889, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1882, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -35686,7 +36479,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(__pyx_self, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_14__call__(__pyx_self, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); /* function exit code */ { @@ -35699,7 +36492,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_14__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -35711,28 +36504,28 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__call__", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1890 + /* "_pydevd_bundle/pydevd_cython.pyx":1883 * * def __call__(self, frame, event, arg): * constructed_tid_to_last_frame[self._args[1].ident] = frame # <<<<<<<<<<<<<< * return _original_call(self, frame, event, arg) * */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1890, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_args_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_args_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ident); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ident); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_t_2, __pyx_v_frame) < 0))) __PYX_ERR(0, 1890, __pyx_L1_error) + if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_t_2, __pyx_v_frame) < 0))) __PYX_ERR(0, 1883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1891 + /* "_pydevd_bundle/pydevd_cython.pyx":1884 * def __call__(self, frame, event, arg): * constructed_tid_to_last_frame[self._args[1].ident] = frame * return _original_call(self, frame, event, arg) # <<<<<<<<<<<<<< @@ -35740,7 +36533,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU * ThreadTracer.__call__ = __call__ */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_original_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1891, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_original_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_4 = 0; @@ -35760,7 +36553,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU PyObject *__pyx_callargs[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 4+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1891, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -35768,7 +36561,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU __pyx_t_2 = 0; goto __pyx_L0; - /* "_pydevd_bundle/pydevd_cython.pyx":1889 + /* "_pydevd_bundle/pydevd_cython.pyx":1882 * _original_call = ThreadTracer.__call__ * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< @@ -35789,7 +36582,7 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU return __pyx_r; } -/* "_pydevd_bundle/pydevd_cython.pyx":1897 +/* "_pydevd_bundle/pydevd_cython.pyx":1890 * if USE_SYS_MONITORING: * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): # <<<<<<<<<<<<<< @@ -35797,9 +36590,9 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNU */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace_and_get_trace_func = {"fix_top_level_trace_and_get_trace_func", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace_and_get_trace_func, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_17fix_top_level_trace_and_get_trace_func = {"fix_top_level_trace_and_get_trace_func", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_17fix_top_level_trace_and_get_trace_func, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED PyObject *__pyx_v_args = 0; CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; CYTHON_UNUSED Py_ssize_t __pyx_nargs; @@ -35816,7 +36609,7 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "fix_top_level_trace_and_get_trace_func", 1))) return NULL; __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12fix_top_level_trace_and_get_trace_func(__pyx_self, __pyx_v_args, __pyx_v_kwargs); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_16fix_top_level_trace_and_get_trace_func(__pyx_self, __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_DECREF(__pyx_v_args); @@ -35825,7 +36618,7 @@ static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_16fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -35834,18 +36627,18 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12fix_top_level_trace int __pyx_clineno = 0; __Pyx_RefNannySetupContext("fix_top_level_trace_and_get_trace_func", 1); - /* "_pydevd_bundle/pydevd_cython.pyx":1898 + /* "_pydevd_bundle/pydevd_cython.pyx":1891 * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): * raise RuntimeError('Not used in sys.monitoring mode.') # <<<<<<<<<<<<<< */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1898, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1898, __pyx_L1_error) + __PYX_ERR(0, 1891, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1897 + /* "_pydevd_bundle/pydevd_cython.pyx":1890 * if USE_SYS_MONITORING: * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): # <<<<<<<<<<<<<< @@ -35869,15 +36662,15 @@ static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12fix_top_level_trace */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle_PyDBAdditionalThreadInfo = {"__pyx_unpickle_PyDBAdditionalThreadInfo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle_PyDBAdditionalThreadInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBAdditionalThreadInfo = {"__pyx_unpickle_PyDBAdditionalThreadInfo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBAdditionalThreadInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -35981,7 +36774,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_14__pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -35994,7 +36787,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_14__pyx_unpickle_PyDBAdditionalThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBAdditionalThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -36569,15 +37362,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBAdd */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle__TryExceptContainerObj = {"__pyx_unpickle__TryExceptContainerObj", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle__TryExceptContainerObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle__TryExceptContainerObj = {"__pyx_unpickle__TryExceptContainerObj", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle__TryExceptContainerObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -36681,7 +37474,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_16__pyx_unpickle__TryExceptContainerObj(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle__TryExceptContainerObj(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -36694,7 +37487,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_16__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -37013,15 +37806,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle__TryExc */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBFrame = {"__pyx_unpickle_PyDBFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_PyDBFrame = {"__pyx_unpickle_PyDBFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_PyDBFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -37125,7 +37918,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_PyDBFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -37138,7 +37931,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_PyDBFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_PyDBFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -37477,15 +38270,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFra */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_SafeCallWrapper = {"__pyx_unpickle_SafeCallWrapper", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_SafeCallWrapper, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_SafeCallWrapper = {"__pyx_unpickle_SafeCallWrapper", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_SafeCallWrapper, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -37589,7 +38382,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle_SafeCallWrapper(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_SafeCallWrapper(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -37602,7 +38395,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle_SafeCallWrapper(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_SafeCallWrapper(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -37920,15 +38713,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_SafeCal */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions = {"__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions = {"__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -38032,7 +38825,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -38045,7 +38838,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -38364,15 +39157,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLeve */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_29__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_TopLevelThreadTracerNoBackFrame = {"__pyx_unpickle_TopLevelThreadTracerNoBackFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_TopLevelThreadTracerNoBackFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_29__pyx_unpickle_TopLevelThreadTracerNoBackFrame = {"__pyx_unpickle_TopLevelThreadTracerNoBackFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_29__pyx_unpickle_TopLevelThreadTracerNoBackFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_29__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -38476,7 +39269,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_TopLevelThreadTracerNoBackFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_28__pyx_unpickle_TopLevelThreadTracerNoBackFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -38489,7 +39282,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_TopLevelThreadTracerNoBackFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_28__pyx_unpickle_TopLevelThreadTracerNoBackFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -38862,15 +39655,15 @@ static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLeve */ /* Python wrapper */ -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_ThreadTracer = {"__pyx_unpickle_ThreadTracer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_ThreadTracer, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_31__pyx_unpickle_ThreadTracer = {"__pyx_unpickle_ThreadTracer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_31__pyx_unpickle_ThreadTracer, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -38974,7 +39767,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_ThreadTracer(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_30__pyx_unpickle_ThreadTracer(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ { @@ -38987,7 +39780,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_26__pyx_unpickle_ThreadTracer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_30__pyx_unpickle_ThreadTracer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_PickleError = 0; PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; @@ -41218,6 +42011,8 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0}, {&__pyx_kp_s__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 0, 1, 0}, {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, + {&__pyx_n_s_abs_real_path_and_base, __pyx_k_abs_real_path_and_base, sizeof(__pyx_k_abs_real_path_and_base), 0, 0, 1, 1}, + {&__pyx_n_s_absolute_filename, __pyx_k_absolute_filename, sizeof(__pyx_k_absolute_filename), 0, 0, 1, 1}, {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1}, {&__pyx_n_s_add_command, __pyx_k_add_command, sizeof(__pyx_k_add_command), 0, 0, 1, 1}, {&__pyx_n_s_add_exception_to_frame, __pyx_k_add_exception_to_frame, sizeof(__pyx_k_add_exception_to_frame), 0, 0, 1, 1}, @@ -41240,7 +42035,10 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1}, {&__pyx_n_s_call_2, __pyx_k_call_2, sizeof(__pyx_k_call_2), 0, 0, 1, 1}, {&__pyx_n_s_can_skip, __pyx_k_can_skip, sizeof(__pyx_k_can_skip), 0, 0, 1, 1}, + {&__pyx_n_s_canonical_normalized_filename, __pyx_k_canonical_normalized_filename, sizeof(__pyx_k_canonical_normalized_filename), 0, 0, 1, 1}, {&__pyx_kp_s_cell, __pyx_k_cell, sizeof(__pyx_k_cell), 0, 0, 1, 0}, + {&__pyx_n_s_check_excs, __pyx_k_check_excs, sizeof(__pyx_k_check_excs), 0, 0, 1, 1}, + {&__pyx_n_s_check_trace_obj, __pyx_k_check_trace_obj, sizeof(__pyx_k_check_trace_obj), 0, 0, 1, 1}, {&__pyx_n_s_checkcache, __pyx_k_checkcache, sizeof(__pyx_k_checkcache), 0, 0, 1, 1}, {&__pyx_n_s_children_variants, __pyx_k_children_variants, sizeof(__pyx_k_children_variants), 0, 0, 1, 1}, {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, @@ -41259,6 +42057,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_constant_to_str, __pyx_k_constant_to_str, sizeof(__pyx_k_constant_to_str), 0, 0, 1, 1}, {&__pyx_n_s_constructed_tid_to_last_frame, __pyx_k_constructed_tid_to_last_frame, sizeof(__pyx_k_constructed_tid_to_last_frame), 0, 0, 1, 1}, {&__pyx_n_s_container_obj, __pyx_k_container_obj, sizeof(__pyx_k_container_obj), 0, 0, 1, 1}, + {&__pyx_n_s_curr_stat, __pyx_k_curr_stat, sizeof(__pyx_k_curr_stat), 0, 0, 1, 1}, {&__pyx_n_s_current_frames, __pyx_k_current_frames, sizeof(__pyx_k_current_frames), 0, 0, 1, 1}, {&__pyx_n_s_current_frames_2, __pyx_k_current_frames_2, sizeof(__pyx_k_current_frames_2), 0, 0, 1, 1}, {&__pyx_n_s_custom_key, __pyx_k_custom_key, sizeof(__pyx_k_custom_key), 0, 0, 1, 1}, @@ -41275,16 +42074,22 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_endswith, __pyx_k_endswith, sizeof(__pyx_k_endswith), 0, 0, 1, 1}, {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, {&__pyx_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 0, 1, 1}, + {&__pyx_n_s_exc_break, __pyx_k_exc_break, sizeof(__pyx_k_exc_break), 0, 0, 1, 1}, + {&__pyx_n_s_exc_break_caught, __pyx_k_exc_break_caught, sizeof(__pyx_k_exc_break_caught), 0, 0, 1, 1}, + {&__pyx_n_s_exc_break_user, __pyx_k_exc_break_user, sizeof(__pyx_k_exc_break_user), 0, 0, 1, 1}, {&__pyx_n_s_exc_info, __pyx_k_exc_info, sizeof(__pyx_k_exc_info), 0, 0, 1, 1}, + {&__pyx_n_s_exc_lineno, __pyx_k_exc_lineno, sizeof(__pyx_k_exc_lineno), 0, 0, 1, 1}, {&__pyx_n_s_except_line, __pyx_k_except_line, sizeof(__pyx_k_except_line), 0, 0, 1, 1}, {&__pyx_n_s_exception, __pyx_k_exception, sizeof(__pyx_k_exception), 0, 0, 1, 1}, {&__pyx_n_s_exception_break, __pyx_k_exception_break, sizeof(__pyx_k_exception_break), 0, 0, 1, 1}, + {&__pyx_n_s_exception_breakpoint, __pyx_k_exception_breakpoint, sizeof(__pyx_k_exception_breakpoint), 0, 0, 1, 1}, {&__pyx_n_s_exception_type, __pyx_k_exception_type, sizeof(__pyx_k_exception_type), 0, 0, 1, 1}, {&__pyx_n_s_exclude_exception_by_filter, __pyx_k_exclude_exception_by_filter, sizeof(__pyx_k_exclude_exception_by_filter), 0, 0, 1, 1}, {&__pyx_n_s_exec, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 0, 1, 1}, {&__pyx_n_s_execfile, __pyx_k_execfile, sizeof(__pyx_k_execfile), 0, 0, 1, 1}, {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, {&__pyx_n_s_expression, __pyx_k_expression, sizeof(__pyx_k_expression), 0, 0, 1, 1}, + {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, {&__pyx_n_s_f_back, __pyx_k_f_back, sizeof(__pyx_k_f_back), 0, 0, 1, 1}, {&__pyx_n_s_f_code, __pyx_k_f_code, sizeof(__pyx_k_f_code), 0, 0, 1, 1}, {&__pyx_n_s_f_globals, __pyx_k_f_globals, sizeof(__pyx_k_f_globals), 0, 0, 1, 1}, @@ -41301,8 +42106,10 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_force_only_unhandled_tracer, __pyx_k_force_only_unhandled_tracer, sizeof(__pyx_k_force_only_unhandled_tracer), 0, 0, 1, 1}, {&__pyx_n_s_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 0, 1, 1}, {&__pyx_n_s_frame_cache_key, __pyx_k_frame_cache_key, sizeof(__pyx_k_frame_cache_key), 0, 0, 1, 1}, + {&__pyx_n_s_frame_id_to_frame, __pyx_k_frame_id_to_frame, sizeof(__pyx_k_frame_id_to_frame), 0, 0, 1, 1}, {&__pyx_n_s_frame_skips_cache, __pyx_k_frame_skips_cache, sizeof(__pyx_k_frame_skips_cache), 0, 0, 1, 1}, {&__pyx_n_s_frame_trace_dispatch, __pyx_k_frame_trace_dispatch, sizeof(__pyx_k_frame_trace_dispatch), 0, 0, 1, 1}, + {&__pyx_n_s_from_user_input, __pyx_k_from_user_input, sizeof(__pyx_k_from_user_input), 0, 0, 1, 1}, {&__pyx_n_s_func_name, __pyx_k_func_name, sizeof(__pyx_k_func_name), 0, 0, 1, 1}, {&__pyx_n_s_function_breakpoint_name_to_brea, __pyx_k_function_breakpoint_name_to_brea, sizeof(__pyx_k_function_breakpoint_name_to_brea), 0, 0, 1, 1}, {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, @@ -41324,6 +42131,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_global_notify_skipped_step_in_l, __pyx_k_global_notify_skipped_step_in_l, sizeof(__pyx_k_global_notify_skipped_step_in_l), 0, 0, 1, 1}, {&__pyx_n_s_handle_breakpoint_condition, __pyx_k_handle_breakpoint_condition, sizeof(__pyx_k_handle_breakpoint_condition), 0, 0, 1, 1}, {&__pyx_n_s_handle_breakpoint_expression, __pyx_k_handle_breakpoint_expression, sizeof(__pyx_k_handle_breakpoint_expression), 0, 0, 1, 1}, + {&__pyx_n_s_handle_exception, __pyx_k_handle_exception, sizeof(__pyx_k_handle_exception), 0, 0, 1, 1}, {&__pyx_n_s_handle_user_exception, __pyx_k_handle_user_exception, sizeof(__pyx_k_handle_user_exception), 0, 0, 1, 1}, {&__pyx_n_s_has_condition, __pyx_k_has_condition, sizeof(__pyx_k_has_condition), 0, 0, 1, 1}, {&__pyx_n_s_has_plugin_exception_breaks, __pyx_k_has_plugin_exception_breaks, sizeof(__pyx_k_has_plugin_exception_breaks), 0, 0, 1, 1}, @@ -41337,6 +42145,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, {&__pyx_n_s_in_project_scope, __pyx_k_in_project_scope, sizeof(__pyx_k_in_project_scope), 0, 0, 1, 1}, {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, + {&__pyx_n_s_initial_trace_obj, __pyx_k_initial_trace_obj, sizeof(__pyx_k_initial_trace_obj), 0, 0, 1, 1}, {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, {&__pyx_kp_s_invalid, __pyx_k_invalid, sizeof(__pyx_k_invalid), 0, 0, 1, 0}, {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, @@ -41345,19 +42154,24 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_is_line_in_try_block, __pyx_k_is_line_in_try_block, sizeof(__pyx_k_is_line_in_try_block), 0, 0, 1, 1}, {&__pyx_n_s_is_logpoint, __pyx_k_is_logpoint, sizeof(__pyx_k_is_logpoint), 0, 0, 1, 1}, {&__pyx_n_s_is_thread_alive, __pyx_k_is_thread_alive, sizeof(__pyx_k_is_thread_alive), 0, 0, 1, 1}, + {&__pyx_n_s_is_user_uncaught, __pyx_k_is_user_uncaught, sizeof(__pyx_k_is_user_uncaught), 0, 0, 1, 1}, {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, {&__pyx_n_s_just_raised, __pyx_k_just_raised, sizeof(__pyx_k_just_raised), 0, 0, 1, 1}, {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, {&__pyx_kp_s_lambda, __pyx_k_lambda, sizeof(__pyx_k_lambda), 0, 0, 1, 0}, + {&__pyx_n_s_last_stat, __pyx_k_last_stat, sizeof(__pyx_k_last_stat), 0, 0, 1, 1}, {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, {&__pyx_n_s_linecache, __pyx_k_linecache, sizeof(__pyx_k_linecache), 0, 0, 1, 1}, + {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, + {&__pyx_n_s_lines_ignored, __pyx_k_lines_ignored, sizeof(__pyx_k_lines_ignored), 0, 0, 1, 1}, {&__pyx_n_s_linesep, __pyx_k_linesep, sizeof(__pyx_k_linesep), 0, 0, 1, 1}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_main_2, __pyx_k_main_2, sizeof(__pyx_k_main_2), 0, 0, 1, 1}, {&__pyx_n_s_make_console_message, __pyx_k_make_console_message, sizeof(__pyx_k_make_console_message), 0, 0, 1, 1}, {&__pyx_n_s_make_io_message, __pyx_k_make_io_message, sizeof(__pyx_k_make_io_message), 0, 0, 1, 1}, {&__pyx_n_s_match, __pyx_k_match, sizeof(__pyx_k_match), 0, 0, 1, 1}, + {&__pyx_n_s_merged, __pyx_k_merged, sizeof(__pyx_k_merged), 0, 0, 1, 1}, {&__pyx_n_s_method_object, __pyx_k_method_object, sizeof(__pyx_k_method_object), 0, 0, 1, 1}, {&__pyx_kp_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 0}, {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, @@ -41374,6 +42188,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, {&__pyx_n_s_plugin, __pyx_k_plugin, sizeof(__pyx_k_plugin), 0, 0, 1, 1}, {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, + {&__pyx_n_s_prev_exc_info, __pyx_k_prev_exc_info, sizeof(__pyx_k_prev_exc_info), 0, 0, 1, 1}, {&__pyx_n_s_py_db, __pyx_k_py_db, sizeof(__pyx_k_py_db), 0, 0, 1, 1}, {&__pyx_kp_s_pyc, __pyx_k_pyc, sizeof(__pyx_k_pyc), 0, 0, 1, 0}, {&__pyx_n_s_pydb_disposed, __pyx_k_pydb_disposed, sizeof(__pyx_k_pydb_disposed), 0, 0, 1, 1}, @@ -41422,8 +42237,10 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, {&__pyx_n_s_remove_exception_from_frame, __pyx_k_remove_exception_from_frame, sizeof(__pyx_k_remove_exception_from_frame), 0, 0, 1, 1}, {&__pyx_n_s_remove_return_values_flag, __pyx_k_remove_return_values_flag, sizeof(__pyx_k_remove_return_values_flag), 0, 0, 1, 1}, + {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1}, {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, {&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1}, + {&__pyx_n_s_return_exc_info, __pyx_k_return_exc_info, sizeof(__pyx_k_return_exc_info), 0, 0, 1, 1}, {&__pyx_n_s_return_line, __pyx_k_return_line, sizeof(__pyx_k_return_line), 0, 0, 1, 1}, {&__pyx_n_s_returns, __pyx_k_returns, sizeof(__pyx_k_returns), 0, 0, 1, 1}, {&__pyx_n_s_rfind, __pyx_k_rfind, sizeof(__pyx_k_rfind), 0, 0, 1, 1}, @@ -41440,6 +42257,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, {&__pyx_n_s_should_stop, __pyx_k_should_stop, sizeof(__pyx_k_should_stop), 0, 0, 1, 1}, + {&__pyx_n_s_should_stop_on_exception, __pyx_k_should_stop_on_exception, sizeof(__pyx_k_should_stop_on_exception), 0, 0, 1, 1}, {&__pyx_n_s_should_trace_hook, __pyx_k_should_trace_hook, sizeof(__pyx_k_should_trace_hook), 0, 0, 1, 1}, {&__pyx_n_s_show_return_values, __pyx_k_show_return_values, sizeof(__pyx_k_show_return_values), 0, 0, 1, 1}, {&__pyx_n_s_skip_on_exceptions_thrown_in_sam, __pyx_k_skip_on_exceptions_thrown_in_sam, sizeof(__pyx_k_skip_on_exceptions_thrown_in_sam), 0, 0, 1, 1}, @@ -41451,6 +42269,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, {&__pyx_n_s_stop, __pyx_k_stop, sizeof(__pyx_k_stop), 0, 0, 1, 1}, {&__pyx_n_s_stop_on_unhandled_exception, __pyx_k_stop_on_unhandled_exception, sizeof(__pyx_k_stop_on_unhandled_exception), 0, 0, 1, 1}, + {&__pyx_n_s_stopped, __pyx_k_stopped, sizeof(__pyx_k_stopped), 0, 0, 1, 1}, {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, {&__pyx_n_s_suspend, __pyx_k_suspend, sizeof(__pyx_k_suspend), 0, 0, 1, 1}, {&__pyx_n_s_suspend_other_threads, __pyx_k_suspend_other_threads, sizeof(__pyx_k_suspend_other_threads), 0, 0, 1, 1}, @@ -41477,14 +42296,17 @@ static int __Pyx_CreateStringTabAndInitStrings(void) { {&__pyx_n_s_trace_dispatch, __pyx_k_trace_dispatch, sizeof(__pyx_k_trace_dispatch), 0, 0, 1, 1}, {&__pyx_n_s_trace_dispatch_and_unhandled_exc, __pyx_k_trace_dispatch_and_unhandled_exc, sizeof(__pyx_k_trace_dispatch_and_unhandled_exc), 0, 0, 1, 1}, {&__pyx_n_s_trace_exception, __pyx_k_trace_exception, sizeof(__pyx_k_trace_exception), 0, 0, 1, 1}, + {&__pyx_n_s_trace_obj, __pyx_k_trace_obj, sizeof(__pyx_k_trace_obj), 0, 0, 1, 1}, {&__pyx_n_s_trace_unhandled_exceptions, __pyx_k_trace_unhandled_exceptions, sizeof(__pyx_k_trace_unhandled_exceptions), 0, 0, 1, 1}, {&__pyx_n_s_try_exc_info, __pyx_k_try_exc_info, sizeof(__pyx_k_try_exc_info), 0, 0, 1, 1}, {&__pyx_n_s_try_except_infos, __pyx_k_try_except_infos, sizeof(__pyx_k_try_except_infos), 0, 0, 1, 1}, {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, {&__pyx_n_s_use_setstate, __pyx_k_use_setstate, sizeof(__pyx_k_use_setstate), 0, 0, 1, 1}, {&__pyx_kp_s_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 0, 1, 0}, + {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1}, {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1}, {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1}, + {&__pyx_n_s_was_just_raised, __pyx_k_was_just_raised, sizeof(__pyx_k_was_just_raised), 0, 0, 1, 1}, {&__pyx_n_s_writer, __pyx_k_writer, sizeof(__pyx_k_writer), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; @@ -41497,10 +42319,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 210, __pyx_L1_error) __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 130, __pyx_L1_error) __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 149, __pyx_L1_error) - __pyx_builtin_SystemExit = __Pyx_GetBuiltinName(__pyx_n_s_SystemExit); if (!__pyx_builtin_SystemExit) __PYX_ERR(0, 384, __pyx_L1_error) - __pyx_builtin_GeneratorExit = __Pyx_GetBuiltinName(__pyx_n_s_GeneratorExit); if (!__pyx_builtin_GeneratorExit) __PYX_ERR(0, 387, __pyx_L1_error) - __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(0, 1157, __pyx_L1_error) - __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 1898, __pyx_L1_error) + __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_builtin_SystemExit = __Pyx_GetBuiltinName(__pyx_n_s_SystemExit); if (!__pyx_builtin_SystemExit) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_builtin_GeneratorExit = __Pyx_GetBuiltinName(__pyx_n_s_GeneratorExit); if (!__pyx_builtin_GeneratorExit) __PYX_ERR(0, 1190, __pyx_L1_error) + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 1891, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; @@ -41522,56 +42344,56 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "_pydevd_bundle/pydevd_cython.pyx":1157 + /* "_pydevd_bundle/pydevd_cython.pyx":902 * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) * py_db.writer.add_command(cmd) * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< * pydev_log.exception() * */ - __pyx_tuple__4 = PyTuple_Pack(2, __pyx_builtin_KeyboardInterrupt, __pyx_builtin_SystemExit); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 1157, __pyx_L1_error) + __pyx_tuple__4 = PyTuple_Pack(2, __pyx_builtin_KeyboardInterrupt, __pyx_builtin_SystemExit); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "_pydevd_bundle/pydevd_cython.pyx":1199 + /* "_pydevd_bundle/pydevd_cython.pyx":944 * filename = frame.f_code.co_filename * if filename.endswith('.pyc'): * filename = filename[:-1] # <<<<<<<<<<<<<< * * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): */ - __pyx_slice__5 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 1199, __pyx_L1_error) + __pyx_slice__5 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__5); __Pyx_GIVEREF(__pyx_slice__5); - /* "_pydevd_bundle/pydevd_cython.pyx":1401 + /* "_pydevd_bundle/pydevd_cython.pyx":1146 * '%s raised from within the callback set in sys.settrace.\nDebugging will be disabled for this thread (%s).\n' % (exc, thread,)) * py_db.writer.add_command(cmd) * if not issubclass(exc, (KeyboardInterrupt, SystemExit)): # <<<<<<<<<<<<<< * pydev_log.exception() * raise */ - __pyx_tuple__6 = PyTuple_Pack(2, __pyx_builtin_KeyboardInterrupt, __pyx_builtin_SystemExit); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 1401, __pyx_L1_error) + __pyx_tuple__6 = PyTuple_Pack(2, __pyx_builtin_KeyboardInterrupt, __pyx_builtin_SystemExit); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 1146, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "_pydevd_bundle/pydevd_cython.pyx":1512 + /* "_pydevd_bundle/pydevd_cython.pyx":1505 * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): * # We need __bootstrap_inner, not __bootstrap. * return None, False # <<<<<<<<<<<<<< * * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): */ - __pyx_tuple__10 = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 1512, __pyx_L1_error) + __pyx_tuple__10 = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 1505, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "_pydevd_bundle/pydevd_cython.pyx":1898 + /* "_pydevd_bundle/pydevd_cython.pyx":1891 * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): * raise RuntimeError('Not used in sys.monitoring mode.') # <<<<<<<<<<<<<< */ - __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Not_used_in_sys_monitoring_mode); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 1898, __pyx_L1_error) + __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Not_used_in_sys_monitoring_mode); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); @@ -41728,62 +42550,62 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { */ __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(2, 16, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":316 + /* "_pydevd_bundle/pydevd_cython.pyx":309 * # ENDIF * * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< * self._args[0].set_suspend(*args, **kwargs) * */ - __pyx_tuple__36 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_tuple__36 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_set_suspend, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_set_suspend, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 309, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":319 + /* "_pydevd_bundle/pydevd_cython.pyx":312 * self._args[0].set_suspend(*args, **kwargs) * * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< * self._args[0].do_wait_suspend(*args, **kwargs) * */ - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_do_wait_suspend, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 319, __pyx_L1_error) + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_do_wait_suspend, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 312, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":323 + /* "_pydevd_bundle/pydevd_cython.pyx":316 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< * cdef bint should_stop; * cdef tuple exc_info; */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_should_stop, __pyx_n_s_exc_info, __pyx_n_s_frame_skips_cache, __pyx_n_s_frame_cache_key, __pyx_n_s_custom_key, __pyx_n_s_container_obj); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 323, __pyx_L1_error) + __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_should_stop, __pyx_n_s_exc_info, __pyx_n_s_frame_skips_cache, __pyx_n_s_frame_cache_key, __pyx_n_s_custom_key, __pyx_n_s_container_obj); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_exception, 323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 323, __pyx_L1_error) + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_exception, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 316, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":472 - * return should_stop, frame + /* "_pydevd_bundle/pydevd_cython.pyx":344 + * return self.trace_exception * * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< * exc_info = self.exc_info * if exc_info: */ - __pyx_tuple__41 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_exc_info); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 472, __pyx_L1_error) + __pyx_tuple__41 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_exc_info); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_handle_user_exception, 472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 472, __pyx_L1_error) + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_handle_user_exception, 344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 344, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":709 + /* "_pydevd_bundle/pydevd_cython.pyx":452 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< * cdef tuple abs_path_canonical_path_and_base; * cdef bint is_exception_event; */ - __pyx_tuple__43 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_tuple__43 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch, 709, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 452, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< @@ -41800,36 +42622,60 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { */ __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(2, 16, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1445 + /* "_pydevd_bundle/pydevd_cython.pyx":1157 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef bint was_just_raised; + */ + __pyx_tuple__47 = PyTuple_Pack(21, __pyx_n_s_py_db, __pyx_n_s_info, __pyx_n_s_frame, __pyx_n_s_thread, __pyx_n_s_arg, __pyx_n_s_prev_exc_info, __pyx_n_s_should_stop, __pyx_n_s_was_just_raised, __pyx_n_s_check_excs, __pyx_n_s_return_exc_info, __pyx_n_s_exception, __pyx_n_s_value, __pyx_n_s_trace, __pyx_n_s_exception_breakpoint, __pyx_n_s_result, __pyx_n_s_exc_break_user, __pyx_n_s_exc_break_caught, __pyx_n_s_exc_break, __pyx_n_s_is_user_uncaught, __pyx_n_s_exc_info, __pyx_n_s_lines); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 21, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_should_stop_on_exception, 1157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 1157, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1283 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def handle_exception(py_db, thread, frame, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; + */ + __pyx_tuple__49 = PyTuple_Pack(21, __pyx_n_s_py_db, __pyx_n_s_thread, __pyx_n_s_frame, __pyx_n_s_arg, __pyx_n_s_exception_type, __pyx_n_s_stopped, __pyx_n_s_abs_real_path_and_base, __pyx_n_s_absolute_filename, __pyx_n_s_canonical_normalized_filename, __pyx_n_s_lines_ignored, __pyx_n_s_frame_id_to_frame, __pyx_n_s_merged, __pyx_n_s_trace_obj, __pyx_n_s_initial_trace_obj, __pyx_n_s_check_trace_obj, __pyx_n_s_curr_stat, __pyx_n_s_last_stat, __pyx_n_s_from_user_input, __pyx_n_s_exc_lineno, __pyx_n_s_line, __pyx_n_s_f); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1283, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__49); + __Pyx_GIVEREF(__pyx_tuple__49); + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 21, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_handle_exception, 1283, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1283, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1438 * * * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< * global _global_notify_skipped_step_in * */ - __pyx_tuple__47 = PyTuple_Pack(2, __pyx_n_s_py_db, __pyx_n_s_frame); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1445, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_notify_skipped_step_in_because_o, 1445, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 1445, __pyx_L1_error) + __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_py_db, __pyx_n_s_frame); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 1438, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__51); + __Pyx_GIVEREF(__pyx_tuple__51); + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_notify_skipped_step_in_because_o, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 1438, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1469 + /* "_pydevd_bundle/pydevd_cython.pyx":1462 * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None * def get_method_object(self): # <<<<<<<<<<<<<< * return self.method_object * # ELSE */ - __pyx_tuple__49 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1469, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_method_object, 1469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1469, __pyx_L1_error) + __pyx_tuple__53 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1462, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__53); + __Pyx_GIVEREF(__pyx_tuple__53); + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_method_object, 1462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1462, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(2, 1, __pyx_L1_error) /* "(tree fragment)":16 * else: @@ -41837,59 +42683,59 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) */ - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(2, 16, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1475 + /* "_pydevd_bundle/pydevd_cython.pyx":1468 * * * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef str filename; */ - __pyx_tuple__53 = PyTuple_Pack(15, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_filename, __pyx_n_s_name_2, __pyx_n_s_args, __pyx_n_s_thread, __pyx_n_s_f_unhandled, __pyx_n_s_force_only_unhandled_tracer, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_t, __pyx_n_s_additional_info, __pyx_n_s_top_level_thread_tracer, __pyx_n_s_f_trace, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1475, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_fix_top_level_trace_and_get_trac, 1475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1475, __pyx_L1_error) + __pyx_tuple__57 = PyTuple_Pack(15, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_filename, __pyx_n_s_name_2, __pyx_n_s_args, __pyx_n_s_thread, __pyx_n_s_f_unhandled, __pyx_n_s_force_only_unhandled_tracer, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_t, __pyx_n_s_additional_info, __pyx_n_s_top_level_thread_tracer, __pyx_n_s_f_trace, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 1468, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__57); + __Pyx_GIVEREF(__pyx_tuple__57); + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_fix_top_level_trace_and_get_trac, 1468, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 1468, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1603 + /* "_pydevd_bundle/pydevd_cython.pyx":1596 * * * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) * if thread_trace_func is None: */ - __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_thread_trace_func, __pyx_n_s_apply_to_settrace); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch, 1603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 1603, __pyx_L1_error) + __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_thread_trace_func, __pyx_n_s_apply_to_settrace); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 1596, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__59); + __Pyx_GIVEREF(__pyx_tuple__59); + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch, 1596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 1596, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1624 + /* "_pydevd_bundle/pydevd_cython.pyx":1617 * # ENDIF * * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) */ - __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_py_db, __pyx_n_s_t, __pyx_n_s_additional_info); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 1624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_unhandled_exceptions, 1624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 1624, __pyx_L1_error) + __pyx_tuple__61 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_py_db, __pyx_n_s_t, __pyx_n_s_additional_info); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 1617, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__61); + __Pyx_GIVEREF(__pyx_tuple__61); + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_unhandled_exceptions, 1617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 1617, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1638 + /* "_pydevd_bundle/pydevd_cython.pyx":1631 * return self.trace_unhandled_exceptions * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< * return self.trace_unhandled_exceptions * */ - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_trace_dispatch_func, 1638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 1638, __pyx_L1_error) + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_trace_dispatch_func, 1631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 1631, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(2, 1, __pyx_L1_error) /* "(tree fragment)":16 * else: @@ -41897,35 +42743,35 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) */ - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(2, 16, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1680 + /* "_pydevd_bundle/pydevd_cython.pyx":1673 * # ENDIF * * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< * # DEBUG = 'code_to_debug' in frame.f_code.co_filename * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) */ - __pyx_tuple__62 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_frame_trace_dispatch, __pyx_n_s_py_db, __pyx_n_s_t, __pyx_n_s_additional_info, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 1680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__62); - __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch_and_unhandled_exc, 1680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 1680, __pyx_L1_error) + __pyx_tuple__66 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_frame_trace_dispatch, __pyx_n_s_py_db, __pyx_n_s_t, __pyx_n_s_additional_info, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 1673, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__66); + __Pyx_GIVEREF(__pyx_tuple__66); + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch_and_unhandled_exc, 1673, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 1673, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1713 + /* "_pydevd_bundle/pydevd_cython.pyx":1706 * return ret * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< * return self.trace_dispatch_and_unhandled_exceptions * */ - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_trace_dispatch_func, 1713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 1713, __pyx_L1_error) + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_trace_dispatch_func, 1706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 1706, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(2, 1, __pyx_L1_error) /* "(tree fragment)":16 * else: @@ -41933,14 +42779,14 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) */ - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(2, 16, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * cdef tuple state * cdef object _dict */ - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(2, 1, __pyx_L1_error) /* "(tree fragment)":16 * else: @@ -41948,40 +42794,40 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) */ - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(2, 16, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1889 + /* "_pydevd_bundle/pydevd_cython.pyx":1882 * _original_call = ThreadTracer.__call__ * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< * constructed_tid_to_last_frame[self._args[1].ident] = frame * return _original_call(self, frame, event, arg) */ - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_call_2, 1889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 1889, __pyx_L1_error) + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_call_2, 1882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 1882, __pyx_L1_error) - /* "_pydevd_bundle/pydevd_cython.pyx":1897 + /* "_pydevd_bundle/pydevd_cython.pyx":1890 * if USE_SYS_MONITORING: * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): # <<<<<<<<<<<<<< * raise RuntimeError('Not used in sys.monitoring mode.') */ - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_fix_top_level_trace_and_get_trac, 1897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_fix_top_level_trace_and_get_trac, 1890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 1890, __pyx_L1_error) /* "(tree fragment)":1 * def __pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< * cdef object __pyx_PickleError * cdef object __pyx_result */ - __pyx_tuple__71 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(2, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__71); - __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__TryExceptContain, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBFrame, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SafeCallWrapper, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(2, 1, __pyx_L1_error) - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadTracer, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__75 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__75); + __Pyx_GIVEREF(__pyx_tuple__75); + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__TryExceptContain, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBFrame, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SafeCallWrapper, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadTracer, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -42122,8 +42968,6 @@ static int __Pyx_modinit_type_init_code(void) { if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj) < 0) __PYX_ERR(0, 257, __pyx_L1_error) #endif __pyx_vtabptr_14_pydevd_bundle_13pydevd_cython_PyDBFrame = &__pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame; - __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._should_stop_on_exception = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception; - __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._handle_exception = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception; __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame.get_func_name = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name; __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._show_return_values = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values; __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._remove_return_values = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values; @@ -42158,15 +43002,15 @@ static int __Pyx_modinit_type_init_code(void) { if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame) < 0) __PYX_ERR(0, 275, __pyx_L1_error) #endif #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper)) __PYX_ERR(0, 1457, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1457, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper)) __PYX_ERR(0, 1450, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1450, __pyx_L1_error) #else __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = &__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1457, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1450, __pyx_L1_error) #endif #if PY_MAJOR_VERSION < 3 __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper->tp_print = 0; @@ -42176,20 +43020,20 @@ static int __Pyx_modinit_type_init_code(void) { __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper->tp_getattro = __Pyx_PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SafeCallWrapper, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1457, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SafeCallWrapper, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1450, __pyx_L1_error) #if !CYTHON_COMPILING_IN_LIMITED_API - if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1457, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1450, __pyx_L1_error) #endif #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions)) __PYX_ERR(0, 1613, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1613, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions)) __PYX_ERR(0, 1606, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1606, __pyx_L1_error) #else __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1613, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1606, __pyx_L1_error) #endif #if PY_MAJOR_VERSION < 3 __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions->tp_print = 0; @@ -42199,20 +43043,20 @@ static int __Pyx_modinit_type_init_code(void) { __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions->tp_getattro = __Pyx_PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1613, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1606, __pyx_L1_error) #if !CYTHON_COMPILING_IN_LIMITED_API - if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1613, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1606, __pyx_L1_error) #endif #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame)) __PYX_ERR(0, 1643, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1643, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame)) __PYX_ERR(0, 1636, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1636, __pyx_L1_error) #else __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1643, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1636, __pyx_L1_error) #endif #if PY_MAJOR_VERSION < 3 __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame->tp_print = 0; @@ -42222,20 +43066,20 @@ static int __Pyx_modinit_type_init_code(void) { __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame->tp_getattro = __Pyx_PyObject_GenericGetAttr; } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerNoBackFrame, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1643, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerNoBackFrame, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1636, __pyx_L1_error) #if !CYTHON_COMPILING_IN_LIMITED_API - if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1643, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1636, __pyx_L1_error) #endif #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer)) __PYX_ERR(0, 1718, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1718, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer_spec, NULL); if (unlikely(!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer)) __PYX_ERR(0, 1711, __pyx_L1_error) + if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer_spec, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1711, __pyx_L1_error) #else __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer = &__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer; #endif #if !CYTHON_COMPILING_IN_LIMITED_API #endif #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1718, __pyx_L1_error) + if (__Pyx_PyType_Ready(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1711, __pyx_L1_error) #endif #if PY_MAJOR_VERSION < 3 __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer->tp_print = 0; @@ -42247,7 +43091,7 @@ static int __Pyx_modinit_type_init_code(void) { #endif #if CYTHON_UPDATE_DESCRIPTOR_DOC { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(0, 1718, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(0, 1711, __pyx_L1_error) if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) { __pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__.doc = __pyx_doc_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__; @@ -42255,9 +43099,9 @@ static int __Pyx_modinit_type_init_code(void) { } } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadTracer, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1718, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadTracer, (PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1711, __pyx_L1_error) #if !CYTHON_COMPILING_IN_LIMITED_API - if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1718, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1711, __pyx_L1_error) #endif __Pyx_RefNannyFinishContext(); return 0; @@ -43315,94 +44159,68 @@ if (!__Pyx_RefNanny) { __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj); - /* "_pydevd_bundle/pydevd_cython.pyx":288 - * # Same thing in the main debugger but only considering the file contents, while the one in the main debugger - * # considers the user input (so, the actual result must be a join of both). - * filename_to_lines_where_exceptions_are_ignored = {} # <<<<<<<<<<<<<< - * filename_to_stat_info = {} - * - */ - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_filename_to_lines_where_exceptio, __pyx_t_3) < 0) __PYX_ERR(0, 288, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - - /* "_pydevd_bundle/pydevd_cython.pyx":289 - * # considers the user input (so, the actual result must be a join of both). - * filename_to_lines_where_exceptions_are_ignored = {} - * filename_to_stat_info = {} # <<<<<<<<<<<<<< - * - * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - */ - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_filename_to_stat_info, __pyx_t_3) < 0) __PYX_ERR(0, 289, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - - /* "_pydevd_bundle/pydevd_cython.pyx":316 + /* "_pydevd_bundle/pydevd_cython.pyx":309 * # ENDIF * * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< * self._args[0].set_suspend(*args, **kwargs) * */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_3set_suspend, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_set_suspend, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_3set_suspend, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_set_suspend, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_set_suspend, __pyx_t_3) < 0) __PYX_ERR(0, 316, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_set_suspend, __pyx_t_3) < 0) __PYX_ERR(0, 309, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":319 + /* "_pydevd_bundle/pydevd_cython.pyx":312 * self._args[0].set_suspend(*args, **kwargs) * * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< * self._args[0].do_wait_suspend(*args, **kwargs) * */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_5do_wait_suspend, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_do_wait_suspend, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 319, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_5do_wait_suspend, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_do_wait_suspend, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_do_wait_suspend, __pyx_t_3) < 0) __PYX_ERR(0, 319, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_do_wait_suspend, __pyx_t_3) < 0) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":323 + /* "_pydevd_bundle/pydevd_cython.pyx":316 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< * cdef bint should_stop; * cdef tuple exc_info; */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_7trace_exception, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_trace_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_7trace_exception, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_trace_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_trace_exception, __pyx_t_3) < 0) __PYX_ERR(0, 323, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_trace_exception, __pyx_t_3) < 0) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":472 - * return should_stop, frame + /* "_pydevd_bundle/pydevd_cython.pyx":344 + * return self.trace_exception * * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< * exc_info = self.exc_info * if exc_info: */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_handle_user_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 472, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_handle_user_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_handle_user_exception, __pyx_t_3) < 0) __PYX_ERR(0, 472, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_handle_user_exception, __pyx_t_3) < 0) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":709 + /* "_pydevd_bundle/pydevd_cython.pyx":452 * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< * cdef tuple abs_path_canonical_path_and_base; * cdef bint is_exception_event; */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_trace_dispatch, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyDBFrame_trace_dispatch, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_trace_dispatch, __pyx_t_3) < 0) __PYX_ERR(0, 709, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame, __pyx_n_s_trace_dispatch, __pyx_t_3) < 0) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); @@ -43429,171 +44247,219 @@ if (!__Pyx_RefNanny) { __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":1410 - * # end trace_dispatch + /* "_pydevd_bundle/pydevd_cython.pyx":1157 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef bint was_just_raised; + */ + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_5should_stop_on_exception, 0, __pyx_n_s_should_stop_on_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_should_stop_on_exception, __pyx_t_3) < 0) __PYX_ERR(0, 1157, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1278 + * # Same thing in the main debugger but only considering the file contents, while the one in the main debugger + * # considers the user input (so, the actual result must be a join of both). + * filename_to_lines_where_exceptions_are_ignored: dict = {} # <<<<<<<<<<<<<< + * filename_to_stat_info: dict = {} + * + */ + __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_filename_to_lines_where_exceptio, __pyx_t_3) < 0) __PYX_ERR(0, 1278, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1279 + * # considers the user input (so, the actual result must be a join of both). + * filename_to_lines_where_exceptions_are_ignored: dict = {} + * filename_to_stat_info: dict = {} # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1279, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_filename_to_stat_info, __pyx_t_3) < 0) __PYX_ERR(0, 1279, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1283 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def handle_exception(py_db, thread, frame, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; + */ + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_7handle_exception, 0, __pyx_n_s_handle_exception, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1283, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_handle_exception, __pyx_t_3) < 0) __PYX_ERR(0, 1283, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1403 * + * return stopped * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive # <<<<<<<<<<<<<< * from _pydev_bundle.pydev_log import exception as pydev_log_exception * from _pydev_bundle._pydev_saved_modules import threading */ - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_is_thread_alive); __Pyx_GIVEREF(__pyx_n_s_is_thread_alive); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_is_thread_alive)) __PYX_ERR(0, 1410, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_is_thread_al, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1410, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_is_thread_alive)) __PYX_ERR(0, 1403, __pyx_L1_error); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_is_thread_al, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_thread_alive, __pyx_t_3) < 0) __PYX_ERR(0, 1410, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_thread_alive, __pyx_t_3) < 0) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1411 - * + /* "_pydevd_bundle/pydevd_cython.pyx":1404 + * return stopped * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive * from _pydev_bundle.pydev_log import exception as pydev_log_exception # <<<<<<<<<<<<<< * from _pydev_bundle._pydev_saved_modules import threading * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, */ - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1411, __pyx_L1_error) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_exception); __Pyx_GIVEREF(__pyx_n_s_exception); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_exception)) __PYX_ERR(0, 1411, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_log, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1411, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_exception)) __PYX_ERR(0, 1404, __pyx_L1_error); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_log, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_exception); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1411, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_exception); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydev_log_exception, __pyx_t_2) < 0) __PYX_ERR(0, 1411, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydev_log_exception, __pyx_t_2) < 0) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1412 + /* "_pydevd_bundle/pydevd_cython.pyx":1405 * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive * from _pydev_bundle.pydev_log import exception as pydev_log_exception * from _pydev_bundle._pydev_saved_modules import threading # <<<<<<<<<<<<<< * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock, USE_SYS_MONITORING) */ - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1412, __pyx_L1_error) + __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_threading); __Pyx_GIVEREF(__pyx_n_s_threading); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_threading)) __PYX_ERR(0, 1412, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1412, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_threading)) __PYX_ERR(0, 1405, __pyx_L1_error); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1412, __pyx_L1_error) + __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_3) < 0) __PYX_ERR(0, 1412, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_3) < 0) __PYX_ERR(0, 1405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1413 + /* "_pydevd_bundle/pydevd_cython.pyx":1406 * from _pydev_bundle.pydev_log import exception as pydev_log_exception * from _pydev_bundle._pydev_saved_modules import threading * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, # <<<<<<<<<<<<<< * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock, USE_SYS_MONITORING) * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER */ - __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_get_current_thread_id); __Pyx_GIVEREF(__pyx_n_s_get_current_thread_id); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_current_thread_id)) __PYX_ERR(0, 1413, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_current_thread_id)) __PYX_ERR(0, 1406, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_NO_FTRACE); __Pyx_GIVEREF(__pyx_n_s_NO_FTRACE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_NO_FTRACE)) __PYX_ERR(0, 1413, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_NO_FTRACE)) __PYX_ERR(0, 1406, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); __Pyx_GIVEREF(__pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA)) __PYX_ERR(0, 1413, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA)) __PYX_ERR(0, 1406, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_ForkSafeLock); __Pyx_GIVEREF(__pyx_n_s_ForkSafeLock); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_ForkSafeLock)) __PYX_ERR(0, 1413, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_ForkSafeLock)) __PYX_ERR(0, 1406, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_USE_SYS_MONITORING); __Pyx_GIVEREF(__pyx_n_s_USE_SYS_MONITORING); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_USE_SYS_MONITORING)) __PYX_ERR(0, 1413, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1413, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_USE_SYS_MONITORING)) __PYX_ERR(0, 1406, __pyx_L1_error); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_current_thread_id, __pyx_t_2) < 0) __PYX_ERR(0, 1413, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_current_thread_id, __pyx_t_2) < 0) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_FTRACE, __pyx_t_2) < 0) __PYX_ERR(0, 1413, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_FTRACE, __pyx_t_2) < 0) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA, __pyx_t_2) < 0) __PYX_ERR(0, 1414, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA, __pyx_t_2) < 0) __PYX_ERR(0, 1407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ForkSafeLock, __pyx_t_2) < 0) __PYX_ERR(0, 1414, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ForkSafeLock, __pyx_t_2) < 0) __PYX_ERR(0, 1407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_USE_SYS_MONITORING); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1413, __pyx_L1_error) + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_USE_SYS_MONITORING); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_SYS_MONITORING, __pyx_t_2) < 0) __PYX_ERR(0, 1414, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_SYS_MONITORING, __pyx_t_2) < 0) __PYX_ERR(0, 1407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1415 + /* "_pydevd_bundle/pydevd_cython.pyx":1408 * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock, USE_SYS_MONITORING) * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER # <<<<<<<<<<<<<< * * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) */ - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1415, __pyx_L1_error) + __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_get_abs_path_real_path_and_base); __Pyx_GIVEREF(__pyx_n_s_get_abs_path_real_path_and_base); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_abs_path_real_path_and_base)) __PYX_ERR(0, 1415, __pyx_L1_error); + if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_abs_path_real_path_and_base)) __PYX_ERR(0, 1408, __pyx_L1_error); __Pyx_INCREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); __Pyx_GIVEREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER)) __PYX_ERR(0, 1415, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_file_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER)) __PYX_ERR(0, 1408, __pyx_L1_error); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_file_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1415, __pyx_L1_error) + __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_abs_path_real_path_and_base, __pyx_t_3) < 0) __PYX_ERR(0, 1415, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_abs_path_real_path_and_base, __pyx_t_3) < 0) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1415, __pyx_L1_error) + __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_t_3) < 0) __PYX_ERR(0, 1415, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_t_3) < 0) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1438 + /* "_pydevd_bundle/pydevd_cython.pyx":1431 * # - Breakpoints are changed * # It can be used when running regularly (without step over/step in/step return) * global_cache_skips = {} # <<<<<<<<<<<<<< * global_cache_frame_skips = {} * */ - __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1438, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_skips, __pyx_t_2) < 0) __PYX_ERR(0, 1438, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_skips, __pyx_t_2) < 0) __PYX_ERR(0, 1431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1439 + /* "_pydevd_bundle/pydevd_cython.pyx":1432 * # It can be used when running regularly (without step over/step in/step return) * global_cache_skips = {} * global_cache_frame_skips = {} # <<<<<<<<<<<<<< * * _global_notify_skipped_step_in = False */ - __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1439, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_frame_skips, __pyx_t_2) < 0) __PYX_ERR(0, 1439, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_frame_skips, __pyx_t_2) < 0) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1441 + /* "_pydevd_bundle/pydevd_cython.pyx":1434 * global_cache_frame_skips = {} * * _global_notify_skipped_step_in = False # <<<<<<<<<<<<<< @@ -43605,43 +44471,43 @@ if (!__Pyx_RefNanny) { __Pyx_DECREF_SET(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in, ((PyObject*)Py_False)); __Pyx_GIVEREF(Py_False); - /* "_pydevd_bundle/pydevd_cython.pyx":1442 + /* "_pydevd_bundle/pydevd_cython.pyx":1435 * * _global_notify_skipped_step_in = False * _global_notify_skipped_step_in_lock = ForkSafeLock() # <<<<<<<<<<<<<< * * */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1442, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1442, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_notify_skipped_step_in_l, __pyx_t_3) < 0) __PYX_ERR(0, 1442, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_notify_skipped_step_in_l, __pyx_t_3) < 0) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1445 + /* "_pydevd_bundle/pydevd_cython.pyx":1438 * * * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< * global _global_notify_skipped_step_in * */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters, 0, __pyx_n_s_notify_skipped_step_in_because_o, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1445, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9notify_skipped_step_in_because_of_filters, 0, __pyx_n_s_notify_skipped_step_in_because_o, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_notify_skipped_step_in_because_o, __pyx_t_3) < 0) __PYX_ERR(0, 1445, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_notify_skipped_step_in_because_o, __pyx_t_3) < 0) __PYX_ERR(0, 1438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1469 + /* "_pydevd_bundle/pydevd_cython.pyx":1462 * Py_XDECREF (method_obj) * return SafeCallWrapper(ret) if ret is not None else None * def get_method_object(self): # <<<<<<<<<<<<<< * return self.method_object * # ELSE */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_5get_method_object, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper_get_method_objec, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1469, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_5get_method_object, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper_get_method_objec, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, __pyx_n_s_get_method_object, __pyx_t_3) < 0) __PYX_ERR(0, 1469, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, __pyx_n_s_get_method_object, __pyx_t_3) < 0) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper); @@ -43650,7 +44516,7 @@ if (!__Pyx_RefNanny) { * cdef tuple state * cdef object _dict */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper___reduce_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper___reduce_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -43662,59 +44528,59 @@ if (!__Pyx_RefNanny) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper___setstate_cytho, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SafeCallWrapper___setstate_cytho, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper); - /* "_pydevd_bundle/pydevd_cython.pyx":1475 + /* "_pydevd_bundle/pydevd_cython.pyx":1468 * * * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef str filename; */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func, 0, __pyx_n_s_fix_top_level_trace_and_get_trac, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1475, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_11fix_top_level_trace_and_get_trace_func, 0, __pyx_n_s_fix_top_level_trace_and_get_trac, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_3) < 0) __PYX_ERR(0, 1475, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_3) < 0) __PYX_ERR(0, 1468, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1603 + /* "_pydevd_bundle/pydevd_cython.pyx":1596 * * * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) * if thread_trace_func is None: */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9trace_dispatch, 0, __pyx_n_s_trace_dispatch, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1603, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_13trace_dispatch, 0, __pyx_n_s_trace_dispatch, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_trace_dispatch, __pyx_t_3) < 0) __PYX_ERR(0, 1603, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_trace_dispatch, __pyx_t_3) < 0) __PYX_ERR(0, 1596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1624 + /* "_pydevd_bundle/pydevd_cython.pyx":1617 * # ENDIF * * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_3trace_unhandled_exceptions, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1624, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_3trace_unhandled_exceptions, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_trace_unhandled_exceptions, __pyx_t_3) < 0) __PYX_ERR(0, 1624, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_trace_unhandled_exceptions, __pyx_t_3) < 0) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions); - /* "_pydevd_bundle/pydevd_cython.pyx":1638 + /* "_pydevd_bundle/pydevd_cython.pyx":1631 * return self.trace_unhandled_exceptions * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< * return self.trace_unhandled_exceptions * */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5get_trace_dispatch_func, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_3, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1638, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5get_trace_dispatch_func, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_3, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_get_trace_dispatch_func, __pyx_t_3) < 0) __PYX_ERR(0, 1638, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_get_trace_dispatch_func, __pyx_t_3) < 0) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions); @@ -43723,7 +44589,7 @@ if (!__Pyx_RefNanny) { * cdef tuple state * cdef object _dict */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_4, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_4, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -43735,35 +44601,35 @@ if (!__Pyx_RefNanny) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_5, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle_5, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions); - /* "_pydevd_bundle/pydevd_cython.pyx":1680 + /* "_pydevd_bundle/pydevd_cython.pyx":1673 * # ENDIF * * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< * # DEBUG = 'code_to_debug' in frame.f_code.co_filename * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_3trace_dispatch_and_unhandled_exceptions, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1680, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_3trace_dispatch_and_unhandled_exceptions, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_trace_dispatch_and_unhandled_exc, __pyx_t_3) < 0) __PYX_ERR(0, 1680, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_trace_dispatch_and_unhandled_exc, __pyx_t_3) < 0) __PYX_ERR(0, 1673, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame); - /* "_pydevd_bundle/pydevd_cython.pyx":1713 + /* "_pydevd_bundle/pydevd_cython.pyx":1706 * return ret * * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< * return self.trace_dispatch_and_unhandled_exceptions * */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5get_trace_dispatch_func, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_3, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5get_trace_dispatch_func, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_3, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_get_trace_dispatch_func, __pyx_t_3) < 0) __PYX_ERR(0, 1713, __pyx_L1_error) + if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_get_trace_dispatch_func, __pyx_t_3) < 0) __PYX_ERR(0, 1706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame); @@ -43772,7 +44638,7 @@ if (!__Pyx_RefNanny) { * cdef tuple state * cdef object _dict */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_4, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_4, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -43784,7 +44650,7 @@ if (!__Pyx_RefNanny) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_5, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TopLevelThreadTracerNoBackFrame_5, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -43795,7 +44661,7 @@ if (!__Pyx_RefNanny) { * cdef tuple state * cdef object _dict */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ThreadTracer___reduce_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ThreadTracer___reduce_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -43807,83 +44673,83 @@ if (!__Pyx_RefNanny) { * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) */ - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ThreadTracer___setstate_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ThreadTracer___setstate_cython, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer); - /* "_pydevd_bundle/pydevd_cython.pyx":1877 + /* "_pydevd_bundle/pydevd_cython.pyx":1870 * * * if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: # <<<<<<<<<<<<<< * # This is far from ideal, as we'll leak frames (we'll always have the last created frame, not really * # the last topmost frame saved -- this should be Ok for our usage, but it may leak frames and things */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1877, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1877, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1870, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1885 + /* "_pydevd_bundle/pydevd_cython.pyx":1878 * # * # See: https://github.com/IronLanguages/main/issues/1630 * from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame # <<<<<<<<<<<<<< * * _original_call = ThreadTracer.__call__ */ - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1885, __pyx_L1_error) + __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_constructed_tid_to_last_frame); __Pyx_GIVEREF(__pyx_n_s_constructed_tid_to_last_frame); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_constructed_tid_to_last_frame)) __PYX_ERR(0, 1885, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1885, __pyx_L1_error) + if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_constructed_tid_to_last_frame)) __PYX_ERR(0, 1878, __pyx_L1_error); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1885, __pyx_L1_error) + __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_constructed_tid_to_last_frame, __pyx_t_3) < 0) __PYX_ERR(0, 1885, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_constructed_tid_to_last_frame, __pyx_t_3) < 0) __PYX_ERR(0, 1878, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1887 + /* "_pydevd_bundle/pydevd_cython.pyx":1880 * from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame * * _original_call = ThreadTracer.__call__ # <<<<<<<<<<<<<< * * def __call__(self, frame, event, arg): */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1887, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_original_call, __pyx_t_2) < 0) __PYX_ERR(0, 1887, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_original_call, __pyx_t_2) < 0) __PYX_ERR(0, 1880, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1889 + /* "_pydevd_bundle/pydevd_cython.pyx":1882 * _original_call = ThreadTracer.__call__ * * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< * constructed_tid_to_last_frame[self._args[1].ident] = frame * return _original_call(self, frame, event, arg) */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_11__call__, 0, __pyx_n_s_call_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1889, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__call__, 0, __pyx_n_s_call_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_call_2, __pyx_t_2) < 0) __PYX_ERR(0, 1889, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_call_2, __pyx_t_2) < 0) __PYX_ERR(0, 1882, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1893 + /* "_pydevd_bundle/pydevd_cython.pyx":1886 * return _original_call(self, frame, event, arg) * * ThreadTracer.__call__ = __call__ # <<<<<<<<<<<<<< * * if USE_SYS_MONITORING: */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_call_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1893, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_call_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2, __pyx_t_2) < 0) __PYX_ERR(0, 1893, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2, __pyx_t_2) < 0) __PYX_ERR(0, 1886, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1877 + /* "_pydevd_bundle/pydevd_cython.pyx":1870 * * * if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: # <<<<<<<<<<<<<< @@ -43892,31 +44758,31 @@ if (!__Pyx_RefNanny) { */ } - /* "_pydevd_bundle/pydevd_cython.pyx":1895 + /* "_pydevd_bundle/pydevd_cython.pyx":1888 * ThreadTracer.__call__ = __call__ * * if USE_SYS_MONITORING: # <<<<<<<<<<<<<< * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_USE_SYS_MONITORING); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1895, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_USE_SYS_MONITORING); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1895, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 1888, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_9) { - /* "_pydevd_bundle/pydevd_cython.pyx":1897 + /* "_pydevd_bundle/pydevd_cython.pyx":1890 * if USE_SYS_MONITORING: * * def fix_top_level_trace_and_get_trace_func(*args, **kwargs): # <<<<<<<<<<<<<< * raise RuntimeError('Not used in sys.monitoring mode.') */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_13fix_top_level_trace_and_get_trace_func, 0, __pyx_n_s_fix_top_level_trace_and_get_trac, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_17fix_top_level_trace_and_get_trace_func, 0, __pyx_n_s_fix_top_level_trace_and_get_trac, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_2) < 0) __PYX_ERR(0, 1897, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_2) < 0) __PYX_ERR(0, 1890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "_pydevd_bundle/pydevd_cython.pyx":1895 + /* "_pydevd_bundle/pydevd_cython.pyx":1888 * ThreadTracer.__call__ = __call__ * * if USE_SYS_MONITORING: # <<<<<<<<<<<<<< @@ -43930,7 +44796,7 @@ if (!__Pyx_RefNanny) { * cdef object __pyx_PickleError * cdef object __pyx_result */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle_PyDBAdditionalThreadInfo, 0, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBAdditionalThreadInfo, 0, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43942,7 +44808,7 @@ if (!__Pyx_RefNanny) { * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle__TryExceptContainerObj, 0, __pyx_n_s_pyx_unpickle__TryExceptContain, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle__TryExceptContainerObj, 0, __pyx_n_s_pyx_unpickle__TryExceptContain, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__TryExceptContain, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43952,7 +44818,7 @@ if (!__Pyx_RefNanny) { * cdef object __pyx_PickleError * cdef object __pyx_result */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_PyDBFrame, 0, __pyx_n_s_pyx_unpickle_PyDBFrame, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_PyDBFrame, 0, __pyx_n_s_pyx_unpickle_PyDBFrame, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PyDBFrame, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43964,7 +44830,7 @@ if (!__Pyx_RefNanny) { * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_SafeCallWrapper, 0, __pyx_n_s_pyx_unpickle_SafeCallWrapper, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__75)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_SafeCallWrapper, 0, __pyx_n_s_pyx_unpickle_SafeCallWrapper, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SafeCallWrapper, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43974,7 +44840,7 @@ if (!__Pyx_RefNanny) { * cdef object __pyx_PickleError * cdef object __pyx_result */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, 0, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, 0, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43986,7 +44852,7 @@ if (!__Pyx_RefNanny) { * __pyx_result._args = __pyx_state[0] * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_TopLevelThreadTracerNoBackFrame, 0, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_29__pyx_unpickle_TopLevelThreadTracerNoBackFrame, 0, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43996,7 +44862,7 @@ if (!__Pyx_RefNanny) { * cdef object __pyx_PickleError * cdef object __pyx_result */ - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_27__pyx_unpickle_ThreadTracer, 0, __pyx_n_s_pyx_unpickle_ThreadTracer, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_31__pyx_unpickle_ThreadTracer, 0, __pyx_n_s_pyx_unpickle_ThreadTracer, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadTracer, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -45657,6 +46523,60 @@ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { return __Pyx_IterFinish(); } +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_value = exc_info->exc_value; + exc_info->exc_value = *value; + if (tmp_value == NULL || tmp_value == Py_None) { + Py_XDECREF(tmp_value); + tmp_value = NULL; + tmp_type = NULL; + tmp_tb = NULL; + } else { + tmp_type = (PyObject*) Py_TYPE(tmp_value); + Py_INCREF(tmp_type); + #if CYTHON_COMPILING_IN_CPYTHON + tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; + Py_XINCREF(tmp_tb); + #else + tmp_tb = PyException_GetTraceback(tmp_value); + #endif + } + #elif CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + /* ExtTypeTest */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { __Pyx_TypeName obj_type_name; @@ -45677,36 +46597,130 @@ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { return 0; } -/* GetAttr */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { -#if CYTHON_USE_TYPE_SLOTS -#if PY_MAJOR_VERSION >= 3 - if (likely(PyUnicode_Check(n))) -#else - if (likely(PyString_Check(n))) -#endif - return __Pyx_PyObject_GetAttrStr(o, n); -#endif - return PyObject_GetAttr(o, n); +/* RaiseNoneIterError */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } -/* HasAttr */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { - PyObject *r; - if (unlikely(!__Pyx_PyBaseString_Check(n))) { - PyErr_SetString(PyExc_TypeError, - "hasattr(): attribute name must be string"); - return -1; +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { + CYTHON_MAYBE_UNUSED_VAR(intval); + CYTHON_MAYBE_UNUSED_VAR(inplace); + CYTHON_UNUSED_VAR(zerodivision_check); + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + + return PyInt_FromLong(a & b); } - r = __Pyx_GetAttr(o, n); - if (!r) { - PyErr_Clear(); - return 0; - } else { - Py_DECREF(r); - return 1; + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + if ((intval & PyLong_MASK) == intval) { + long last_digit = (long) __Pyx_PyLong_Digits(op1)[0]; + long result = intval & (likely(__Pyx_PyLong_IsPos(op1)) ? last_digit : (PyLong_MASK - last_digit + 1)); + return PyLong_FromLong(result); + } + if (unlikely(__Pyx_PyLong_IsZero(op1))) { + return __Pyx_NewRef(op1); + } + if (likely(__Pyx_PyLong_IsCompact(op1))) { + a = __Pyx_PyLong_CompactValue(op1); + } else { + const digit* digits = __Pyx_PyLong_Digits(op1); + const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; + #ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; + #endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_and(op1, op2); + } + } + x = a & b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla & llb; + return PyLong_FromLongLong(llx); +#endif + + } + #endif + return (inplace ? PyNumber_InPlaceAnd : PyNumber_And)(op1, op2); } +#endif /* UnpackUnboundCMethod */ static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) { @@ -45907,185 +46921,6 @@ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObjec return value; } -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* RaiseNoneIterError */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - - return PyInt_FromLong(a & b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if ((intval & PyLong_MASK) == intval) { - long last_digit = (long) __Pyx_PyLong_Digits(op1)[0]; - long result = intval & (likely(__Pyx_PyLong_IsPos(op1)) ? last_digit : (PyLong_MASK - last_digit + 1)); - return PyLong_FromLong(result); - } - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op1); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_and(op1, op2); - } - } - x = a & b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla & llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - return (inplace ? PyNumber_InPlaceAnd : PyNumber_And)(op1, op2); -} -#endif - /* PyObjectGetMethod */ static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { PyObject *attr; @@ -46510,6 +47345,37 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, return NULL; } +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (!r) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + /* PyIntBinop */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { diff --git a/_pydevd_bundle/pydevd_cython.pyx b/_pydevd_bundle/pydevd_cython.pyx index 5f2494ce..3436a72d 100644 --- a/_pydevd_bundle/pydevd_cython.pyx +++ b/_pydevd_bundle/pydevd_cython.pyx @@ -281,13 +281,6 @@ cdef class PyDBFrame: # ''' # ENDIF - # Note: class (and not instance) attributes. - - # Same thing in the main debugger but only considering the file contents, while the one in the main debugger - # considers the user input (so, the actual result must be a join of both). - filename_to_lines_where_exceptions_are_ignored = {} - filename_to_stat_info = {} - # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) cdef tuple _args cdef int should_skip @@ -327,10 +320,11 @@ cdef class PyDBFrame: # def trace_exception(self, frame, event, arg): # ENDIF if event == 'exception': - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch elif event == 'return': @@ -347,263 +341,12 @@ cdef class PyDBFrame: return self.trace_exception - # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - cdef _should_stop_on_exception(self, frame, str event, arg): - cdef PyDBAdditionalThreadInfo info; - cdef bint should_stop; - cdef bint was_just_raised; - cdef list check_excs; - # ELSE -# def _should_stop_on_exception(self, frame, event, arg): - # ENDIF - - # py_db, _filename, info, _thread = self._args - py_db = self._args[0] - info = self._args[2] - should_stop = False - - # 2 = 2 - if info.pydev_state != 2: # and breakpoint is not None: - exception, value, trace = arg - - if trace is not None and hasattr(trace, 'tb_next'): - # on jython trace is None on the first event and it may not have a tb_next. - - should_stop = False - exception_breakpoint = None - try: - if py_db.plugin is not None: - result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - if result: - should_stop, frame = result - except: - pydev_log.exception() - - if not should_stop: - # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). - if exception == SystemExit and py_db.ignore_system_exit_code(value): - pass - - elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): - # These exceptions are control-flow related (they work as a generator - # pause), so, we shouldn't stop on them. - pass - - elif ignore_exception_trace(trace): - pass - - else: - was_just_raised = trace.tb_next is None - - # It was not handled by any plugin, lets check exception breakpoints. - check_excs = [] - - # Note: check user unhandled before regular exceptions. - exc_break_user = py_db.get_exception_breakpoint( - exception, py_db.break_on_user_uncaught_exceptions) - if exc_break_user is not None: - check_excs.append((exc_break_user, True)) - - exc_break_caught = py_db.get_exception_breakpoint( - exception, py_db.break_on_caught_exceptions) - if exc_break_caught is not None: - check_excs.append((exc_break_caught, False)) - - for exc_break, is_user_uncaught in check_excs: - # Initially mark that it should stop and then go into exclusions. - should_stop = True - - if py_db.exclude_exception_by_filter(exc_break, trace): - pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) - should_stop = False - - elif exc_break.condition is not None and \ - not py_db.handle_breakpoint_condition(info, exc_break, frame): - should_stop = False - - elif is_user_uncaught: - # Note: we don't stop here, we just collect the exc_info to use later on... - should_stop = False - if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ - and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - # User uncaught means that we're currently in user code but the code - # up the stack is library code. - exc_info = self.exc_info - if not exc_info: - exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - else: - lines = exc_info[2] - lines.add(frame.f_lineno) - exc_info = (arg, frame.f_lineno, lines) - self.exc_info = exc_info - else: - # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ - and not was_just_raised and not just_raised(trace.tb_next): - # In this case we never stop if it was just raised, so, to know if it was the first we - # need to check if we're in the 2nd method. - should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception - - elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - and not was_just_raised: - should_stop = False # I.e.: we stop only when it was just raised - - elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: - # Option: Don't break if an exception is caught in the same function from which it is thrown - should_stop = False - - if should_stop: - exception_breakpoint = exc_break - try: - info.pydev_message = exc_break.qname - except: - info.pydev_message = exc_break.qname.encode('utf-8') - break - - if should_stop: - # Always add exception to frame (must remove later after we proceed). - add_exception_to_frame(frame, (exception, value, trace)) - - if exception_breakpoint is not None and exception_breakpoint.expression is not None: - py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) - - return should_stop, frame - def handle_user_exception(self, frame): exc_info = self.exc_info if exc_info: - return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) return False - # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) - cdef _handle_exception(self, frame, str event, arg, str exception_type): - cdef bint stopped; - cdef tuple abs_real_path_and_base; - cdef str absolute_filename; - cdef str canonical_normalized_filename; - cdef dict filename_to_lines_where_exceptions_are_ignored; - cdef dict lines_ignored; - cdef dict frame_id_to_frame; - cdef dict merged; - cdef object trace_obj; - cdef object py_db; - # ELSE -# def _handle_exception(self, frame, event, arg, exception_type): - # ENDIF - stopped = False - try: - # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) - - # We have 3 things in arg: exception type, description, traceback object - trace_obj = arg[2] - py_db = self._args[0] - - initial_trace_obj = trace_obj - if trace_obj.tb_next is None and trace_obj.tb_frame is frame: - # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). - pass - else: - # Get the trace_obj from where the exception was raised... - while trace_obj.tb_next is not None: - trace_obj = trace_obj.tb_next - - if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: - for check_trace_obj in (initial_trace_obj, trace_obj): - abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - absolute_filename = abs_real_path_and_base[0] - canonical_normalized_filename = abs_real_path_and_base[1] - - filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored - - lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - if lines_ignored is None: - lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} - - try: - curr_stat = os.stat(absolute_filename) - curr_stat = (curr_stat.st_size, curr_stat.st_mtime) - except: - curr_stat = None - - last_stat = self.filename_to_stat_info.get(absolute_filename) - if last_stat != curr_stat: - self.filename_to_stat_info[absolute_filename] = curr_stat - lines_ignored.clear() - try: - linecache.checkcache(absolute_filename) - except: - pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) - - from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - if from_user_input: - merged = {} - merged.update(lines_ignored) - # Override what we have with the related entries that the user entered - merged.update(from_user_input) - else: - merged = lines_ignored - - exc_lineno = check_trace_obj.tb_lineno - - # print ('lines ignored', lines_ignored) - # print ('user input', from_user_input) - # print ('merged', merged, 'curr', exc_lineno) - - if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - try: - line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - except: - pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) - line = '' - - if IGNORE_EXCEPTION_TAG.match(line) is not None: - lines_ignored[exc_lineno] = 1 - return False - else: - # Put in the cache saying not to ignore - lines_ignored[exc_lineno] = 0 - else: - # Ok, dict has it already cached, so, let's check it... - if merged.get(exc_lineno, 0): - return False - - thread = self._args[3] - - try: - frame_id_to_frame = {} - frame_id_to_frame[id(frame)] = frame - f = trace_obj.tb_frame - while f is not None: - frame_id_to_frame[id(f)] = f - f = f.f_back - f = None - - stopped = True - py_db.send_caught_exception_stack(thread, arg, id(frame)) - try: - self.set_suspend(thread, 137) - self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) - finally: - py_db.send_caught_exception_stack_proceeded(thread) - except: - pydev_log.exception() - - py_db.set_trace_for_frame_and_parents(thread, frame) - finally: - # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. - remove_exception_from_frame(frame) - # Clear some local variables... - frame = None - trace_obj = None - initial_trace_obj = None - check_trace_obj = None - f = None - frame_id_to_frame = None - py_db = None - thread = None - - return stopped - # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) cdef get_func_name(self, frame): cdef str func_name @@ -853,9 +596,10 @@ cdef class PyDBFrame: elif event == 'exception': breakpoints_for_file = None if has_exception_breakpoints: - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch return self.trace_dispatch @@ -910,9 +654,10 @@ cdef class PyDBFrame: is_exception_event = True breakpoints_for_file = None if has_exception_breakpoints: - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch is_line = False is_return = False @@ -1407,6 +1152,254 @@ cdef class PyDBFrame: # end trace_dispatch + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): + cdef bint should_stop; + cdef bint was_just_raised; + cdef list check_excs; +# ELSE +# def should_stop_on_exception(py_db, info, frame, thread, arg, prev_exc_info): +# ENDIF + + should_stop = False + return_exc_info = prev_exc_info + + # 2 = 2 + if info.pydev_state != 2: # and breakpoint is not None: + exception, value, trace = arg + + if trace is not None and hasattr(trace, 'tb_next'): + # on jython trace is None on the first event and it may not have a tb_next. + + should_stop = False + exception_breakpoint = None + try: + if py_db.plugin is not None: + result = py_db.plugin.exception_break(py_db, frame, thread, arg) + if result: + should_stop, frame = result + except: + pydev_log.exception() + + if not should_stop: + # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + if exception == SystemExit and py_db.ignore_system_exit_code(value): + pass + + elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): + # These exceptions are control-flow related (they work as a generator + # pause), so, we shouldn't stop on them. + pass + + elif ignore_exception_trace(trace): + pass + + else: + was_just_raised = trace.tb_next is None + + # It was not handled by any plugin, lets check exception breakpoints. + check_excs = [] + + # Note: check user unhandled before regular exceptions. + exc_break_user = py_db.get_exception_breakpoint( + exception, py_db.break_on_user_uncaught_exceptions) + if exc_break_user is not None: + check_excs.append((exc_break_user, True)) + + exc_break_caught = py_db.get_exception_breakpoint( + exception, py_db.break_on_caught_exceptions) + if exc_break_caught is not None: + check_excs.append((exc_break_caught, False)) + + for exc_break, is_user_uncaught in check_excs: + # Initially mark that it should stop and then go into exclusions. + should_stop = True + + if py_db.exclude_exception_by_filter(exc_break, trace): + pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + should_stop = False + + elif exc_break.condition is not None and \ + not py_db.handle_breakpoint_condition(info, exc_break, frame): + should_stop = False + + elif is_user_uncaught: + # Note: we don't stop here, we just collect the exc_info to use later on... + should_stop = False + if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ + and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + # User uncaught means that we're currently in user code but the code + # up the stack is library code. + exc_info = prev_exc_info + if not exc_info: + exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + else: + lines = exc_info[2] + lines.add(frame.f_lineno) + exc_info = (arg, frame.f_lineno, lines) + return_exc_info = exc_info + else: + # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised and not just_raised(trace.tb_next): + # In this case we never stop if it was just raised, so, to know if it was the first we + # need to check if we're in the 2nd method. + should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + + elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised: + should_stop = False # I.e.: we stop only when it was just raised + + elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: + # Option: Don't break if an exception is caught in the same function from which it is thrown + should_stop = False + + if should_stop: + exception_breakpoint = exc_break + try: + info.pydev_message = exc_break.qname + except: + info.pydev_message = exc_break.qname.encode('utf-8') + break + + if should_stop: + # Always add exception to frame (must remove later after we proceed). + add_exception_to_frame(frame, (exception, value, trace)) + + if exception_breakpoint is not None and exception_breakpoint.expression is not None: + py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) + + return should_stop, frame, return_exc_info + + +# Same thing in the main debugger but only considering the file contents, while the one in the main debugger +# considers the user input (so, the actual result must be a join of both). +filename_to_lines_where_exceptions_are_ignored: dict = {} +filename_to_stat_info: dict = {} + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +def handle_exception(py_db, thread, frame, arg, str exception_type): + cdef bint stopped; + cdef tuple abs_real_path_and_base; + cdef str absolute_filename; + cdef str canonical_normalized_filename; + cdef dict lines_ignored; + cdef dict frame_id_to_frame; + cdef dict merged; + cdef object trace_obj; +# ELSE +# def handle_exception(py_db, thread, frame, arg, exception_type): +# ENDIF + stopped = False + try: + # print('handle_exception', frame.f_lineno, frame.f_code.co_name) + + # We have 3 things in arg: exception type, description, traceback object + trace_obj = arg[2] + + initial_trace_obj = trace_obj + if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + pass + else: + # Get the trace_obj from where the exception was raised... + while trace_obj.tb_next is not None: + trace_obj = trace_obj.tb_next + + if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + for check_trace_obj in (initial_trace_obj, trace_obj): + abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + absolute_filename = abs_real_path_and_base[0] + canonical_normalized_filename = abs_real_path_and_base[1] + + lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if lines_ignored is None: + lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + + try: + curr_stat = os.stat(absolute_filename) + curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + except: + curr_stat = None + + last_stat = filename_to_stat_info.get(absolute_filename) + if last_stat != curr_stat: + filename_to_stat_info[absolute_filename] = curr_stat + lines_ignored.clear() + try: + linecache.checkcache(absolute_filename) + except: + pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + + from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if from_user_input: + merged = {} + merged.update(lines_ignored) + # Override what we have with the related entries that the user entered + merged.update(from_user_input) + else: + merged = lines_ignored + + exc_lineno = check_trace_obj.tb_lineno + + # print ('lines ignored', lines_ignored) + # print ('user input', from_user_input) + # print ('merged', merged, 'curr', exc_lineno) + + if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + try: + line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + except: + pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + line = '' + + if IGNORE_EXCEPTION_TAG.match(line) is not None: + lines_ignored[exc_lineno] = 1 + return False + else: + # Put in the cache saying not to ignore + lines_ignored[exc_lineno] = 0 + else: + # Ok, dict has it already cached, so, let's check it... + if merged.get(exc_lineno, 0): + return False + + try: + frame_id_to_frame = {} + frame_id_to_frame[id(frame)] = frame + f = trace_obj.tb_frame + while f is not None: + frame_id_to_frame[id(f)] = f + f = f.f_back + f = None + + stopped = True + py_db.send_caught_exception_stack(thread, arg, id(frame)) + try: + py_db.set_suspend(thread, 137) + py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) + finally: + py_db.send_caught_exception_stack_proceeded(thread) + except: + pydev_log.exception() + + py_db.set_trace_for_frame_and_parents(thread, frame) + finally: + # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + remove_exception_from_frame(frame) + # Clear some local variables... + frame = None + trace_obj = None + initial_trace_obj = None + check_trace_obj = None + f = None + frame_id_to_frame = None + py_db = None + thread = None + + return stopped from _pydev_bundle.pydev_is_thread_alive import is_thread_alive from _pydev_bundle.pydev_log import exception as pydev_log_exception from _pydev_bundle._pydev_saved_modules import threading diff --git a/_pydevd_bundle/pydevd_frame.py b/_pydevd_bundle/pydevd_frame.py index 189ed40d..5cc851d5 100644 --- a/_pydevd_bundle/pydevd_frame.py +++ b/_pydevd_bundle/pydevd_frame.py @@ -134,13 +134,6 @@ class PyDBFrame: ''' # ENDIF - # Note: class (and not instance) attributes. - - # Same thing in the main debugger but only considering the file contents, while the one in the main debugger - # considers the user input (so, the actual result must be a join of both). - filename_to_lines_where_exceptions_are_ignored = {} - filename_to_stat_info = {} - # IFDEF CYTHON # cdef tuple _args # cdef int should_skip @@ -180,10 +173,11 @@ def do_wait_suspend(self, *args, **kwargs): def trace_exception(self, frame, event, arg): # ENDIF if event == 'exception': - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch elif event == 'return': @@ -200,263 +194,12 @@ def trace_exception(self, frame, event, arg): return self.trace_exception - # IFDEF CYTHON - # cdef _should_stop_on_exception(self, frame, str event, arg): - # cdef PyDBAdditionalThreadInfo info; - # cdef bint should_stop; - # cdef bint was_just_raised; - # cdef list check_excs; - # ELSE - def _should_stop_on_exception(self, frame, event, arg): - # ENDIF - - # py_db, _filename, info, _thread = self._args - py_db = self._args[0] - info = self._args[2] - should_stop = False - - # STATE_SUSPEND = 2 - if info.pydev_state != 2: # and breakpoint is not None: - exception, value, trace = arg - - if trace is not None and hasattr(trace, 'tb_next'): - # on jython trace is None on the first event and it may not have a tb_next. - - should_stop = False - exception_breakpoint = None - try: - if py_db.plugin is not None: - result = py_db.plugin.exception_break(py_db, self, frame, self._args, arg) - if result: - should_stop, frame = result - except: - pydev_log.exception() - - if not should_stop: - # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). - if exception == SystemExit and py_db.ignore_system_exit_code(value): - pass - - elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): - # These exceptions are control-flow related (they work as a generator - # pause), so, we shouldn't stop on them. - pass - - elif ignore_exception_trace(trace): - pass - - else: - was_just_raised = trace.tb_next is None - - # It was not handled by any plugin, lets check exception breakpoints. - check_excs = [] - - # Note: check user unhandled before regular exceptions. - exc_break_user = py_db.get_exception_breakpoint( - exception, py_db.break_on_user_uncaught_exceptions) - if exc_break_user is not None: - check_excs.append((exc_break_user, True)) - - exc_break_caught = py_db.get_exception_breakpoint( - exception, py_db.break_on_caught_exceptions) - if exc_break_caught is not None: - check_excs.append((exc_break_caught, False)) - - for exc_break, is_user_uncaught in check_excs: - # Initially mark that it should stop and then go into exclusions. - should_stop = True - - if py_db.exclude_exception_by_filter(exc_break, trace): - pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) - should_stop = False - - elif exc_break.condition is not None and \ - not py_db.handle_breakpoint_condition(info, exc_break, frame): - should_stop = False - - elif is_user_uncaught: - # Note: we don't stop here, we just collect the exc_info to use later on... - should_stop = False - if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ - and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): - # User uncaught means that we're currently in user code but the code - # up the stack is library code. - exc_info = self.exc_info - if not exc_info: - exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) - else: - lines = exc_info[2] - lines.add(frame.f_lineno) - exc_info = (arg, frame.f_lineno, lines) - self.exc_info = exc_info - else: - # I.e.: these are only checked if we're not dealing with user uncaught exceptions. - if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ - and not was_just_raised and not just_raised(trace.tb_next): - # In this case we never stop if it was just raised, so, to know if it was the first we - # need to check if we're in the 2nd method. - should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception - - elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ - and not was_just_raised: - should_stop = False # I.e.: we stop only when it was just raised - - elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: - # Option: Don't break if an exception is caught in the same function from which it is thrown - should_stop = False - - if should_stop: - exception_breakpoint = exc_break - try: - info.pydev_message = exc_break.qname - except: - info.pydev_message = exc_break.qname.encode('utf-8') - break - - if should_stop: - # Always add exception to frame (must remove later after we proceed). - add_exception_to_frame(frame, (exception, value, trace)) - - if exception_breakpoint is not None and exception_breakpoint.expression is not None: - py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) - - return should_stop, frame - def handle_user_exception(self, frame): exc_info = self.exc_info if exc_info: - return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + return handle_exception(self._args[0], self._args[3], frame, exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) return False - # IFDEF CYTHON - # cdef _handle_exception(self, frame, str event, arg, str exception_type): - # cdef bint stopped; - # cdef tuple abs_real_path_and_base; - # cdef str absolute_filename; - # cdef str canonical_normalized_filename; - # cdef dict filename_to_lines_where_exceptions_are_ignored; - # cdef dict lines_ignored; - # cdef dict frame_id_to_frame; - # cdef dict merged; - # cdef object trace_obj; - # cdef object py_db; - # ELSE - def _handle_exception(self, frame, event, arg, exception_type): - # ENDIF - stopped = False - try: - # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) - - # We have 3 things in arg: exception type, description, traceback object - trace_obj = arg[2] - py_db = self._args[0] - - initial_trace_obj = trace_obj - if trace_obj.tb_next is None and trace_obj.tb_frame is frame: - # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). - pass - else: - # Get the trace_obj from where the exception was raised... - while trace_obj.tb_next is not None: - trace_obj = trace_obj.tb_next - - if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: - for check_trace_obj in (initial_trace_obj, trace_obj): - abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) - absolute_filename = abs_real_path_and_base[0] - canonical_normalized_filename = abs_real_path_and_base[1] - - filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored - - lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - if lines_ignored is None: - lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} - - try: - curr_stat = os.stat(absolute_filename) - curr_stat = (curr_stat.st_size, curr_stat.st_mtime) - except: - curr_stat = None - - last_stat = self.filename_to_stat_info.get(absolute_filename) - if last_stat != curr_stat: - self.filename_to_stat_info[absolute_filename] = curr_stat - lines_ignored.clear() - try: - linecache.checkcache(absolute_filename) - except: - pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) - - from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) - if from_user_input: - merged = {} - merged.update(lines_ignored) - # Override what we have with the related entries that the user entered - merged.update(from_user_input) - else: - merged = lines_ignored - - exc_lineno = check_trace_obj.tb_lineno - - # print ('lines ignored', lines_ignored) - # print ('user input', from_user_input) - # print ('merged', merged, 'curr', exc_lineno) - - if exc_lineno not in merged: # Note: check on merged but update lines_ignored. - try: - line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) - except: - pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) - line = '' - - if IGNORE_EXCEPTION_TAG.match(line) is not None: - lines_ignored[exc_lineno] = 1 - return False - else: - # Put in the cache saying not to ignore - lines_ignored[exc_lineno] = 0 - else: - # Ok, dict has it already cached, so, let's check it... - if merged.get(exc_lineno, 0): - return False - - thread = self._args[3] - - try: - frame_id_to_frame = {} - frame_id_to_frame[id(frame)] = frame - f = trace_obj.tb_frame - while f is not None: - frame_id_to_frame[id(f)] = f - f = f.f_back - f = None - - stopped = True - py_db.send_caught_exception_stack(thread, arg, id(frame)) - try: - self.set_suspend(thread, CMD_STEP_CAUGHT_EXCEPTION) - self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) - finally: - py_db.send_caught_exception_stack_proceeded(thread) - except: - pydev_log.exception() - - py_db.set_trace_for_frame_and_parents(thread, frame) - finally: - # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. - remove_exception_from_frame(frame) - # Clear some local variables... - frame = None - trace_obj = None - initial_trace_obj = None - check_trace_obj = None - f = None - frame_id_to_frame = None - py_db = None - thread = None - - return stopped - # IFDEF CYTHON # cdef get_func_name(self, frame): # cdef str func_name @@ -706,9 +449,10 @@ def trace_dispatch(self, frame, event, arg): elif event == 'exception': breakpoints_for_file = None if has_exception_breakpoints: - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch return self.trace_dispatch @@ -763,9 +507,10 @@ def trace_dispatch(self, frame, event, arg): is_exception_event = True breakpoints_for_file = None if has_exception_breakpoints: - should_stop, frame = self._should_stop_on_exception(frame, event, arg) + should_stop, frame, exc_info = should_stop_on_exception(self._args[0], self._args[2], frame, self._args[3], arg, self.exc_info) + self.exc_info = exc_info if should_stop: - if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + if handle_exception(self._args[0], self._args[3], frame, arg, EXCEPTION_TYPE_HANDLED): return self.trace_dispatch is_line = False is_return = False @@ -1260,3 +1005,251 @@ def trace_dispatch(self, frame, event, arg): # end trace_dispatch + +# IFDEF CYTHON +# def should_stop_on_exception(py_db, PyDBAdditionalThreadInfo info, frame, thread, arg, prev_exc_info): +# cdef bint should_stop; +# cdef bint was_just_raised; +# cdef list check_excs; +# ELSE +def should_stop_on_exception(py_db, info, frame, thread, arg, prev_exc_info): +# ENDIF + + should_stop = False + return_exc_info = prev_exc_info + + # STATE_SUSPEND = 2 + if info.pydev_state != 2: # and breakpoint is not None: + exception, value, trace = arg + + if trace is not None and hasattr(trace, 'tb_next'): + # on jython trace is None on the first event and it may not have a tb_next. + + should_stop = False + exception_breakpoint = None + try: + if py_db.plugin is not None: + result = py_db.plugin.exception_break(py_db, frame, thread, arg) + if result: + should_stop, frame = result + except: + pydev_log.exception() + + if not should_stop: + # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + if exception == SystemExit and py_db.ignore_system_exit_code(value): + pass + + elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): + # These exceptions are control-flow related (they work as a generator + # pause), so, we shouldn't stop on them. + pass + + elif ignore_exception_trace(trace): + pass + + else: + was_just_raised = trace.tb_next is None + + # It was not handled by any plugin, lets check exception breakpoints. + check_excs = [] + + # Note: check user unhandled before regular exceptions. + exc_break_user = py_db.get_exception_breakpoint( + exception, py_db.break_on_user_uncaught_exceptions) + if exc_break_user is not None: + check_excs.append((exc_break_user, True)) + + exc_break_caught = py_db.get_exception_breakpoint( + exception, py_db.break_on_caught_exceptions) + if exc_break_caught is not None: + check_excs.append((exc_break_caught, False)) + + for exc_break, is_user_uncaught in check_excs: + # Initially mark that it should stop and then go into exclusions. + should_stop = True + + if py_db.exclude_exception_by_filter(exc_break, trace): + pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + should_stop = False + + elif exc_break.condition is not None and \ + not py_db.handle_breakpoint_condition(info, exc_break, frame): + should_stop = False + + elif is_user_uncaught: + # Note: we don't stop here, we just collect the exc_info to use later on... + should_stop = False + if not py_db.apply_files_filter(frame, frame.f_code.co_filename, True) \ + and (frame.f_back is None or py_db.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + # User uncaught means that we're currently in user code but the code + # up the stack is library code. + exc_info = prev_exc_info + if not exc_info: + exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + else: + lines = exc_info[2] + lines.add(frame.f_lineno) + exc_info = (arg, frame.f_lineno, lines) + return_exc_info = exc_info + else: + # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + if exc_break.notify_on_first_raise_only and py_db.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised and not just_raised(trace.tb_next): + # In this case we never stop if it was just raised, so, to know if it was the first we + # need to check if we're in the 2nd method. + should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + + elif exc_break.notify_on_first_raise_only and not py_db.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised: + should_stop = False # I.e.: we stop only when it was just raised + + elif was_just_raised and py_db.skip_on_exceptions_thrown_in_same_context: + # Option: Don't break if an exception is caught in the same function from which it is thrown + should_stop = False + + if should_stop: + exception_breakpoint = exc_break + try: + info.pydev_message = exc_break.qname + except: + info.pydev_message = exc_break.qname.encode('utf-8') + break + + if should_stop: + # Always add exception to frame (must remove later after we proceed). + add_exception_to_frame(frame, (exception, value, trace)) + + if exception_breakpoint is not None and exception_breakpoint.expression is not None: + py_db.handle_breakpoint_expression(exception_breakpoint, info, frame) + + return should_stop, frame, return_exc_info + + +# Same thing in the main debugger but only considering the file contents, while the one in the main debugger +# considers the user input (so, the actual result must be a join of both). +filename_to_lines_where_exceptions_are_ignored: dict = {} +filename_to_stat_info: dict = {} + + +# IFDEF CYTHON +# def handle_exception(py_db, thread, frame, arg, str exception_type): +# cdef bint stopped; +# cdef tuple abs_real_path_and_base; +# cdef str absolute_filename; +# cdef str canonical_normalized_filename; +# cdef dict lines_ignored; +# cdef dict frame_id_to_frame; +# cdef dict merged; +# cdef object trace_obj; +# ELSE +def handle_exception(py_db, thread, frame, arg, exception_type): +# ENDIF + stopped = False + try: + # print('handle_exception', frame.f_lineno, frame.f_code.co_name) + + # We have 3 things in arg: exception type, description, traceback object + trace_obj = arg[2] + + initial_trace_obj = trace_obj + if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + pass + else: + # Get the trace_obj from where the exception was raised... + while trace_obj.tb_next is not None: + trace_obj = trace_obj.tb_next + + if py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception: + for check_trace_obj in (initial_trace_obj, trace_obj): + abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + absolute_filename = abs_real_path_and_base[0] + canonical_normalized_filename = abs_real_path_and_base[1] + + lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if lines_ignored is None: + lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + + try: + curr_stat = os.stat(absolute_filename) + curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + except: + curr_stat = None + + last_stat = filename_to_stat_info.get(absolute_filename) + if last_stat != curr_stat: + filename_to_stat_info[absolute_filename] = curr_stat + lines_ignored.clear() + try: + linecache.checkcache(absolute_filename) + except: + pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + + from_user_input = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if from_user_input: + merged = {} + merged.update(lines_ignored) + # Override what we have with the related entries that the user entered + merged.update(from_user_input) + else: + merged = lines_ignored + + exc_lineno = check_trace_obj.tb_lineno + + # print ('lines ignored', lines_ignored) + # print ('user input', from_user_input) + # print ('merged', merged, 'curr', exc_lineno) + + if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + try: + line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + except: + pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + line = '' + + if IGNORE_EXCEPTION_TAG.match(line) is not None: + lines_ignored[exc_lineno] = 1 + return False + else: + # Put in the cache saying not to ignore + lines_ignored[exc_lineno] = 0 + else: + # Ok, dict has it already cached, so, let's check it... + if merged.get(exc_lineno, 0): + return False + + try: + frame_id_to_frame = {} + frame_id_to_frame[id(frame)] = frame + f = trace_obj.tb_frame + while f is not None: + frame_id_to_frame[id(f)] = f + f = f.f_back + f = None + + stopped = True + py_db.send_caught_exception_stack(thread, arg, id(frame)) + try: + py_db.set_suspend(thread, CMD_STEP_CAUGHT_EXCEPTION) + py_db.do_wait_suspend(thread, frame, 'exception', arg, exception_type=exception_type) + finally: + py_db.send_caught_exception_stack_proceeded(thread) + except: + pydev_log.exception() + + py_db.set_trace_for_frame_and_parents(thread, frame) + finally: + # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + remove_exception_from_frame(frame) + # Clear some local variables... + frame = None + trace_obj = None + initial_trace_obj = None + check_trace_obj = None + f = None + frame_id_to_frame = None + py_db = None + thread = None + + return stopped diff --git a/_pydevd_bundle/pydevd_trace_api.py b/_pydevd_bundle/pydevd_trace_api.py index d37e969a..0fc3ac26 100644 --- a/_pydevd_bundle/pydevd_trace_api.py +++ b/_pydevd_bundle/pydevd_trace_api.py @@ -54,7 +54,7 @@ def suspend(plugin, pydb, thread, frame): return None -def exception_break(plugin, pydb, pydb_frame, frame, args, arg): +def exception_break(plugin, pydb, frame, thread, arg): return None diff --git a/_pydevd_sys_monitoring/pydevd_sys_monitoring.py b/_pydevd_sys_monitoring/pydevd_sys_monitoring.py index 2790f033..c48a9a0b 100644 --- a/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +++ b/_pydevd_sys_monitoring/pydevd_sys_monitoring.py @@ -325,6 +325,7 @@ def get_func_code_info(code_obj) -> FuncCodeInfo: # func_code_info.filtered_out = False if not func_code_info.always_skip_code: + # Handle regular breakpoints breakpoints: dict = py_db.breakpoints.get(func_code_info.canonical_normalized_filename) function_breakpoint: object = py_db.function_breakpoint_name_to_breakpoint.get(func_code_info.co_name) # print('\n---') @@ -449,6 +450,9 @@ def _raise_event(code, instruction, exc): unhandled only if it gets into a pydevd. If it's a thread, if it stops inside the threading and if it's an unmanaged thread (i.e.: QThread) then stop if it doesn't have a back frame. + + Note: unlike other events, this one is global and not per-code (so, + it cannot be individually enabled/disabled for a given code object). ''' thread_info = _get_thread_info(True, 1) if thread_info is None: @@ -783,23 +787,7 @@ def start_monitoring(all_threads=False): DEBUGGER_ID = monitor.DEBUGGER_ID if not monitor.get_tool(DEBUGGER_ID): monitor.use_tool_id(DEBUGGER_ID, 'pydevd') - monitor.set_events(DEBUGGER_ID, monitor.events.PY_START | monitor.events.PY_RESUME) - - monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method) - monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _start_method) - monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) - monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, _return_event) - monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, _raise_event) - - # monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, self._line_callback) - # - # monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, self._return_callback) - # - # monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, self._raise_callback) - - # Activate exception raise callback if exception breakpoints are registered. - # current_events = monitor.get_events(DEBUGGER_ID) - # monitor.set_events(DEBUGGER_ID, current_events | monitor.events.RAISE) + restart_events(breakpoints_changed=True) else: try: thread_info = _thread_local_info.thread_info @@ -835,9 +823,54 @@ def stop_monitoring(all_threads=False): thread_info.trace = False -def restart_events(): - print('restart events') +def restart_events(breakpoints_changed: bool=False) -> None: + print('restart events, breakpoints_changed=', breakpoints_changed) sys.monitoring.restart_events() + if breakpoints_changed: + # When breakpoints change we need to update what we want to track based + # on the breakpoints. + py_db = GlobalDebuggerHolder.global_dbg + if py_db is None: + return + + required_events = 0 + + has_exception_breakpoint_in_pydb = ( + py_db.break_on_caught_exceptions + or py_db.break_on_user_uncaught_exceptions + or py_db.has_plugin_exception_breaks) + + if has_exception_breakpoint_in_pydb: + required_events |= monitor.events.RAISE + print('track RAISE') + monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, _raise_event) + else: + monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, None) + + has_line_breaks = py_db.has_plugin_line_breaks + + if not has_line_breaks: + file_to_line_to_breakpoints = py_db.breakpoints + for line_to_breakpoints in file_to_line_to_breakpoints.values(): + if line_to_breakpoints: + has_line_breaks = True + break + + if has_line_breaks: + print('track PY_START|PY_RESUME') + required_events |= monitor.events.PY_START | monitor.events.PY_RESUME + + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _start_method) + monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, _return_event) + else: + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _start_method) + monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, _return_event) + + monitor.set_events(DEBUGGER_ID, required_events) def _is_same_frame(info, target_frame, current_frame): diff --git a/pydevd.py b/pydevd.py index 94958af0..41a047e2 100644 --- a/pydevd.py +++ b/pydevd.py @@ -1171,9 +1171,9 @@ def on_breakpoints_changed(self, removed=False): if not removed: # When removing breakpoints we can leave tracing as was, but if a breakpoint was added # we have to reset the tracing for the existing functions to be re-evaluated. - self.set_tracing_for_untraced_contexts() + self.set_tracing_for_untraced_contexts(breakpoints_changed=True) - def set_tracing_for_untraced_contexts(self): + def set_tracing_for_untraced_contexts(self, breakpoints_changed=False): # Enable the tracing for existing threads (because there may be frames being executed that # are currently untraced). @@ -1213,7 +1213,7 @@ def set_tracing_for_untraced_contexts(self): additional_info = None if USE_SYS_MONITORING: - pydevd_sys_monitoring.restart_events() + pydevd_sys_monitoring.restart_events(breakpoints_changed=breakpoints_changed) @property def multi_threads_single_notification(self): diff --git a/pydevd_plugins/django_debug.py b/pydevd_plugins/django_debug.py index 100f65af..2804686c 100644 --- a/pydevd_plugins/django_debug.py +++ b/pydevd_plugins/django_debug.py @@ -559,9 +559,7 @@ def _get_original_filename_from_origin_in_parent_frame_locals(frame, parent_fram return filename -def exception_break(plugin, main_debugger, pydb_frame, frame, args, arg): - main_debugger = args[0] - thread = args[3] +def exception_break(plugin, main_debugger, frame, thread, arg): exception, value, trace = arg if main_debugger.django_exception_break and exception is not None: diff --git a/pydevd_plugins/jinja2_debug.py b/pydevd_plugins/jinja2_debug.py index 8ba9b9dd..48e4d204 100644 --- a/pydevd_plugins/jinja2_debug.py +++ b/pydevd_plugins/jinja2_debug.py @@ -469,9 +469,7 @@ def suspend(plugin, pydb, thread, frame, bp_type): return None -def exception_break(plugin, pydb, pydb_frame, frame, args, arg): - pydb = args[0] - thread = args[3] +def exception_break(plugin, pydb, frame, thread, arg): exception, value, trace = arg if pydb.jinja2_exception_break and exception is not None: exception_type = list(pydb.jinja2_exception_break.keys())[0] @@ -498,7 +496,7 @@ def exception_break(plugin, pydb, pydb_frame, frame, args, arg): if module_name.startswith('jinja2.'): # Jinja2 translates exception info and creates fake frame on his own - pydb_frame.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK) + pydb.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK) add_exception_to_frame(frame, (exception, value, trace)) thread.additional_info.suspend_type = JINJA2_SUSPEND thread.additional_info.pydev_message = str(exception_type) diff --git a/tests_python/test_sys_monitoring.py b/tests_python/test_sys_monitoring.py index c18ef1e2..f6a5c531 100644 --- a/tests_python/test_sys_monitoring.py +++ b/tests_python/test_sys_monitoring.py @@ -16,6 +16,8 @@ def _disable_monitoring(): monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, None) monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, None) monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, None) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, None) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, None) sys.monitoring.free_tool_id(DEBUGGER_ID) @@ -69,6 +71,54 @@ def method(): ] +def test_exceptions_and_return(with_monitoring): + monitor.set_events(DEBUGGER_ID, monitor.events.RAISE | monitor.events.PY_RETURN | monitor.events.PY_UNWIND) + + found = [] + + def _on_raise(code, instruction_offset, exc): + if code.co_filename.endswith('sys_monitoring.py'): + found.append(('raise', code.co_name, str(exc), sys._getframe(1).f_lineno)) + + def _on_return(code, instruction_offset, val): + if code.co_filename.endswith('sys_monitoring.py'): + found.append(('return', code.co_name, str(val), sys._getframe(1).f_lineno)) + + def _on_unwind(code, instruction_offset, val): + if code.co_filename.endswith('sys_monitoring.py'): + found.append(('unwind', code.co_name, str(val), sys._getframe(1).f_lineno)) + + monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE , _on_raise) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN , _on_return) + monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND , _on_unwind) + + def method_raise(): + raise RuntimeError('err1') + + def method_2(): + try: + method_raise() + except: + raise + + def method(): + try: + method_2() + except: + pass + + method() + + assert found == [ + ('raise', 'method_raise', 'err1', 96), + ('unwind', 'method_raise', 'err1', 96), + ('raise', 'method_2', 'err1', 100), + ('unwind', 'method_2', 'err1', 102), # This will be helpful for unhandled exceptions! + ('raise', 'method', 'err1', 106), + ('return', 'method', 'None', 108), + ] + + def test_variables_on_call(with_monitoring): monitor.set_events(DEBUGGER_ID, monitor.events.PY_START) @@ -147,7 +197,6 @@ def _on_line(code, line): do_change_line[0] += 1 if do_change_line[0] == 2: frame = sys._getframe(1) - print(frame.f_lineno) frame.f_lineno = line - 2 monitor.set_events(DEBUGGER_ID, monitor.events.PY_START | monitor.events.PY_RESUME)