summaryrefslogtreecommitdiff
path: root/python/helpers/pydev/pydevd_frame_utils.py
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-09-18 11:43:07 -0700
committerTor Norbye <tnorbye@google.com>2014-09-18 11:43:28 -0700
commite782c57d74000722f9db4c9426317410520670c6 (patch)
tree6e5d3e8934107ffabb7661f8bfc0e1a08eb37faf /python/helpers/pydev/pydevd_frame_utils.py
parentc3d3a90f6b4ead083d63e28e6b9fcea93d675678 (diff)
downloadidea-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.py31
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)
+
+