diff options
Diffstat (limited to 'include/interface.h')
-rw-r--r-- | include/interface.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/interface.h b/include/interface.h index 5b15016..a93167f 100644 --- a/include/interface.h +++ b/include/interface.h @@ -51,13 +51,15 @@ public: */ Interface &method(const char *name, int flags, const Arguments &arguments = {}) { - // call base - ClassBase::method(name, flags, arguments); + // call base (an interface method is always public, so we add these flags, + // and although it is always abstract, PHP does not allow this flag, so we + // remove it in case the extension programmer had set it) + ClassBase::method(name, (Public | flags) & ~Abstract, arguments); // return self return *this; } - + /** * Extends exisiting PHP interface * |