php: Wrap classes using only swig_object_wrapper
We no longer use PHP resources to wrap classes, and the proxy classes no longer has a _cPtr property.
This commit is contained in:
parent
0267ee374b
commit
40da8bcbb6
6 changed files with 83 additions and 203 deletions
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
%import "import_nomodule.h"
|
||||
|
||||
#if !defined(SWIGJAVA) && !defined(SWIGRUBY) && !defined(SWIGCSHARP) && !defined(SWIGD) && !defined(SWIGPYTHON_BUILTIN)
|
||||
#if !defined(SWIGJAVA) && !defined(SWIGRUBY) && !defined(SWIGCSHARP) && !defined(SWIGD) && !defined(SWIGPYTHON_BUILTIN) && !defined(SWIGPHP)
|
||||
|
||||
/**
|
||||
* The proxy class does not have Bar derived from Foo, yet an instance of Bar
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
* language modules).
|
||||
*
|
||||
* This violation of the type system is not possible in Java, C# and D due to
|
||||
* static type checking. It's also not (currently) possible in Ruby, but this may
|
||||
* be fixable (needs more investigation).
|
||||
* static type checking. It's also not (currently) possible in PHP or Ruby, but
|
||||
* this may be fixable (needs more investigation).
|
||||
*/
|
||||
|
||||
%newobject create_Foo;
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ $b = new Bar();
|
|||
$b->set($a);
|
||||
$c = $b->get();
|
||||
|
||||
// FIXME: This doesn't work for checking that they wrap the same C++ object
|
||||
// because the two objects have different PHP resources, and we can't easily
|
||||
// look inside those resources to see which C++ objects they refer to.
|
||||
//check::equal($a->_cPtr, $c->_cPtr, "_cPtr check failed");
|
||||
// FIXME: The python version checks that a.this == c.this, but we don't seem
|
||||
// to have a way to check this with the PHP bindings we generate.
|
||||
|
||||
check::done();
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ check::classes(array('import_nomodule','Bar'));
|
|||
// now new vars
|
||||
check::globals(array());
|
||||
|
||||
// SWIGPHP doesn't currently support the "violation of the type system" which
|
||||
// is tested by this testcase.
|
||||
exit(0);
|
||||
|
||||
$f = import_nomodule::create_Foo();
|
||||
import_nomodule::test1($f,42);
|
||||
import_nomodule::delete_Foo($f);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue