Improve naming of zend_class_entry structs
Previously the zend_class_entry for Foo was named SWIGTYPE_Foo_ce, but this can collide in some cases - e.g. if there's a class named p_Foo then its zend_class entry will be SWIGTYPE_p_Foo_ce, but that's the same as the swig_type_info for a class named p_Foo_ce.
This commit is contained in:
parent
f976927d52
commit
cf802c63f2
2 changed files with 35 additions and 34 deletions
|
|
@ -12,22 +12,22 @@
|
|||
unsigned char,
|
||||
signed char,
|
||||
enum SWIGTYPE %{
|
||||
zend_declare_class_constant_long(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, ($1_type)$value);
|
||||
zend_declare_class_constant_long(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, ($1_type)$value);
|
||||
%}
|
||||
|
||||
%typemap(classconsttab) bool %{
|
||||
zend_declare_class_constant_bool(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, ($1_type)$value);
|
||||
zend_declare_class_constant_bool(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, ($1_type)$value);
|
||||
%}
|
||||
|
||||
%typemap(classconsttab) float,
|
||||
double %{
|
||||
zend_declare_class_constant_double(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, $value);
|
||||
zend_declare_class_constant_double(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, $value);
|
||||
%}
|
||||
|
||||
%typemap(classconsttab) char %{
|
||||
{
|
||||
char swig_char = $value;
|
||||
zend_declare_class_constant_stringl(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, &swig_char, 1);
|
||||
zend_declare_class_constant_stringl(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, &swig_char, 1);
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
const char *,
|
||||
char [],
|
||||
const char [] %{
|
||||
zend_declare_class_constant_string(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, $value);
|
||||
zend_declare_class_constant_string(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, $value);
|
||||
%}
|
||||
|
||||
// This creates a zend_object to wrap the pointer, and we can't do that
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
ZVAL_UNDEF(&z);
|
||||
SWIG_SetPointerZval(&z, (void*)$value, $1_descriptor, 0);
|
||||
zval_copy_ctor(&z);
|
||||
zend_declare_class_constant(SWIGTYPE_$class_ce, "$const_name", sizeof("$const_name") - 1, &z);
|
||||
zend_declare_class_constant(SWIG_Php_ce_$class, "$const_name", sizeof("$const_name") - 1, &z);
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue