Using wname variable for function name generated in .cxx or .c wrapper.
This is to ensure compatibility and consistency
This commit is contained in:
parent
5e001d5288
commit
4de2f257f9
1 changed files with 12 additions and 11 deletions
|
|
@ -854,13 +854,12 @@ public:
|
||||||
String *tm;
|
String *tm;
|
||||||
Wrapper *f;
|
Wrapper *f;
|
||||||
|
|
||||||
String *wname;
|
String *wname = NewStringEmpty();
|
||||||
int overloaded = 0;
|
int overloaded = 0;
|
||||||
String *overname = 0;
|
String *overname = 0;
|
||||||
String *modes = NULL;
|
String *modes = NULL;
|
||||||
|
|
||||||
if (constructor) {
|
if (constructor) {
|
||||||
name = NewString("__construct");
|
|
||||||
modes = NewString("ZEND_ACC_PUBLIC | ZEND_ACC_CTOR");
|
modes = NewString("ZEND_ACC_PUBLIC | ZEND_ACC_CTOR");
|
||||||
}
|
}
|
||||||
else if (wrapperType == staticmemberfn || Cmp(Getattr(n, "storage"),"static") == 0)
|
else if (wrapperType == staticmemberfn || Cmp(Getattr(n, "storage"),"static") == 0)
|
||||||
|
|
@ -868,21 +867,25 @@ public:
|
||||||
else
|
else
|
||||||
modes = NewString("ZEND_ACC_PUBLIC");
|
modes = NewString("ZEND_ACC_PUBLIC");
|
||||||
|
|
||||||
if (wrapperType == membervar || wrapperType == globalvar) {
|
if (constructor)
|
||||||
|
wname = NewString("__construct");
|
||||||
|
else if (wrapperType == membervar || wrapperType == globalvar) {
|
||||||
char *ptr = Char(iname);
|
char *ptr = Char(iname);
|
||||||
ptr+= strlen(Char(iname)) - 4 - strlen(Char(name));
|
ptr+= strlen(Char(iname)) - 4 - strlen(Char(name));
|
||||||
name = (String*) ptr;
|
wname = (String*) ptr;
|
||||||
}
|
}
|
||||||
else if (wrapperType == staticmembervar) {
|
else if (wrapperType == staticmembervar) {
|
||||||
char *ptr = Char(iname);
|
char *ptr = Char(iname);
|
||||||
ptr+= strlen(Char(iname)) - 4 - strlen(strrchr(GetChar(n, "name"),':') + 1);
|
ptr+= strlen(Char(iname)) - 4 - strlen(strrchr(GetChar(n, "name"),':') + 1);
|
||||||
name = (String*) ptr;
|
wname = (String*) ptr;
|
||||||
}
|
}
|
||||||
else if (wrapperType == staticmemberfn) {
|
else if (wrapperType == staticmemberfn) {
|
||||||
char *ptr = Char(iname);
|
char *ptr = Char(iname);
|
||||||
ptr+= strlen(Char(iname)) - strlen(strrchr(GetChar(n, "name"),':') + 1);
|
ptr+= strlen(Char(iname)) - strlen(strrchr(GetChar(n, "name"),':') + 1);
|
||||||
name = (String*) ptr;
|
wname = (String*) ptr;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
wname = name;
|
||||||
|
|
||||||
if (Cmp(nodeType, "destructor") == 0) {
|
if (Cmp(nodeType, "destructor") == 0) {
|
||||||
// We just generate the Zend List Destructor and let Zend manage the
|
// We just generate the Zend List Destructor and let Zend manage the
|
||||||
|
|
@ -899,7 +902,6 @@ public:
|
||||||
return SWIG_ERROR;
|
return SWIG_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
wname = Swig_name_wrapper(iname);
|
|
||||||
if (overname) {
|
if (overname) {
|
||||||
Printf(wname, "%s", overname);
|
Printf(wname, "%s", overname);
|
||||||
}
|
}
|
||||||
|
|
@ -910,9 +912,9 @@ public:
|
||||||
String *cleanup = NewStringEmpty();
|
String *cleanup = NewStringEmpty();
|
||||||
|
|
||||||
if (Cmp(class_name,NULL) != 0)
|
if (Cmp(class_name,NULL) != 0)
|
||||||
Printv(f->def, "PHP_METHOD(", class_name, ",", name,") {\n", NIL);
|
Printv(f->def, "PHP_METHOD(", class_name, ",", wname,") {\n", NIL);
|
||||||
else
|
else
|
||||||
Printv(f->def, "PHP_FUNCTION(", name,") {\n", NIL);
|
Printv(f->def, "PHP_FUNCTION(", wname,") {\n", NIL);
|
||||||
|
|
||||||
emit_parameter_variables(l, f);
|
emit_parameter_variables(l, f);
|
||||||
/* Attach standard typemaps */
|
/* Attach standard typemaps */
|
||||||
|
|
@ -920,7 +922,7 @@ public:
|
||||||
emit_attach_parmmaps(l, f);
|
emit_attach_parmmaps(l, f);
|
||||||
// Not issued for overloaded functions.
|
// Not issued for overloaded functions.
|
||||||
if (!overloaded) {
|
if (!overloaded) {
|
||||||
create_command(class_name, name, n, modes);
|
create_command(class_name, wname, n, modes);
|
||||||
}
|
}
|
||||||
|
|
||||||
// wrap:parms is used by overload resolution.
|
// wrap:parms is used by overload resolution.
|
||||||
|
|
@ -1209,7 +1211,6 @@ public:
|
||||||
dispatchFunction(n);
|
dispatchFunction(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
Delete(wname);
|
|
||||||
wname = NULL;
|
wname = NULL;
|
||||||
|
|
||||||
if (!shadow) {
|
if (!shadow) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue