[pypy-commit] pypy object-dtype2: fix compile for __array_interface__ dictionary lookup

mattip noreply at buildbot.pypy.org
Wed Apr 22 11:22:31 CEST 2015


Author: mattip <matti.picus at gmail.com>
Branch: object-dtype2
Changeset: r76864:1b847ed40e52
Date: 2015-04-20 19:58 +0300
http://bitbucket.org/pypy/pypy/changeset/1b847ed40e52/

Log:	fix compile for __array_interface__ dictionary lookup

diff --git a/pypy/module/micronumpy/compile.py b/pypy/module/micronumpy/compile.py
--- a/pypy/module/micronumpy/compile.py
+++ b/pypy/module/micronumpy/compile.py
@@ -89,7 +89,8 @@
         return self.wrap(len(w_obj.items))
 
     def getattr(self, w_obj, w_attr):
-        return StringObject(NonConstant('foo'))
+        assert isinstance(w_attr, StringObject)
+        return w_obj.getdictvalue(self, w_attr.v)
 
     def isinstance_w(self, w_obj, w_tp):
         try:
diff --git a/pypy/module/micronumpy/ctors.py b/pypy/module/micronumpy/ctors.py
--- a/pypy/module/micronumpy/ctors.py
+++ b/pypy/module/micronumpy/ctors.py
@@ -45,6 +45,9 @@
         if e.match(space, space.w_AttributeError):
             return None
         raise
+    if w_interface is None:
+        # happens from compile.py
+        return None
     version = space.int_w(space.finditem(w_interface, space.wrap("version")))
     if version < 3:
         raise oefmt(space.w_NotImplementedError,


More information about the pypy-commit mailing list