Author: Ronan Lamy <ronan.l...@gmail.com> Branch: less-stringly-ops Changeset: r66229:a3a24731c83d Date: 2013-08-09 02:06 +0100 http://bitbucket.org/pypy/pypy/changeset/a3a24731c83d/
Log: Use operator in FSFrame.do_operation_with...; shorten its name diff --git a/rpython/flowspace/flowcontext.py b/rpython/flowspace/flowcontext.py --- a/rpython/flowspace/flowcontext.py +++ b/rpython/flowspace/flowcontext.py @@ -14,7 +14,6 @@ recursively_flatten) from rpython.flowspace.specialcase import (rpython_print_item, rpython_print_newline) -from rpython.flowspace.operation import op class FlowingError(Exception): @@ -449,10 +448,9 @@ recorder.append(spaceop) return spaceop.result - def do_operation_with_implicit_exceptions(self, name, *args_w): - w_result = self.do_operation(name, *args_w) - oper = getattr(op, name) - self.handle_implicit_exceptions(oper.canraise) + def do_op(self, operator, *args_w): + w_result = self.do_operation(operator.name, *args_w) + self.handle_implicit_exceptions(operator.canraise) return w_result def handle_implicit_exceptions(self, exceptions): diff --git a/rpython/flowspace/objspace.py b/rpython/flowspace/objspace.py --- a/rpython/flowspace/objspace.py +++ b/rpython/flowspace/objspace.py @@ -11,7 +11,7 @@ from rpython.flowspace.model import (Constant, Variable, WrapException, UnwrapException, checkgraph, const) from rpython.flowspace.bytecode import HostCode -from rpython.flowspace import operation +from rpython.flowspace.operation import op from rpython.flowspace.flowcontext import (FlowSpaceFrame, fixeggblocks, FSException, FlowingError) from rpython.flowspace.generator import (tweak_generator_graph, @@ -275,8 +275,7 @@ if w_obj in self.not_really_const: const_w = self.not_really_const[w_obj] if w_name not in const_w: - return self.frame.do_operation_with_implicit_exceptions('getattr', - w_obj, w_name) + return self.frame.do_op(op.getattr, w_obj, w_name) if w_obj.foldable() and w_name.foldable(): obj, name = w_obj.value, w_name.value try: @@ -290,8 +289,7 @@ return const(result) except WrapException: pass - return self.frame.do_operation_with_implicit_exceptions('getattr', - w_obj, w_name) + return self.frame.do_op(op.getattr, w_obj, w_name) def isinstance_w(self, w_obj, w_type): return self.is_true(self.isinstance(w_obj, w_type)) @@ -310,8 +308,7 @@ if w_module in self.not_really_const: const_w = self.not_really_const[w_module] if w_name not in const_w: - return self.frame.do_operation_with_implicit_exceptions('getattr', - w_module, w_name) + return self.frame.do_op(op.getattr, w_module, w_name) try: return const(getattr(w_module.value, w_name.value)) except AttributeError: @@ -391,7 +388,7 @@ return oper.eval(self.frame, *args) return generic_operator -for oper in operation.op.__dict__.values(): +for oper in op.__dict__.values(): if getattr(FlowObjSpace, oper.name, None) is None: setattr(FlowObjSpace, oper.name, make_op(oper)) diff --git a/rpython/flowspace/operation.py b/rpython/flowspace/operation.py --- a/rpython/flowspace/operation.py +++ b/rpython/flowspace/operation.py @@ -43,8 +43,7 @@ def eval(self, frame, *args_w): if len(args_w) != self.arity: raise TypeError(self.name + " got the wrong number of arguments") - w_result = frame.do_operation_with_implicit_exceptions(self.name, *args_w) - return w_result + return frame.do_op(self, *args_w) class PureOperator(SpaceOperator): pure = True @@ -81,8 +80,7 @@ # type cannot sanely appear in flow graph, # store operation with variable result instead pass - w_result = frame.do_operation_with_implicit_exceptions(self.name, *args_w) - return w_result + return frame.do_op(self, *args_w) def add_operator(name, arity, symbol, pyfunc=None, pure=False, ovf=False): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit