diff options
author | Tor Norbye <tnorbye@google.com> | 2014-09-18 11:43:07 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-09-18 11:43:28 -0700 |
commit | e782c57d74000722f9db4c9426317410520670c6 (patch) | |
tree | 6e5d3e8934107ffabb7661f8bfc0e1a08eb37faf /python/helpers/pydev/pydevd_frame_utils.py | |
parent | c3d3a90f6b4ead083d63e28e6b9fcea93d675678 (diff) | |
download | idea-e782c57d74000722f9db4c9426317410520670c6.tar.gz |
Snapshot idea/138.2210 from git://git.jetbrains.org/idea/community.git
Change-Id: I8f0204d7887ee78cf1fd8c09f936c5afff0edd2f
Diffstat (limited to 'python/helpers/pydev/pydevd_frame_utils.py')
-rw-r--r-- | python/helpers/pydev/pydevd_frame_utils.py | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/python/helpers/pydev/pydevd_frame_utils.py b/python/helpers/pydev/pydevd_frame_utils.py index 23becca0570d..0c9e8446d19c 100644 --- a/python/helpers/pydev/pydevd_frame_utils.py +++ b/python/helpers/pydev/pydevd_frame_utils.py @@ -1,11 +1,11 @@ -class Frame: +class Frame(object): def __init__( self, f_back, f_fileno, f_code, f_locals, - f_globals={}, + f_globals=None, f_trace=None): self.f_back = f_back self.f_lineno = f_fileno @@ -14,8 +14,31 @@ class Frame: self.f_globals = f_globals self.f_trace = f_trace + if self.f_globals is None: + self.f_globals = {} -class FCode: + +class FCode(object): def __init__(self, name, filename): self.co_name = name - self.co_filename = filename
\ No newline at end of file + self.co_filename = filename + + +def add_exception_to_frame(frame, exception_info): + frame.f_locals['__exception__'] = exception_info + + +def just_raised(trace): + if trace is None: + return False + return trace.tb_next is None + + +def cached_call(obj, func, *args): + cached_name = '_cached_' + func.__name__ + if not hasattr(obj, cached_name): + setattr(obj, cached_name, func(*args)) + + return getattr(obj, cached_name) + + |