[pypy-commit] pypy reflex-support: (arigo, cfbolz)

cfbolz noreply at buildbot.pypy.org
Thu Jul 14 18:48:29 CEST 2011


Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: reflex-support
Changeset: r45601:ea621cd7b2fa
Date: 2011-07-14 18:31 +0200
http://bitbucket.org/pypy/pypy/changeset/ea621cd7b2fa/

Log:	(arigo, cfbolz)

	Kill construct().

diff --git a/pypy/module/cppyy/interp_cppyy.py b/pypy/module/cppyy/interp_cppyy.py
--- a/pypy/module/cppyy/interp_cppyy.py
+++ b/pypy/module/cppyy/interp_cppyy.py
@@ -495,17 +495,6 @@
             bases.append(self.space.wrap(base_name))
         return self.space.newlist(bases)
 
-    def construct(self, w_type, args_w):
-        # XXX make pure python
-        try:
-            overload = self.get_overload(self.name)
-        except OperationError, e:
-            if e.match(self.space, self.space.w_AttributeError):
-                raise OperationError(self.space.w_TypeError,
-                                     self.space.wrap("%s is abstract" % self.name))
-            raise
-        return overload.call(self.space.w_None, w_type, args_w)
-
 W_CPPType.typedef = TypeDef(
     'CPPType',
     type_name = interp_attrproperty('name', W_CPPType),
@@ -515,7 +504,6 @@
     get_data_member_names = interp2app(W_CPPType.get_data_member_names, unwrap_spec=['self']),
     get_data_member = interp2app(W_CPPType.get_data_member, unwrap_spec=['self', str]),
     is_namespace = interp2app(W_CPPType.is_namespace, unwrap_spec=['self']),
-    construct = interp2app(W_CPPType.construct, unwrap_spec=['self', W_Root, 'args_w']),
 )
 
 
diff --git a/pypy/module/cppyy/test/test_cppyy.py b/pypy/module/cppyy/test/test_cppyy.py
--- a/pypy/module/cppyy/test/test_cppyy.py
+++ b/pypy/module/cppyy/test/test_cppyy.py
@@ -93,7 +93,7 @@
 
         assert t.get_overload("getCount").call(None, None) == 0
 
-        e1 = t.construct(cppyy.CPPInstance, 7)
+        e1 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 7)
         assert t.get_overload("getCount").call(None, None) == 1
         res = t.get_overload("addDataToInt").call(e1, None, 4)
         assert res == 11
@@ -103,8 +103,8 @@
         assert t.get_overload("getCount").call(None, None) == 0
         raises(ReferenceError, 't.get_overload("addDataToInt").call(e1, None, 4)')
 
-        e1 = t.construct(cppyy.CPPInstance, 7)
-        e2 = t.construct(cppyy.CPPInstance, 8)
+        e1 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 7)
+        e2 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 8)
         assert t.get_overload("getCount").call(None, None) == 2
         e1.destruct()
         assert t.get_overload("getCount").call(None, None) == 1
@@ -124,7 +124,7 @@
 
         assert t.get_overload("getCount").call(None, None) == 0
 
-        e1 = t.construct(cppyy.CPPInstance, 7)
+        e1 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 7)
         assert t.get_overload("getCount").call(None, None) == 1
         res = t.get_overload("addDataToInt").call(e1, None, 4)
         assert res == 11
@@ -134,8 +134,8 @@
         gc.collect()
         assert t.get_overload("getCount").call(None, None) == 0
 
-        e1 = t.construct(cppyy.CPPInstance, 7)
-        e2 = t.construct(cppyy.CPPInstance, 8)
+        e1 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 7)
+        e2 = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 8)
         assert t.get_overload("getCount").call(None, None) == 2
         e1 = None
         gc.collect()
@@ -152,12 +152,12 @@
 
         t = self.example01
 
-        e = t.construct(cppyy.CPPInstance, 13)
+        e = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 13)
         res = t.get_overload("addDataToDouble").call(e, None, 16)
         assert round(res-29, 8) == 0.
         e.destruct()
 
-        e = t.construct(cppyy.CPPInstance, -13)
+        e = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, -13)
         res = t.get_overload("addDataToDouble").call(e, None, 16)
         assert round(res-3, 8) == 0.
         e.destruct()
@@ -170,7 +170,7 @@
 
         t = self.example01
 
-        e = t.construct(cppyy.CPPInstance, 42)
+        e = t.get_overload(t.type_name).call(None, cppyy.CPPInstance, 42)
         res = t.get_overload("addDataToAtoi").call(e, None, "13")
         assert res == 55
         res = t.get_overload("addToStringValue").call(e, None, "12")     # TODO: this leaks
@@ -187,12 +187,12 @@
         t1 = self.example01
         t2 = self.payload
 
-        pl = t2.construct(cppyy.CPPInstance, 3.14)
+        pl = t2.get_overload(t2.type_name).call(None, cppyy.CPPInstance, 3.14)
         assert round(t2.get_overload("getData").call(pl, None)-3.14, 8) == 0
         t1.get_overload("staticSetPayload").call(None, None, pl, 41.)  # now pl is a CPPInstance
         assert t2.get_overload("getData").call(pl, None) == 41.
 
-        e = t1.construct(cppyy.CPPInstance, 50)
+        e = t1.get_overload(t1.type_name).call(None, cppyy.CPPInstance, 50)
         t1.get_overload("setPayload").call(e, None, pl);
         assert round(t2.get_overload("getData").call(pl, None)-50., 8) == 0
 
@@ -207,12 +207,12 @@
         t1 = self.example01
         t2 = self.payload
 
-        pl1 = t2.construct(cppyy.CPPInstance, 3.14)
+        pl1 = t2.get_overload(t2.type_name).call(None, cppyy.CPPInstance, 3.14)
         assert round(t2.get_overload("getData").call(pl1, None)-3.14, 8) == 0
         pl2 = t1.get_overload("staticCyclePayload").call(None, cppyy.CPPInstance, pl1, 38.)
         assert t2.get_overload("getData").call(pl2, None) == 38.
 
-        e = t1.construct(cppyy.CPPInstance, 50)
+        e = t1.get_overload(t1.type_name).call(None, cppyy.CPPInstance, 50)
         pl2 = t1.get_overload("cyclePayload").call(e, cppyy.CPPInstance, pl1);
         assert round(t2.get_overload("getData").call(pl2, None)-50., 8) == 0
 


More information about the pypy-commit mailing list