Author: Ronan Lamy <[email protected]>
Branch: translation-cleanup
Changeset: r57431:d9fe70f44b26
Date: 2012-09-18 14:08 +0100
http://bitbucket.org/pypy/pypy/changeset/d9fe70f44b26/
Log: Remove _convert_exc()
diff --git a/pypy/interpreter/executioncontext.py
b/pypy/interpreter/executioncontext.py
--- a/pypy/interpreter/executioncontext.py
+++ b/pypy/interpreter/executioncontext.py
@@ -153,17 +153,13 @@
self._trace(frame, 'exception', None, operationerr)
#operationerr.print_detailed_traceback(self.space)
- def _convert_exc(self, operr):
- # Only for the flow object space
- return operr
-
def sys_exc_info(self): # attn: the result is not the wrapped
sys.exc_info() !!!
"""Implements sys.exc_info().
Return an OperationError instance or None."""
frame = self.gettopframe_nohidden()
while frame:
if frame.last_exception is not None:
- return self._convert_exc(frame.last_exception)
+ return frame.last_exception
frame = self.getnextframe_nohidden(frame)
return None
diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -536,7 +536,7 @@
ec = self.space.getexecutioncontext()
while frame:
if frame.last_exception is not None:
- operror = ec._convert_exc(frame.last_exception)
+ operror = frame.last_exception
break
frame = frame.f_backref()
else:
diff --git a/pypy/objspace/flow/flowcontext.py
b/pypy/objspace/flow/flowcontext.py
--- a/pypy/objspace/flow/flowcontext.py
+++ b/pypy/objspace/flow/flowcontext.py
@@ -450,13 +450,6 @@
candidates.insert(0, newblock)
self.pendingblocks.append(newblock)
- def _convert_exc(self, operr):
- if isinstance(operr, ImplicitOperationError):
- # re-raising an implicit operation makes it an explicit one
- w_value = operr.get_w_value(self.space)
- operr = FSException(operr.w_type, w_value)
- return operr
-
# hack for unrolling iterables, don't use this
def replace_in_stack(self, oldvalue, newvalue):
w_new = Constant(newvalue)
@@ -515,9 +508,13 @@
space = self.space
if nbargs == 0:
if self.last_exception is not None:
- operror = self._convert_exc(self.last_exception)
- self.last_exception = operror
- raise RaiseWithExplicitTraceback(operror)
+ operr = self.last_exception
+ if isinstance(operr, ImplicitOperationError):
+ # re-raising an implicit operation makes it an explicit one
+ w_value = operr.get_w_value(self.space)
+ operr = FSException(operr.w_type, w_value)
+ self.last_exception = operr
+ raise RaiseWithExplicitTraceback(operr)
else:
raise FSException(space.w_TypeError,
space.wrap("raise: no active exception to re-raise"))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit