[pypy-commit] lang-js default: deleted obsolete Map and MapDict code
stepahn
noreply at buildbot.pypy.org
Fri Dec 28 11:32:45 CET 2012
Author: Stephan <stephan at stzal.com>
Branch:
Changeset: r147:c904178706f3
Date: 2011-11-02 12:51 +0100
http://bitbucket.org/pypy/lang-js/changeset/c904178706f3/
Log: deleted obsolete Map and MapDict code
diff --git a/js/astbuilder.py b/js/astbuilder.py
--- a/js/astbuilder.py
+++ b/js/astbuilder.py
@@ -3,8 +3,6 @@
from pypy.rlib.parsing.parsing import ParseError
from js import operations
-from js.utils import Map
-
from js.object_map import ROOT_MAP
def _get_root_map():
diff --git a/js/test/test_map.py b/js/test/test_map.py
deleted file mode 100644
--- a/js/test/test_map.py
+++ /dev/null
@@ -1,110 +0,0 @@
-import py
-
-from js.utils import Map, MapDict, DynamicMapDict
-
-class TestMap(object):
- def test_addname(self):
- m = Map()
- m.addname('foo')
- m.addname('bar')
- assert m._map_indexes['foo'] == 0
- assert m._map_indexes['bar'] == 1
-
- def test_addname_return_index(self):
- m = Map()
- assert m.addname('foo') == 0
- assert m.addname('bar') == 1
-
- def test_indexof(self):
- m = Map()
- m.addname('foo')
- m.addname('bar')
- assert m.indexof('foo') == 0
- assert m.indexof('bar') == 1
- assert m.indexof('baz') == Map.NOT_FOUND
-
- def test_delname(self):
- m = Map()
- m.addname('foo')
- assert m.indexof('foo') is not None
- m.delname('foo')
- assert m.indexof('foo') == Map.NOT_FOUND
-
- def test_delname_monotone(self):
- m = Map()
- m.addname('foo')
- index_of_foo = m.indexof('foo')
- assert index_of_foo is not None
- m.delname('foo')
- assert m.indexof('foo') == Map.NOT_FOUND
- m.addname('foo')
- assert index_of_foo != m.indexof('foo')
-
- def test_delname_monotone2(self):
- m = Map()
- m.addname('foo')
- m.addname('bar')
- index_of_foo = m.indexof('foo')
- assert index_of_foo is not None
- m.delname('foo')
- assert m.indexof('foo') == Map.NOT_FOUND
- m.addname('foo')
- assert index_of_foo != m.indexof('foo')
- assert m.indexof('bar') != m.indexof('foo')
-
-class TestMapDict(object):
- def test_set(self):
- m = MapDict(2)
- m.set('foo', 4)
- m.set('bar', 8)
- assert m._map_indexes['foo'] == 0
- assert m._map_indexes['bar'] == 1
- assert m._map_dict_values[0] == 4
- assert m._map_dict_values[1] == 8
-
- def test_set_max_size(self):
- m = MapDict(2)
- m.set('foo', 4)
- m.set('bar', 8)
- py.test.raises(IndexError, m.set, 'baz', 15)
-
- def test_setindex(self):
- m = MapDict(2)
- m.setindex(0, 4)
- m.setindex(1, 8)
- assert m._map_dict_values[0] == 4
- assert m._map_dict_values[1] == 8
- assert len(m._map_dict_values) == 2
-
- def test_get(self):
- m = MapDict(2)
- m._map_indexes['foo'] = 0
- m._map_indexes['bar'] = 1
- m._map_dict_values[0] = 4
- m._map_dict_values[1] = 8
- assert m.get('foo') == 4
- assert m.get('bar') == 8
-
- def test_getindex(self):
- m = MapDict(2)
- m._map_dict_values[0] = 4
- m._map_dict_values[1] = 8
- assert m.getindex(0) == 4
- assert m.getindex(1) == 8
- assert m.getindex(1) == 8
-
- def test_get_key_error(self):
- m = MapDict(2)
- py.test.raises(KeyError, m.getindex, Map.NOT_FOUND)
- py.test.raises(KeyError, m.get, 'foo')
-
-class TestDynamicMapDict(object):
- def test_set(self):
- m = DynamicMapDict()
- assert len(m._map_dict_values) == 0
- m.set('foo', 4)
- assert len(m._map_dict_values) == 1
- m.set('bar', 8)
- assert len(m._map_dict_values) == 2
- assert m.get('foo') == 4
- assert m.get('bar') == 8
diff --git a/js/utils.py b/js/utils.py
--- a/js/utils.py
+++ b/js/utils.py
@@ -43,128 +43,3 @@
def check_stack(self):
assert self.stack_pointer == 1
-
-class MapMixin(object):
- _MAP_NOT_FOUND = -1
- _mixin_ = True
-
- def __init__(self):
- self._init_map()
-
- def _init_map(self):
- self._map_indexes = {}
- self._map_next_index = 0
-
- def _map_get_next_index(self):
- index = self._map_next_index
- self._map_next_index += 1
- return index
-
- def _map_indexof(self, name):
- return self._map_indexes.get(name, self._MAP_NOT_FOUND)
-
- def _map_addname(self, name):
- return self._map_addname_no_resize(name)
-
- def _map_addname_no_resize(self, name):
- if self._map_indexof(name) == self._MAP_NOT_FOUND:
- self._map_indexes[name] = self._map_get_next_index()
- return self._map_indexof(name)
-
- def _map_delname(self, name):
- self._map_indexes[name] = self._MAP_NOT_FOUND
-
-class Map(MapMixin):
- NOT_FOUND = MapMixin._MAP_NOT_FOUND
-
- def __repr__(self):
- return "%s:\n %s" %(object.__repr__(self), repr(self._map_indexes))
-
- def indexof(self, name):
- return self._map_indexof(name)
-
- def addname(self, name):
- return self._map_addname(name)
-
- def delname(self, name):
- self._map_delname(name)
-
-class MapDictMixin(object):
- _mixin_ = True
- def __init__(self, size = 99):
- self._init_map_dict(size)
-
- def _init_map_dict(self, size = 99):
- self._init_map()
- self._map_dict_values_init_with_size(size)
- self._map_dict_expand = False
-
- def _init_dynamic_map_dict(self):
- self._init_map_dict(0)
- self._map_dict_expand = True
-
- def _init_map_dict_with_map(self, map):
- indexes = map._map_indexes
- self._map_dict_values_init_with_size(len(indexes))
- self._map_indexes = indexes
- self._map_next_index = map._map_next_index
-
- def _map_dict_values_init_with_size(self, size):
- self._map_dict_values = [None] * size
-
- def _map_dict_get(self, name):
- idx = self._map_indexof(name)
- return self._map_dict_getindex(idx)
-
- def _map_dict_getindex(self, idx):
- if idx < 0:
- raise KeyError
- return self._map_dict_values[idx]
-
- def _map_dict_set(self, name, value):
- idx = self._map_addname(name)
- self._map_dict_setindex(idx, value)
-
- def _map_dict_delete(self, name):
- self._map_dict_set(name, None)
- self._map_delname(name)
-
- def _map_dict_setindex(self, idx, value):
- assert idx >= 0
- self._map_dict_values[idx] = value
-
- def _map_addname(self, name):
- if self._map_dict_expand:
- _resize_map_dict(self)
- return self._map_addname_no_resize(name)
-
- at jit.dont_look_inside
-def _resize_map_dict(map_dict_obj):
- while len(map_dict_obj._map_dict_values) <= map_dict_obj._map_next_index:
- map_dict_obj._map_dict_values = map_dict_obj._map_dict_values + [None]
-
-class MapDict(MapDictMixin, Map):
- def __init__(self, size = 99):
- self._init_map_dict(size)
-
- def __repr__(self):
- return "%s;\n %s" %(Map.__repr__(self), repr(self._map_dict_values))
-
- def get(self, name):
- return self._map_dict_get(name)
-
- def getindex(self, idx):
- return self._map_dict_getindex(idx)
-
- def set(self, name, value):
- self._map_dict_set(name, value)
-
- def delete(self, name):
- self._map_dict_delete(name)
-
- def setindex(self, idx, value):
- self._map_dict_setindex(idx, value)
-
-class DynamicMapDict(MapDict):
- def __init__(self):
- self._init_dynamic_map_dict()
More information about the pypy-commit
mailing list