diff options
author | Martijn Otto <martijn.otto@copernica.com> | 2014-02-17 16:38:58 +0100 |
---|---|---|
committer | Martijn Otto <martijn.otto@copernica.com> | 2014-02-17 16:38:58 +0100 |
commit | ff3c75d116f3764253b727b3d8e8106710c22628 (patch) | |
tree | feb7cdeac1c3662caa498fae20f5c9ea5a335000 | |
parent | ca595b1d7aa8ed4a482b8a5ea598ecc1a2636083 (diff) |
Removed unnecessary function declareConst and made the declare function for memberinfo descendants override
-rw-r--r-- | src/boolmember.h | 24 | ||||
-rw-r--r-- | src/doublemember.h | 25 | ||||
-rw-r--r-- | src/longmember.h | 24 | ||||
-rw-r--r-- | src/member.cpp | 5 | ||||
-rw-r--r-- | src/memberinfo.h | 22 | ||||
-rw-r--r-- | src/nullmember.h | 24 | ||||
-rw-r--r-- | src/stringmember.h | 24 |
7 files changed, 32 insertions, 116 deletions
diff --git a/src/boolmember.h b/src/boolmember.h index 84aa4e9..d83a3cb 100644 --- a/src/boolmember.h +++ b/src/boolmember.h @@ -49,28 +49,14 @@ public: * @param size Size of the name * @param flags Additional flags */ - virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) - { -#if PHP_VERSION_ID >= 50400 - zend_declare_property_bool(entry, name, size, _value, flags); -#else - zend_declare_property_bool(entry, (char *) name, size, _value, flags); -#endif - } - - /** - * Virtual method to declare the class constant - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) + virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) override { #if PHP_VERSION_ID >= 50400 - zend_declare_class_constant_bool(entry, name, size, _value); + if (flags == constMember) zend_declare_property_bool(entry, name, size, _value, flags); + else zend_declare_class_constant_bool(entry, name, size, _value); #else - zend_declare_class_constant_bool(entry, (char *) name, size, _value); + if (flags == constMember) zend_declare_property_bool(entry, (char *) name, size, _value, flags); + else zend_declare_class_constant_bool(entry, (char *) name, size, _value); #endif } }; diff --git a/src/doublemember.h b/src/doublemember.h index 7c5e431..5a5e13f 100644 --- a/src/doublemember.h +++ b/src/doublemember.h @@ -49,31 +49,16 @@ public: * @param size Size of the name * @param flags Additional flags */ - virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) + virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) override { #if PHP_VERSION_ID >= 50400 - zend_declare_property_double(entry, name, size, _value, flags); + if (flags == constMember) zend_declare_property_double(entry, name, size, _value, flags); + else zend_declare_class_constant_double(entry, name, size, _value); #else - zend_declare_property_double(entry, (char *)name, size, _value, flags); + if (flags == constMember) zend_declare_property_double(entry, (char *)name, size, _value, flags); + else zend_declare_class_constant_double(entry, (char *)name, size, _value); #endif } - - /** - * Virtual method to declare the class constant - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) - { -#if PHP_VERSION_ID >= 50400 - zend_declare_class_constant_double(entry, name, size, _value); -#else - zend_declare_class_constant_double(entry, (char *)name, size, _value); -#endif - } - }; /** diff --git a/src/longmember.h b/src/longmember.h index 4adf59b..ff4ccb3 100644 --- a/src/longmember.h +++ b/src/longmember.h @@ -49,28 +49,14 @@ public: * @param size Size of the name * @param flags Additional flags */ - virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) + virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) override { #if PHP_VERSION_ID >= 50400 - zend_declare_property_long(entry, name, size, _value, flags); + if (flags == constMember) zend_declare_property_long(entry, name, size, _value, flags); + else zend_declare_class_constant_long(entry, name, size, _value); #else - zend_declare_property_long(entry, (char *) name, size, _value, flags); -#endif - } - - /** - * Virtual method to declare the class constant - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) - { -#if PHP_VERSION_ID >= 50400 - zend_declare_class_constant_long(entry, name, size, _value); -#else - zend_declare_class_constant_long(entry, (char *) name, size, _value); + if (flags == constMember) zend_declare_property_long(entry, (char *) name, size, _value, flags); + else zend_declare_class_constant_long(entry, (char *) name, size, _value); #endif } }; diff --git a/src/member.cpp b/src/member.cpp index 31e7d8d..85990cc 100644 --- a/src/member.cpp +++ b/src/member.cpp @@ -203,10 +203,7 @@ bool Member::isMethod() void Member::declare(struct _zend_class_entry *entry) { // let the info object handle stuff - if(_flags == constMember) - _info->declareConst(entry, _name.c_str(), _name.size() TSRMLS_CC); - else - _info->declare(entry, _name.c_str(), _name.size(), _flags TSRMLS_CC); + _info->declare(entry, _name.c_str(), _name.size(), _flags TSRMLS_CC); } /** diff --git a/src/memberinfo.h b/src/memberinfo.h index 1c4b59d..935ad23 100644 --- a/src/memberinfo.h +++ b/src/memberinfo.h @@ -23,37 +23,37 @@ private: * @var int */ int _refcount; - + public: /** * Constructor */ MemberInfo() : _refcount(1) {} - + /** * Virtual destructor */ virtual ~MemberInfo() {} - + /** * Retrieve refcount * @return int */ int refcount() { return _refcount; } - + /** * Refcount after making a change * @param change * @return integer */ int refcount(int change) { return _refcount += change; } - + /** * Is this a property member * @return bool */ virtual bool isProperty() { return false; } - + /** * Is this a method member * @return bool @@ -70,22 +70,12 @@ public: virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) {}; /** - * Virtual method to declare the constant property - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) {}; - - /** * Fill a function entry object * @param entry Function entry * @param classname Name of the class * @param flags Is this a public method? */ virtual void fill(struct _zend_function_entry *entry, const char *classname, int flags) {}; - }; /** diff --git a/src/nullmember.h b/src/nullmember.h index e5fdd62..54285f0 100644 --- a/src/nullmember.h +++ b/src/nullmember.h @@ -41,30 +41,16 @@ public: * @param size Size of the name * @param flags Additional flags */ - virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) + virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) override { #if PHP_VERSION_ID >= 50400 - zend_declare_property_null(entry, name, size, flags); + if (flags == constMember) zend_declare_property_null(entry, name, size, flags); + else zend_declare_class_constant_null(entry, name, size); #else - zend_declare_property_null(entry, (char *) name, size, flags); + if (flags == constMember) zend_declare_property_null(entry, (char *) name, size, flags); + else zend_declare_class_constant_null(entry, (char *) name, size); #endif } - - /** - * Virtual method to declare the class constant - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) - { -#if PHP_VERSION_ID >= 50400 - zend_declare_class_constant_null(entry, name, size); -#else - zend_declare_class_constant_null(entry, (char *) name, size); -#endif - }; }; /** diff --git a/src/stringmember.h b/src/stringmember.h index d6ac6ea..8f0a1e9 100644 --- a/src/stringmember.h +++ b/src/stringmember.h @@ -56,28 +56,14 @@ public: * @param size Size of the name * @param flags Additional flags */ - virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) - { -#if PHP_VERSION_ID >= 50400 - zend_declare_property_stringl(entry, name, size, _value.c_str(), _value.size(), flags); -#else - zend_declare_property_stringl(entry, (char*) name, size, (char *) _value.c_str(), _value.size(), flags); -#endif - } - - /** - * Virtual method to declare the class constant - * @param entry Class entry - * @param name Name of the member - * @param size Size of the name - * @param flags Additional flags - */ - virtual void declareConst(struct _zend_class_entry *entry, const char *name, int size) + virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) override { #if PHP_VERSION_ID >= 50400 - zend_declare_class_constant_stringl(entry, name, size, _value.c_str(), _value.size()); + if (flags == constMember) zend_declare_class_constant_stringl(entry, name, size, _value.c_str(), _value.size()); + else zend_declare_property_stringl(entry, name, size, _value.c_str(), _value.size(), flags); #else - zend_declare_class_constant_stringl(entry, (char*) name, size, (char *) _value.c_str(), _value.size()); + if (flags == constMember) zend_declare_property_stringl(entry, (char*) name, size, (char *) _value.c_str(), _value.size(), flags); + else zend_declare_class_constant_stringl(entry, (char*) name, size, (char *) _value.c_str(), _value.size()); #endif } }; |