[pypy-commit] pypy refactor-pycall: cleanup
rlamy
noreply at buildbot.pypy.org
Fri Apr 3 03:23:37 CEST 2015
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: refactor-pycall
Changeset: r76693:4f23a232ec40
Date: 2015-04-03 02:22 +0100
http://bitbucket.org/pypy/pypy/changeset/4f23a232ec40/
Log: cleanup
diff --git a/rpython/annotator/annrpython.py b/rpython/annotator/annrpython.py
--- a/rpython/annotator/annrpython.py
+++ b/rpython/annotator/annrpython.py
@@ -10,7 +10,6 @@
Variable, Constant, FunctionGraph, checkgraph)
from rpython.translator import simplify, transform
from rpython.annotator import model as annmodel, signature
-from rpython.annotator.argument import simple_args
from rpython.annotator.bookkeeper import Bookkeeper
from rpython.rtyper.normalizecalls import perform_normalizations
@@ -91,14 +90,11 @@
def get_call_parameters(self, function, args_s, policy):
desc = self.bookkeeper.getdesc(function)
- from rpython.annotator.description import FunctionDesc
- assert isinstance(desc, FunctionDesc)
- args = simple_args(args_s)
prevpolicy = self.policy
self.policy = policy
self.bookkeeper.enter(None)
try:
- return desc.pycall_2(args)
+ return desc.get_call_parameters(args_s)
finally:
self.bookkeeper.leave()
self.policy = prevpolicy
diff --git a/rpython/annotator/description.py b/rpython/annotator/description.py
--- a/rpython/annotator/description.py
+++ b/rpython/annotator/description.py
@@ -1,10 +1,10 @@
from __future__ import absolute_import
import types
from rpython.annotator.signature import (
- enforce_signature_args, enforce_signature_return)
+ enforce_signature_args, enforce_signature_return, finish_type)
from rpython.flowspace.model import Constant, FunctionGraph
from rpython.flowspace.bytecode import cpython_code_signature
-from rpython.annotator.argument import rawshape, ArgErr
+from rpython.annotator.argument import rawshape, ArgErr, simple_args
from rpython.tool.sourcetools import valid_identifier, func_with_new_name
from rpython.tool.pairtype import extendabletype
from rpython.annotator.model import (
@@ -320,7 +320,8 @@
result = unionof(result, s_previous_result)
return result
- def pycall_2(self, args):
+ def get_call_parameters(self, args_s):
+ args = simple_args(args_s)
inputcells = self.parse_arguments(args)
graph = self.specialize(inputcells)
assert isinstance(graph, FunctionGraph)
@@ -329,16 +330,13 @@
# recreate the args object because inputcells may have been changed
new_args = args.unmatch_signature(self.signature, inputcells)
inputcells = self.parse_arguments(new_args, graph)
- res = graph, inputcells
- result = s_ImpossibleValue
signature = getattr(self.pyobj, '_signature_', None)
if signature:
- sigresult = enforce_signature_return(self, signature[1], result)
- if sigresult is not None:
+ s_result = finish_type(signature[1], self.bookkeeper, self.pyobj)
+ if s_result is not None:
self.bookkeeper.annotator.addpendingblock(
- graph, graph.returnblock, [sigresult])
- result = sigresult
- return res
+ graph, graph.returnblock, [s_result])
+ return graph, inputcells
def bind_under(self, classdef, name):
# XXX static methods
More information about the pypy-commit
mailing list