Author: Manuel Jacob <[email protected]>
Branch:
Changeset: r74130:05a158d8f78b
Date: 2014-10-23 16:19 +0200
http://bitbucket.org/pypy/pypy/changeset/05a158d8f78b/
Log: hg merge
diff --git a/rpython/jit/codewriter/assembler.py
b/rpython/jit/codewriter/assembler.py
--- a/rpython/jit/codewriter/assembler.py
+++ b/rpython/jit/codewriter/assembler.py
@@ -249,6 +249,8 @@
if isinstance(TYPE, lltype.FuncType):
name = value._obj._name
elif TYPE == rclass.OBJECT_VTABLE:
+ if not value.name: # this is really the "dummy" class
+ return # pointer from some dict
name = ''.join(value.name.chars)
else:
return
diff --git a/rpython/jit/metainterp/test/test_dict.py
b/rpython/jit/metainterp/test/test_dict.py
--- a/rpython/jit/metainterp/test/test_dict.py
+++ b/rpython/jit/metainterp/test/test_dict.py
@@ -20,6 +20,21 @@
res = self.interp_operations(fn, [0])
assert not res
+ def test_dict_of_classes_as_values(self):
+ class A:
+ x = 5
+ class B(A):
+ x = 8
+ def fn(n):
+ A()
+ B()
+ d = self.newdict()
+ d[42] = A
+ d[43] = B
+ return d[n].x
+ res = self.interp_operations(fn, [43])
+ assert res == 8
+
def test_dict_keys_values_items(self):
for name, extract, expected in [('keys', None, 'k'),
('values', None, 'v'),
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit