swig/Examples/test-suite/php_namewarn_rename.i
Olly Betts 7d75e3eb7e [PHP] Add new PHP 8.1 keyword
Add PHP keyword 'readonly' (added in 8.1) to the list SWIG knows to
automatically rename.  This keyword is special in that PHP allows it to
be used as a function (or method) name.
2021-12-18 15:30:38 +13:00

67 lines
1.1 KiB
OpenEdge ABL

%module php_namewarn_rename
#ifdef SWIGPHP
%warnfilter(SWIGWARN_PARSE_KEYWORD) Empty();
%warnfilter(SWIGWARN_PARSE_KEYWORD) stdClass;
%warnfilter(SWIGWARN_PARSE_KEYWORD) directory;
%warnfilter(SWIGWARN_PARSE_KEYWORD) Hello::empty();
%warnfilter(SWIGWARN_PARSE_KEYWORD) null;
%warnfilter(SWIGWARN_PARSE_KEYWORD) True;
%warnfilter(SWIGWARN_PARSE_KEYWORD) FALSE;
%warnfilter(SWIGWARN_PARSE_KEYWORD) ns::readonly;
#endif
%ignore prev::operator++;
%extend prev {
void next() { ++(*self); }
}
%inline %{
int Exception() { return 13; }
void Empty() {}
class stdClass
{
};
class directory
{
};
struct Hello
{
void empty() {}
};
struct prev {
prev & operator++() { return *this; }
prev operator++(int) { return *this; }
};
class null
{
};
class True
{
};
class FALSE
{
};
// PHP 8.1 made `readonly` a keyword, but (unlike any other keyword it seems)
// it may still be used as a function name.
namespace ns {
class readonly { };
}
class readonly_should_be_ok_as_method {
public:
bool readonly() const { return true; }
};
bool readonly() { return false; }
%}