Lines Matching refs:object

136 #define SPL_FETCH_SUB_ELEMENT(var, object, element) \  argument
138 if(!(object)->iterators) { \
142 (var) = (object)->iterators[(object)->level].element; \
145 #define SPL_FETCH_SUB_ELEMENT_ADDR(var, object, element) \ argument
147 if(!(object)->iterators) { \
151 (var) = &(object)->iterators[(object)->level].element; \
154 #define SPL_FETCH_SUB_ITERATOR(var, object) SPL_FETCH_SUB_ELEMENT(var, object, iterator) argument
160 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(&iter->intern.data); in spl_recursive_it_dtor() local
163 if (object->iterators) { in spl_recursive_it_dtor()
164 while (object->level > 0) { in spl_recursive_it_dtor()
165 if (!Z_ISUNDEF(object->iterators[object->level].zobject)) { in spl_recursive_it_dtor()
166 sub_iter = object->iterators[object->level].iterator; in spl_recursive_it_dtor()
168 zval_ptr_dtor(&object->iterators[object->level].zobject); in spl_recursive_it_dtor()
170 object->level--; in spl_recursive_it_dtor()
172 object->iterators = erealloc(object->iterators, sizeof(spl_sub_iterator)); in spl_recursive_it_dtor()
173 object->level = 0; in spl_recursive_it_dtor()
179 static int spl_recursive_it_valid_ex(spl_recursive_it_object *object, zval *zthis) in spl_recursive_it_valid_ex() argument
182 int level = object->level; in spl_recursive_it_valid_ex()
184 if(!object->iterators) { in spl_recursive_it_valid_ex()
188 sub_iter = object->iterators[level].iterator; in spl_recursive_it_valid_ex()
194 if (object->endIteration && object->in_iteration) { in spl_recursive_it_valid_ex()
195 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->endIteration, "endIteration", … in spl_recursive_it_valid_ex()
197 object->in_iteration = 0; in spl_recursive_it_valid_ex()
208 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(&iter->data); in spl_recursive_it_get_current_data() local
209 zend_object_iterator *sub_iter = object->iterators[object->level].iterator; in spl_recursive_it_get_current_data()
216 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(&iter->data); in spl_recursive_it_get_current_key() local
217 zend_object_iterator *sub_iter = object->iterators[object->level].iterator; in spl_recursive_it_get_current_key()
226 static void spl_recursive_it_move_forward_ex(spl_recursive_it_object *object, zval *zthis) in spl_recursive_it_move_forward_ex() argument
234 SPL_FETCH_SUB_ITERATOR(iterator, object); in spl_recursive_it_move_forward_ex()
238 iterator = object->iterators[object->level].iterator; in spl_recursive_it_move_forward_ex()
239 switch (object->iterators[object->level].state) { in spl_recursive_it_move_forward_ex()
243 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
254 object->iterators[object->level].state = RS_TEST; in spl_recursive_it_move_forward_ex()
259 if (object->callHasChildren) { in spl_recursive_it_move_forward_ex()
260 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->callHasChildren, "callHasChild… in spl_recursive_it_move_forward_ex()
262 zend_class_entry *ce = object->iterators[object->level].ce; in spl_recursive_it_move_forward_ex()
263 zend_object *obj = Z_OBJ(object->iterators[object->level].zobject); in spl_recursive_it_move_forward_ex()
264 zend_function **cache = &object->iterators[object->level].haschildren; in spl_recursive_it_move_forward_ex()
269 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
270 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
280 if (object->max_depth == -1 || object->max_depth > object->level) { in spl_recursive_it_move_forward_ex()
281 switch (object->mode) { in spl_recursive_it_move_forward_ex()
284 object->iterators[object->level].state = RS_CHILD; in spl_recursive_it_move_forward_ex()
287 object->iterators[object->level].state = RS_SELF; in spl_recursive_it_move_forward_ex()
292 if (object->mode == RIT_LEAVES_ONLY) { in spl_recursive_it_move_forward_ex()
294 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
300 if (object->nextElement) { in spl_recursive_it_move_forward_ex()
301 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->nextElement, "nextelement", NU… in spl_recursive_it_move_forward_ex()
303 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
305 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
313 … if (object->nextElement && (object->mode == RIT_SELF_FIRST || object->mode == RIT_CHILD_FIRST)) { in spl_recursive_it_move_forward_ex()
314 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->nextElement, "nextelement", NU… in spl_recursive_it_move_forward_ex()
316 if (object->mode == RIT_SELF_FIRST) { in spl_recursive_it_move_forward_ex()
317 object->iterators[object->level].state = RS_CHILD; in spl_recursive_it_move_forward_ex()
319 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
323 if (object->callGetChildren) { in spl_recursive_it_move_forward_ex()
324 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->callGetChildren, "callGetChild… in spl_recursive_it_move_forward_ex()
326 zend_class_entry *ce = object->iterators[object->level].ce; in spl_recursive_it_move_forward_ex()
327 zend_object *obj = Z_OBJ(object->iterators[object->level].zobject); in spl_recursive_it_move_forward_ex()
328 zend_function **cache = &object->iterators[object->level].getchildren; in spl_recursive_it_move_forward_ex()
334 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
339 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
351 if (object->mode == RIT_CHILD_FIRST) { in spl_recursive_it_move_forward_ex()
352 object->iterators[object->level].state = RS_SELF; in spl_recursive_it_move_forward_ex()
354 object->iterators[object->level].state = RS_NEXT; in spl_recursive_it_move_forward_ex()
356 object->iterators = erealloc(object->iterators, sizeof(spl_sub_iterator) * (++object->level+1)); in spl_recursive_it_move_forward_ex()
358 ZVAL_COPY_VALUE(&object->iterators[object->level].zobject, &child); in spl_recursive_it_move_forward_ex()
359 object->iterators[object->level].iterator = sub_iter; in spl_recursive_it_move_forward_ex()
360 object->iterators[object->level].ce = ce; in spl_recursive_it_move_forward_ex()
361 object->iterators[object->level].state = RS_START; in spl_recursive_it_move_forward_ex()
362 if (object->level > 0 in spl_recursive_it_move_forward_ex()
363 && object->iterators[object->level - 1].ce == 0) { in spl_recursive_it_move_forward_ex()
364 object->iterators[object->level].haschildren = in spl_recursive_it_move_forward_ex()
365 object->iterators[object->level - 1].haschildren; in spl_recursive_it_move_forward_ex()
366 object->iterators[object->level].getchildren = in spl_recursive_it_move_forward_ex()
367 object->iterators[object->level - 1].getchildren; in spl_recursive_it_move_forward_ex()
369 object->iterators[object->level].haschildren = NULL; in spl_recursive_it_move_forward_ex()
370 object->iterators[object->level].getchildren = NULL; in spl_recursive_it_move_forward_ex()
375 if (object->beginChildren) { in spl_recursive_it_move_forward_ex()
376 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->beginChildren, "beginchildren"… in spl_recursive_it_move_forward_ex()
378 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
388 if (object->level > 0) { in spl_recursive_it_move_forward_ex()
389 if (object->endChildren) { in spl_recursive_it_move_forward_ex()
390 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->endChildren, "endchildren", NU… in spl_recursive_it_move_forward_ex()
392 if (!(object->flags & RIT_CATCH_GET_CHILD)) { in spl_recursive_it_move_forward_ex()
399 if (object->level > 0) { in spl_recursive_it_move_forward_ex()
401 ZVAL_COPY_VALUE(&garbage, &object->iterators[object->level].zobject); in spl_recursive_it_move_forward_ex()
402 ZVAL_UNDEF(&object->iterators[object->level].zobject); in spl_recursive_it_move_forward_ex()
405 object->level--; in spl_recursive_it_move_forward_ex()
413 static void spl_recursive_it_rewind_ex(spl_recursive_it_object *object, zval *zthis) in spl_recursive_it_rewind_ex() argument
417 SPL_FETCH_SUB_ITERATOR(sub_iter, object); in spl_recursive_it_rewind_ex()
419 while (object->level) { in spl_recursive_it_rewind_ex()
420 sub_iter = object->iterators[object->level].iterator; in spl_recursive_it_rewind_ex()
422 zval_ptr_dtor(&object->iterators[object->level--].zobject); in spl_recursive_it_rewind_ex()
423 …if (!EG(exception) && (!object->endChildren || object->endChildren->common.scope != spl_ce_Recursi… in spl_recursive_it_rewind_ex()
424 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->endChildren, "endchildren", NU… in spl_recursive_it_rewind_ex()
427 object->iterators = erealloc(object->iterators, sizeof(spl_sub_iterator)); in spl_recursive_it_rewind_ex()
428 object->iterators[0].state = RS_START; in spl_recursive_it_rewind_ex()
429 sub_iter = object->iterators[0].iterator; in spl_recursive_it_rewind_ex()
433 if (!EG(exception) && object->beginIteration && !object->in_iteration) { in spl_recursive_it_rewind_ex()
434 …zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->beginIteration, "beginIteratio… in spl_recursive_it_rewind_ex()
436 object->in_iteration = 1; in spl_recursive_it_rewind_ex()
437 spl_recursive_it_move_forward_ex(object, zthis); in spl_recursive_it_rewind_ex()
468 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(zobject); in spl_recursive_it_get_iterator() local
469 if (object->iterators == NULL) { in spl_recursive_it_get_iterator()
502 zval *object = ZEND_THIS; in spl_recursive_it_it_construct() local
565 intern = Z_SPLRECURSIVE_IT_P(object); in spl_recursive_it_it_construct()
572 intern->ce = Z_OBJCE_P(object); in spl_recursive_it_it_construct()
633 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
639 spl_recursive_it_rewind_ex(object, ZEND_THIS); in PHP_METHOD()
645 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
651 RETURN_BOOL(spl_recursive_it_valid_ex(object, ZEND_THIS) == SUCCESS); in PHP_METHOD()
657 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
664 SPL_FETCH_SUB_ITERATOR(iterator, object); in PHP_METHOD()
676 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
684 SPL_FETCH_SUB_ITERATOR(iterator, object); in PHP_METHOD()
695 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
701 spl_recursive_it_move_forward_ex(object, ZEND_THIS); in PHP_METHOD()
707 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
713 RETURN_LONG(object->level); in PHP_METHOD()
719 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
729 level = object->level; in PHP_METHOD()
730 } else if (level < 0 || level > object->level) { in PHP_METHOD()
734 if(!object->iterators) { in PHP_METHOD()
739 value = &object->iterators[level].zobject; in PHP_METHOD()
746 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
753 SPL_FETCH_SUB_ELEMENT_ADDR(zobject, object, zobject); in PHP_METHOD()
779 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
787 if (!object->iterators) { in PHP_METHOD()
791 SPL_FETCH_SUB_ELEMENT(ce, object, ce); in PHP_METHOD()
793 zobject = &object->iterators[object->level].zobject; in PHP_METHOD()
797 …zend_call_method_with_0_params(Z_OBJ_P(zobject), ce, &object->iterators[object->level].haschildren… in PHP_METHOD()
807 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
815 SPL_FETCH_SUB_ELEMENT(ce, object, ce); in PHP_METHOD()
817 zobject = &object->iterators[object->level].zobject; in PHP_METHOD()
821 …zend_call_method_with_0_params(Z_OBJ_P(zobject), ce, &object->iterators[object->level].getchildren… in PHP_METHOD()
858 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
871 object->max_depth = (int)max_depth; in PHP_METHOD()
877 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
883 if (object->max_depth == -1) { in PHP_METHOD()
886 RETURN_LONG(object->max_depth); in PHP_METHOD()
893 spl_recursive_it_object *object = spl_recursive_it_from_obj(*zobject); in spl_recursive_it_get_method() local
894 zend_long level = object->level; in spl_recursive_it_get_method()
897 if (!object->iterators) { in spl_recursive_it_get_method()
901 zobj = &object->iterators[level].zobject; in spl_recursive_it_get_method()
918 spl_recursive_it_object *object = spl_recursive_it_from_obj(_object); in spl_RecursiveIteratorIterator_free_storage() local
920 if (object->iterators) { in spl_RecursiveIteratorIterator_free_storage()
921 while (object->level >= 0) { in spl_RecursiveIteratorIterator_free_storage()
922 zend_object_iterator *sub_iter = object->iterators[object->level].iterator; in spl_RecursiveIteratorIterator_free_storage()
924 zval_ptr_dtor(&object->iterators[object->level].zobject); in spl_RecursiveIteratorIterator_free_storage()
925 object->level--; in spl_RecursiveIteratorIterator_free_storage()
927 efree(object->iterators); in spl_RecursiveIteratorIterator_free_storage()
928 object->iterators = NULL; in spl_RecursiveIteratorIterator_free_storage()
931 zend_object_std_dtor(&object->std); in spl_RecursiveIteratorIterator_free_storage()
933 if (object->prefix[i]) { in spl_RecursiveIteratorIterator_free_storage()
934 zend_string_release(object->prefix[i]); in spl_RecursiveIteratorIterator_free_storage()
938 if (object->postfix[0]) { in spl_RecursiveIteratorIterator_free_storage()
939 zend_string_release(object->postfix[0]); in spl_RecursiveIteratorIterator_free_storage()
946 spl_recursive_it_object *object = spl_recursive_it_from_obj(obj); in spl_RecursiveIteratorIterator_get_gc() local
949 if (object->iterators) { in spl_RecursiveIteratorIterator_get_gc()
950 for (int level = 0; level <= object->level; level++) { in spl_RecursiveIteratorIterator_get_gc()
951 zend_get_gc_buffer_add_zval(gc_buffer, &object->iterators[level].zobject); in spl_RecursiveIteratorIterator_get_gc()
952 zend_get_gc_buffer_add_obj(gc_buffer, &object->iterators[level].iterator->std); in spl_RecursiveIteratorIterator_get_gc()
1000 static zend_string *spl_recursive_tree_iterator_get_prefix(spl_recursive_it_object *object) in spl_recursive_tree_iterator_get_prefix() argument
1006 smart_str_append(&str, object->prefix[0]); in spl_recursive_tree_iterator_get_prefix()
1008 for (level = 0; level < object->level; ++level) { in spl_recursive_tree_iterator_get_prefix()
1009 …zend_call_method_with_0_params(Z_OBJ(object->iterators[level].zobject), object->iterators[level].c… in spl_recursive_tree_iterator_get_prefix()
1012 smart_str_append(&str, object->prefix[1]); in spl_recursive_tree_iterator_get_prefix()
1014 smart_str_append(&str, object->prefix[2]); in spl_recursive_tree_iterator_get_prefix()
1019 …zend_call_method_with_0_params(Z_OBJ(object->iterators[level].zobject), object->iterators[level].c… in spl_recursive_tree_iterator_get_prefix()
1022 smart_str_append(&str, object->prefix[3]); in spl_recursive_tree_iterator_get_prefix()
1024 smart_str_append(&str, object->prefix[4]); in spl_recursive_tree_iterator_get_prefix()
1029 smart_str_append(&str, object->prefix[5]); in spl_recursive_tree_iterator_get_prefix()
1035 static zend_string *spl_recursive_tree_iterator_get_entry(spl_recursive_it_object *object) in spl_recursive_tree_iterator_get_entry() argument
1037 zend_object_iterator *iterator = object->iterators[object->level].iterator; in spl_recursive_tree_iterator_get_entry()
1051 static zend_string *spl_recursive_tree_iterator_get_postfix(spl_recursive_it_object *object) in spl_recursive_tree_iterator_get_postfix() argument
1053 return zend_string_copy(object->postfix[0]); in spl_recursive_tree_iterator_get_postfix()
1067 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1078 zend_string_release(object->prefix[part]); in PHP_METHOD()
1079 object->prefix[part] = zend_string_copy(prefix); in PHP_METHOD()
1085 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1091 if(!object->iterators) { in PHP_METHOD()
1096 RETURN_STR(spl_recursive_tree_iterator_get_prefix(object)); in PHP_METHOD()
1102 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1109 zend_string_release(object->postfix[0]); in PHP_METHOD()
1110 object->postfix[0] = zend_string_copy(postfix); in PHP_METHOD()
1116 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1122 if(!object->iterators) { in PHP_METHOD()
1127 zend_string *entry = spl_recursive_tree_iterator_get_entry(object); in PHP_METHOD()
1138 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1144 if(!object->iterators) { in PHP_METHOD()
1149 RETURN_STR(spl_recursive_tree_iterator_get_postfix(object)); in PHP_METHOD()
1155 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1161 if(!object->iterators) { in PHP_METHOD()
1166 if (object->flags & RTIT_BYPASS_CURRENT) { in PHP_METHOD()
1167 zend_object_iterator *iterator = object->iterators[object->level].iterator; in PHP_METHOD()
1170 SPL_FETCH_SUB_ITERATOR(iterator, object); in PHP_METHOD()
1179 zend_string *entry = spl_recursive_tree_iterator_get_entry(object); in PHP_METHOD()
1184 zend_string *prefix = spl_recursive_tree_iterator_get_prefix(object); in PHP_METHOD()
1185 zend_string *postfix = spl_recursive_tree_iterator_get_postfix(object); in PHP_METHOD()
1202 spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); in PHP_METHOD() local
1210 SPL_FETCH_SUB_ITERATOR(iterator, object); in PHP_METHOD()
1218 if (object->flags & RTIT_BYPASS_KEY) { in PHP_METHOD()
1223 zend_string *prefix = spl_recursive_tree_iterator_get_prefix(object); in PHP_METHOD()
1224 zend_string *postfix = spl_recursive_tree_iterator_get_postfix(object); in PHP_METHOD()
1239 static zend_function *spl_dual_it_get_method(zend_object **object, zend_string *method, const zval … in spl_dual_it_get_method() argument
1244 intern = spl_dual_it_from_obj(*object); in spl_dual_it_get_method()
1246 function_handler = zend_std_get_method(object, method, key); in spl_dual_it_get_method()
1250 *object = Z_OBJ(intern->inner.zobject); in spl_dual_it_get_method()
1251 function_handler = (*object)->handlers->get_method(object, method, key); in spl_dual_it_get_method()
1254 *object = Z_OBJ(intern->inner.zobject); in spl_dual_it_get_method()
1405 cfi->fci.object = NULL; in spl_dual_it_construct()
1411 cfi->object = cfi->fcc.object; in spl_dual_it_construct()
1412 if (cfi->object) GC_ADDREF(cfi->object); in spl_dual_it_construct()
1430 intern->inner.object = Z_OBJ_P(zobject); in spl_dual_it_construct()
2061 spl_dual_it_object *object = spl_dual_it_from_obj(_object); in spl_dual_it_free_storage() local
2063 spl_dual_it_free(object); in spl_dual_it_free_storage()
2065 if (object->inner.iterator) { in spl_dual_it_free_storage()
2066 zend_iterator_dtor(object->inner.iterator); in spl_dual_it_free_storage()
2069 if (!Z_ISUNDEF(object->inner.zobject)) { in spl_dual_it_free_storage()
2070 zval_ptr_dtor(&object->inner.zobject); in spl_dual_it_free_storage()
2073 if (object->dit_type == DIT_AppendIterator) { in spl_dual_it_free_storage()
2074 zend_iterator_dtor(object->u.append.iterator); in spl_dual_it_free_storage()
2075 if (Z_TYPE(object->u.append.zarrayit) != IS_UNDEF) { in spl_dual_it_free_storage()
2076 zval_ptr_dtor(&object->u.append.zarrayit); in spl_dual_it_free_storage()
2080 if (object->dit_type == DIT_CachingIterator || object->dit_type == DIT_RecursiveCachingIterator) { in spl_dual_it_free_storage()
2081 zval_ptr_dtor(&object->u.caching.zcache); in spl_dual_it_free_storage()
2084 if (object->dit_type == DIT_RegexIterator || object->dit_type == DIT_RecursiveRegexIterator) { in spl_dual_it_free_storage()
2085 if (object->u.regex.pce) { in spl_dual_it_free_storage()
2086 php_pcre_pce_decref(object->u.regex.pce); in spl_dual_it_free_storage()
2088 if (object->u.regex.regex) { in spl_dual_it_free_storage()
2089 zend_string_release_ex(object->u.regex.regex, 0); in spl_dual_it_free_storage()
2093 …if (object->dit_type == DIT_CallbackFilterIterator || object->dit_type == DIT_RecursiveCallbackFil… in spl_dual_it_free_storage()
2094 if (object->u.cbfilter) { in spl_dual_it_free_storage()
2095 _spl_cbfilter_it_intern *cbfilter = object->u.cbfilter; in spl_dual_it_free_storage()
2096 object->u.cbfilter = NULL; in spl_dual_it_free_storage()
2098 if (cbfilter->fci.object) { in spl_dual_it_free_storage()
2099 OBJ_RELEASE(cbfilter->fci.object); in spl_dual_it_free_storage()
2105 zend_object_std_dtor(&object->std); in spl_dual_it_free_storage()
2111 spl_dual_it_object *object = spl_dual_it_from_obj(obj); in spl_dual_it_get_gc() local
2114 if (object->inner.iterator) { in spl_dual_it_get_gc()
2115 zend_get_gc_buffer_add_obj(gc_buffer, &object->inner.iterator->std); in spl_dual_it_get_gc()
2118 zend_get_gc_buffer_add_zval(gc_buffer, &object->current.data); in spl_dual_it_get_gc()
2119 zend_get_gc_buffer_add_zval(gc_buffer, &object->current.key); in spl_dual_it_get_gc()
2120 zend_get_gc_buffer_add_zval(gc_buffer, &object->inner.zobject); in spl_dual_it_get_gc()
2122 switch (object->dit_type) { in spl_dual_it_get_gc()
2134 zend_get_gc_buffer_add_obj(gc_buffer, &object->u.append.iterator->std); in spl_dual_it_get_gc()
2135 if (Z_TYPE(object->u.append.zarrayit) != IS_UNDEF) { in spl_dual_it_get_gc()
2136 zend_get_gc_buffer_add_zval(gc_buffer, &object->u.append.zarrayit); in spl_dual_it_get_gc()
2141 zend_get_gc_buffer_add_zval(gc_buffer, &object->u.caching.zcache); in spl_dual_it_get_gc()
2142 zend_get_gc_buffer_add_zval(gc_buffer, &object->u.caching.zchildren); in spl_dual_it_get_gc()
2146 if (object->u.cbfilter) { in spl_dual_it_get_gc()
2147 zend_get_gc_buffer_add_zval(gc_buffer, &object->u.cbfilter->fci.function_name); in spl_dual_it_get_gc()
2148 if (object->u.cbfilter->fci.object) { in spl_dual_it_get_gc()
2149 zend_get_gc_buffer_add_obj(gc_buffer, object->u.cbfilter->fci.object); in spl_dual_it_get_gc()