[pypy-commit] pypy SomeRange: Separate bk.newrange() from bk.newlist()

rlamy pypy.commits at gmail.com
Sat Jan 30 13:42:35 EST 2016


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: SomeRange
Changeset: r82006:02f319beadff
Date: 2016-01-30 04:47 +0000
http://bitbucket.org/pypy/pypy/changeset/02f319beadff/

Log:	Separate bk.newrange() from bk.newlist()

diff --git a/rpython/annotator/bookkeeper.py b/rpython/annotator/bookkeeper.py
--- a/rpython/annotator/bookkeeper.py
+++ b/rpython/annotator/bookkeeper.py
@@ -180,15 +180,18 @@
             listdef.listitem.__dict__.update(flags_if_new)
         return listdef
 
-    def newlist(self, *s_values, **flags):
+    def newlist(self, *s_values):
         """Make a SomeList associated with the current position, general
         enough to contain the s_values as items."""
-        listdef = self.getlistdef(**flags)
+        listdef = self.getlistdef()
         for s_value in s_values:
             listdef.generalize(s_value)
-        if flags:
-            assert flags.keys() == ['range_step']
-            listdef.generalize_range_step(flags['range_step'])
+        return SomeList(listdef)
+
+    def newrange(self, s_item, step):
+        listdef = self.getlistdef(range_step=step)
+        listdef.generalize(s_item)
+        listdef.generalize_range_step(step)
         return SomeList(listdef)
 
     def getdictdef(self, is_r_dict=False, force_non_null=False):
diff --git a/rpython/annotator/builtin.py b/rpython/annotator/builtin.py
--- a/rpython/annotator/builtin.py
+++ b/rpython/annotator/builtin.py
@@ -80,7 +80,7 @@
             nonneg = s_stop.nonneg or (s_stop.is_constant() and
                                        s_stop.const >= -1)
         s_item = SomeInteger(nonneg=nonneg)
-    return getbookkeeper().newlist(s_item, range_step=step)
+    return getbookkeeper().newrange(s_item, step)
 
 builtin_xrange = builtin_range # xxx for now allow it
 


More information about the pypy-commit mailing list