[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