[pypy-svn] r76848 - pypy/branch/better-map-instances/pypy/module/cpyext

cfbolz at codespeak.net cfbolz at codespeak.net
Fri Sep 3 11:26:42 CEST 2010


Author: cfbolz
Date: Fri Sep  3 11:26:39 2010
New Revision: 76848

Modified:
   pypy/branch/better-map-instances/pypy/module/cpyext/classobject.py
Log:
adapt cpyext to new interface


Modified: pypy/branch/better-map-instances/pypy/module/cpyext/classobject.py
==============================================================================
--- pypy/branch/better-map-instances/pypy/module/cpyext/classobject.py	(original)
+++ pypy/branch/better-map-instances/pypy/module/cpyext/classobject.py	Fri Sep  3 11:26:39 2010
@@ -17,14 +17,18 @@
     instance."""
     if not PyClass_Check(space, w_class):
         return PyErr_BadInternalCall(space)
-    return W_InstanceObject(space, w_class, w_dict)
+    w_result = w_class.instantiate(space)
+    if w_dict is not None:
+        w_result.setdict(space, w_dict)
+    return w_result
 
 @cpython_api([PyObject, PyObject], PyObject, error=CANNOT_FAIL)
 def _PyInstance_Lookup(space, w_instance, w_name):
+    name = space.str_w(w_name)
     assert isinstance(w_instance, W_InstanceObject)
-    w_result = space.finditem(w_instance.w_dict, w_name)
+    w_result = w_instance.getdictvalue(space, name)
     if w_result is not None:
         return w_result
-    return w_instance.w_class.lookup(space, w_name)
+    return w_instance.w_class.lookup(space, name)
 
 



More information about the Pypy-commit mailing list