+#if PHP_VERSION_ID >= 80000
+HashTable *php_pq_object_debug_info(zend_object *object, int *temp)
+{
+ return php_pq_object_debug_info_ex(object, temp);
+}
+#else
+HashTable *php_pq_object_debug_info(zval *object, int *temp)
+{
+ return php_pq_object_debug_info_ex(Z_OBJ_P(object), temp);
+}
+#endif
+
+static inline HashTable *php_pq_object_properties_ex(zend_object *object, HashTable *props)
+{
+ struct apply_pi_to_ht_arg arg = {NULL};
+
+ arg.ht = props;
+ arg.pq_obj = PHP_PQ_OBJ(NULL, object);
+ arg.gc = 0;
+
+ zend_hash_apply_with_argument(&arg.pq_obj->zo.ce->properties_info, apply_pi_to_ht, &arg);
+
+ return arg.ht;
+}
+#if PHP_VERSION_ID >= 80000
+HashTable *php_pq_object_properties(zend_object *object)
+{
+ return php_pq_object_properties_ex(object, zend_std_get_properties(object));
+}
+#else
+HashTable *php_pq_object_properties(zval *object)
+{
+ return php_pq_object_properties_ex(Z_OBJ_P(object), zend_std_get_properties(object));
+}
+#endif
+
+static inline HashTable *php_pq_object_get_gc_ex(zend_object *object, HashTable *props, zval **table, int *n)
+{
+ struct apply_pi_to_ht_arg arg = {NULL};
+
+ arg.pq_obj = PHP_PQ_OBJ(NULL, object);
+ arg.ht = &arg.pq_obj->gc;
+ arg.gc = 1;
+
+ if (GC_REFCOUNT(arg.ht) == 1) {
+ zend_hash_clean(arg.ht);
+ zend_hash_copy(arg.ht, props, NULL);
+ zend_hash_apply_with_argument(&arg.pq_obj->zo.ce->properties_info, apply_pi_to_ht, &arg);
+ }
+
+ *table = NULL;
+ *n = 0;
+
+ return arg.ht;
+}
+#if PHP_VERSION_ID >= 80000
+HashTable *php_pq_object_get_gc(zend_object *object, zval **table, int *n)
+{
+ return php_pq_object_get_gc_ex(object, zend_std_get_properties(object), table, n);
+}
+#else
+HashTable *php_pq_object_get_gc(zval *object, zval **table, int *n)
+{
+ return php_pq_object_get_gc_ex(Z_OBJ_P(object), zend_std_get_properties(object), table, n);
+}
+#endif