[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