[php] Simplify naming of overloaded method wrappers

The underlying wrapper function is now always named using
ZEND_NAMED_FUNCTION even if it's a method (in PHP a function and
a method only differ in how they're used).
This commit is contained in:
Olly Betts 2021-05-12 15:05:09 +12:00
commit 8dadbcc744

View file

@ -1192,13 +1192,9 @@ public:
} }
} }
} }
} else {
if (class_name && Cmp(Getattr(n, "storage"), "friend") != 0) {
Printv(f->def, "PHP_METHOD(", prefix, class_name, ",", overloadwname, ") {\n", NIL);
} else { } else {
Printv(f->def, "ZEND_NAMED_FUNCTION(", overloadwname, ") {\n", NIL); Printv(f->def, "ZEND_NAMED_FUNCTION(", overloadwname, ") {\n", NIL);
} }
}
emit_parameter_variables(l, f); emit_parameter_variables(l, f);
/* Attach standard typemaps */ /* Attach standard typemaps */
@ -1364,15 +1360,9 @@ public:
if (!overloaded) { if (!overloaded) {
Setattr(n, "wrap:name", wname); Setattr(n, "wrap:name", wname);
} else {
if (class_name && Cmp(Getattr(n, "storage"), "friend") != 0) {
String *m_call = NewStringEmpty();
Printf(m_call, "ZEND_MN(%s_%s)", class_name, overloadwname);
Setattr(n, "wrap:name", m_call);
} else { } else {
Setattr(n, "wrap:name", overloadwname); Setattr(n, "wrap:name", overloadwname);
} }
}
Setattr(n, "wrapper:method:name", wname); Setattr(n, "wrapper:method:name", wname);
bool php_constructor = (constructor && Cmp(class_name, Getattr(n, "constructorHandler:sym:name")) == 0); bool php_constructor = (constructor && Cmp(class_name, Getattr(n, "constructorHandler:sym:name")) == 0);