summaryrefslogtreecommitdiff
path: root/include/interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/interface.h')
-rw-r--r--include/interface.h8
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
*