summaryrefslogtreecommitdiff
path: root/zend/classimpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'zend/classimpl.h')
-rw-r--r--zend/classimpl.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/zend/classimpl.h b/zend/classimpl.h
index ec28322..26cf030 100644
--- a/zend/classimpl.h
+++ b/zend/classimpl.h
@@ -32,12 +32,6 @@ private:
std::string _name;
/**
- * The comment for reflexion, with a stored pointer to ourselves
- * @var char*
- */
- char *_comment = nullptr;
-
- /**
* The class type (this can be values like Php::Abstract and Php::Final)
* @var ClassType
*/
@@ -84,6 +78,18 @@ private:
* @var std::shared_ptr
*/
std::shared_ptr<ClassImpl> _parent;
+
+ /**
+ * The object handlers for instances of this class
+ * @var zend_object_handlers
+ */
+ zend_object_handlers _handlers;
+
+ /**
+ * Are the handlers already initialized?
+ * @var bool
+ */
+ bool _initialized = false;
/**
@@ -204,6 +210,13 @@ public:
zend_object_handlers *objectHandlers();
/**
+ * Alternative way to retrieve object handlers, given a class entry
+ * @param entry
+ * @return zend_object_handlers
+ */
+ static zend_object_handlers *objectHandlers(zend_class_entry *entry);
+
+ /**
* Function to create a new iterator to iterate over an object
* @param entry The class entry
* @param object The object to iterate over