| 2057 | break |
| 2058 | |
| 2059 | def set_next_statement(self, frame, event, func_name, next_line): |
| 2060 | stop = False |
| 2061 | response_msg = "" |
| 2062 | old_line = frame.f_lineno |
| 2063 | if event == "line" or event == "exception": |
| 2064 | # If we're already in the correct context, we have to stop it now, because we can act only on |
| 2065 | # line events -- if a return was the next statement it wouldn't work (so, we have this code |
| 2066 | # repeated at pydevd_frame). |
| 2067 | |
| 2068 | curr_func_name = frame.f_code.co_name |
| 2069 | |
| 2070 | # global context is set with an empty name |
| 2071 | if curr_func_name in ("?", "<module>"): |
| 2072 | curr_func_name = "" |
| 2073 | |
| 2074 | if func_name == "*" or curr_func_name == func_name: |
| 2075 | line = next_line |
| 2076 | frame.f_trace = self.trace_dispatch |
| 2077 | frame.f_lineno = line |
| 2078 | stop = True |
| 2079 | else: |
| 2080 | response_msg = "jump is available only within the bottom frame" |
| 2081 | return stop, old_line, response_msg |
| 2082 | |
| 2083 | def cancel_async_evaluation(self, thread_id, frame_id): |
| 2084 | with self._main_lock: |