[pypy-commit] pypy list-strategies: added docstring got EmptyListStrategy and RangeListStrategy
l.diekmann
noreply at buildbot.pypy.org
Fri Sep 23 13:15:43 CEST 2011
Author: Lukas Diekmann <lukas.diekmann at uni-duesseldorf.de>
Branch: list-strategies
Changeset: r47559:b4d8d7f596eb
Date: 2011-09-19 14:11 +0200
http://bitbucket.org/pypy/pypy/changeset/b4d8d7f596eb/
Log: added docstring got EmptyListStrategy and RangeListStrategy
diff --git a/pypy/objspace/std/listobject.py b/pypy/objspace/std/listobject.py
--- a/pypy/objspace/std/listobject.py
+++ b/pypy/objspace/std/listobject.py
@@ -278,7 +278,11 @@
raise NotImplementedError
class EmptyListStrategy(ListStrategy):
- # XXX add a docstring and say what the storage is
+ """EmptyListStrategy is used when a W_List withouth elements is created.
+ The storage is None. When items are added to the W_List a new RPython list
+ is created and the strategy and storage of the W_List are changed depending
+ to the added item.
+ W_Lists do not switch back to EmptyListStrategy when becoming empty again."""
def __init__(self, space):
ListStrategy.__init__(self, space)
@@ -368,7 +372,11 @@
pass
class RangeListStrategy(ListStrategy):
- # XXX add a docstring what the storage looks like
+ """RangeListStrategy is used when a list is created using the range method.
+ The storage is a tuple containing only three integers start, step and length
+ and elements are calculated based on these values.
+ On any operation destroying the range (inserting, appending non-ints)
+ the strategy is switched to IntegerListStrategy."""
def switch_to_integer_strategy(self, w_list):
items = self._getitems_range(w_list, False)
More information about the pypy-commit
mailing list