Lines Matching refs:intern

68 static inline HashTable **spl_array_get_hash_table_ptr(spl_array_object* intern) { /* {{{ */  in spl_array_get_hash_table_ptr()  argument
70 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in spl_array_get_hash_table_ptr()
71 if (!intern->std.properties) { in spl_array_get_hash_table_ptr()
72 rebuild_object_properties(&intern->std); in spl_array_get_hash_table_ptr()
74 return &intern->std.properties; in spl_array_get_hash_table_ptr()
75 } else if (intern->ar_flags & SPL_ARRAY_USE_OTHER) { in spl_array_get_hash_table_ptr()
76 spl_array_object *other = Z_SPLARRAY_P(&intern->array); in spl_array_get_hash_table_ptr()
78 } else if (Z_TYPE(intern->array) == IS_ARRAY) { in spl_array_get_hash_table_ptr()
79 return &Z_ARRVAL(intern->array); in spl_array_get_hash_table_ptr()
81 zend_object *obj = Z_OBJ(intern->array); in spl_array_get_hash_table_ptr()
95 static inline HashTable *spl_array_get_hash_table(spl_array_object* intern) { /* {{{ */ in spl_array_get_hash_table() argument
96 return *spl_array_get_hash_table_ptr(intern); in spl_array_get_hash_table()
100 static inline bool spl_array_is_object(spl_array_object *intern) /* {{{ */ in spl_array_is_object() argument
102 while (intern->ar_flags & SPL_ARRAY_USE_OTHER) { in spl_array_is_object()
103 intern = Z_SPLARRAY_P(&intern->array); in spl_array_is_object()
105 return (intern->ar_flags & SPL_ARRAY_IS_SELF) || Z_TYPE(intern->array) == IS_OBJECT; in spl_array_is_object()
109 static zend_result spl_array_skip_protected(spl_array_object *intern, HashTable *aht);
111 static zend_never_inline void spl_array_create_ht_iter(HashTable *ht, spl_array_object* intern) /* … in spl_array_create_ht_iter() argument
113 intern->ht_iter = zend_hash_iterator_add(ht, zend_hash_get_current_pos(ht)); in spl_array_create_ht_iter()
114 zend_hash_internal_pointer_reset_ex(ht, &EG(ht_iterators)[intern->ht_iter].pos); in spl_array_create_ht_iter()
115 spl_array_skip_protected(intern, ht); in spl_array_create_ht_iter()
119 static zend_always_inline uint32_t *spl_array_get_pos_ptr(HashTable *ht, spl_array_object* intern) … in spl_array_get_pos_ptr() argument
121 if (UNEXPECTED(intern->ht_iter == (uint32_t)-1)) { in spl_array_get_pos_ptr()
122 spl_array_create_ht_iter(ht, intern); in spl_array_get_pos_ptr()
124 return &EG(ht_iterators)[intern->ht_iter].pos; in spl_array_get_pos_ptr()
131 spl_array_object *intern = spl_array_from_obj(object); in spl_array_object_free_storage() local
133 if (intern->ht_iter != (uint32_t) -1) { in spl_array_object_free_storage()
134 zend_hash_iterator_del(intern->ht_iter); in spl_array_object_free_storage()
137 zend_object_std_dtor(&intern->std); in spl_array_object_free_storage()
139 zval_ptr_dtor(&intern->array); in spl_array_object_free_storage()
146 spl_array_object *intern; in spl_array_object_new_ex() local
150 intern = zend_object_alloc(sizeof(spl_array_object), parent); in spl_array_object_new_ex()
152 zend_object_std_init(&intern->std, class_type); in spl_array_object_new_ex()
153 object_properties_init(&intern->std, class_type); in spl_array_object_new_ex()
155 intern->ar_flags = 0; in spl_array_object_new_ex()
156 intern->is_child = false; in spl_array_object_new_ex()
157 intern->bucket = NULL; in spl_array_object_new_ex()
158 intern->ce_get_iterator = spl_ce_ArrayIterator; in spl_array_object_new_ex()
162 intern->ar_flags &= ~ SPL_ARRAY_CLONE_MASK; in spl_array_object_new_ex()
163 intern->ar_flags |= (other->ar_flags & SPL_ARRAY_CLONE_MASK); in spl_array_object_new_ex()
164 intern->ce_get_iterator = other->ce_get_iterator; in spl_array_object_new_ex()
167 ZVAL_UNDEF(&intern->array); in spl_array_object_new_ex()
169 ZVAL_ARR(&intern->array, in spl_array_object_new_ex()
173 ZVAL_OBJ_COPY(&intern->array, orig); in spl_array_object_new_ex()
174 intern->ar_flags |= SPL_ARRAY_USE_OTHER; in spl_array_object_new_ex()
177 ZVAL_OBJ_COPY(&intern->array, orig); in spl_array_object_new_ex()
178 intern->ar_flags |= SPL_ARRAY_USE_OTHER; in spl_array_object_new_ex()
181 array_init(&intern->array); in spl_array_object_new_ex()
195intern->fptr_offset_get = zend_hash_str_find_ptr(&class_type->function_table, "offsetget", sizeof(… in spl_array_object_new_ex()
196 if (intern->fptr_offset_get->common.scope == parent) { in spl_array_object_new_ex()
197 intern->fptr_offset_get = NULL; in spl_array_object_new_ex()
199intern->fptr_offset_set = zend_hash_str_find_ptr(&class_type->function_table, "offsetset", sizeof(… in spl_array_object_new_ex()
200 if (intern->fptr_offset_set->common.scope == parent) { in spl_array_object_new_ex()
201 intern->fptr_offset_set = NULL; in spl_array_object_new_ex()
203intern->fptr_offset_has = zend_hash_str_find_ptr(&class_type->function_table, "offsetexists", size… in spl_array_object_new_ex()
204 if (intern->fptr_offset_has->common.scope == parent) { in spl_array_object_new_ex()
205 intern->fptr_offset_has = NULL; in spl_array_object_new_ex()
207intern->fptr_offset_del = zend_hash_str_find_ptr(&class_type->function_table, "offsetunset", size… in spl_array_object_new_ex()
208 if (intern->fptr_offset_del->common.scope == parent) { in spl_array_object_new_ex()
209 intern->fptr_offset_del = NULL; in spl_array_object_new_ex()
212 intern->fptr_count = zend_hash_find_ptr(&class_type->function_table, ZSTR_KNOWN(ZEND_STR_COUNT)); in spl_array_object_new_ex()
213 if (intern->fptr_count->common.scope == parent) { in spl_array_object_new_ex()
214 intern->fptr_count = NULL; in spl_array_object_new_ex()
218 intern->ht_iter = (uint32_t)-1; in spl_array_object_new_ex()
219 return &intern->std; in spl_array_object_new_ex()
257 static zend_result get_hash_key(spl_hash_key *key, spl_array_object *intern, zval *offset) in get_hash_key() argument
300 if (spl_array_is_object(intern)) { in get_hash_key()
307 static zval *spl_array_get_dimension_ptr(bool check_inherited, spl_array_object *intern, const zend… in spl_array_get_dimension_ptr() argument
312 HashTable *ht = spl_array_get_hash_table(intern); in spl_array_get_dimension_ptr()
318 if ((type == BP_VAR_W || type == BP_VAR_RW) && intern->nApplyCount > 0) { in spl_array_get_dimension_ptr()
323 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_get_dimension_ptr()
400 spl_array_object *intern = spl_array_from_obj(object); in spl_array_read_dimension_ex() local
404 (intern->fptr_offset_get || (type == BP_VAR_IS && intern->fptr_offset_has))) { in spl_array_read_dimension_ex()
411 if (intern->fptr_offset_get) { in spl_array_read_dimension_ex()
417 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_get, "offsetGet", rv, offs… in spl_array_read_dimension_ex()
426 ret = spl_array_get_dimension_ptr(check_inherited, intern, object->ce->name, offset, type); in spl_array_read_dimension_ex()
465 spl_array_object *intern = spl_array_from_obj(object); in spl_array_write_dimension_ex() local
469 if (check_inherited && intern->fptr_offset_set) { in spl_array_write_dimension_ex()
476 …zend_call_method_with_2_params(object, object->ce, &intern->fptr_offset_set, "offsetSet", NULL, of… in spl_array_write_dimension_ex()
480 if (intern->nApplyCount > 0) { in spl_array_write_dimension_ex()
489 ht = spl_array_get_hash_table(intern); in spl_array_write_dimension_ex()
490 refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_write_dimension_ex()
494 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_write_dimension_ex()
499 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_write_dimension_ex()
505 ht = spl_array_get_hash_table(intern); in spl_array_write_dimension_ex()
506 refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_write_dimension_ex()
515 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_write_dimension_ex()
527 spl_array_object *intern = spl_array_from_obj(object); in spl_array_unset_dimension_ex() local
530 if (check_inherited && intern->fptr_offset_del) { in spl_array_unset_dimension_ex()
531 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_del, "offsetUnset", NULL, … in spl_array_unset_dimension_ex()
535 if (intern->nApplyCount > 0) { in spl_array_unset_dimension_ex()
540 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_unset_dimension_ex()
545 ht = spl_array_get_hash_table(intern); in spl_array_unset_dimension_ex()
546 uint32_t refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_unset_dimension_ex()
557 zend_hash_move_forward_ex(ht, spl_array_get_pos_ptr(ht, intern)); in spl_array_unset_dimension_ex()
558 if (spl_array_is_object(intern)) { in spl_array_unset_dimension_ex()
559 spl_array_skip_protected(intern, ht); in spl_array_unset_dimension_ex()
572 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_unset_dimension_ex()
586 spl_array_object *intern = spl_array_from_obj(object); in spl_array_has_dimension_ex() local
589 if (check_inherited && intern->fptr_offset_has) { in spl_array_has_dimension_ex()
590 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_has, "offsetExists", &rv, … in spl_array_has_dimension_ex()
601 } else if (intern->fptr_offset_get) { in spl_array_has_dimension_ex()
607 HashTable *ht = spl_array_get_hash_table(intern); in spl_array_has_dimension_ex()
610 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_has_dimension_ex()
632 if (check_empty && check_inherited && intern->fptr_offset_get) { in spl_array_has_dimension_ex()
687 spl_array_object *intern = Z_SPLARRAY_P(object); in spl_array_iterator_append() local
689 if (spl_array_is_object(intern)) { in spl_array_iterator_append()
722 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
728 RETURN_ARR(zend_array_dup(spl_array_get_hash_table(intern))); in PHP_METHOD()
733 spl_array_object *intern = spl_array_from_obj(object); in spl_array_get_properties_for() local
737 if (intern->ar_flags & SPL_ARRAY_STD_PROP_LIST) { in spl_array_get_properties_for()
758 ht = spl_array_get_hash_table(intern); in spl_array_get_properties_for()
772 spl_array_object *intern = spl_array_from_obj(obj); in spl_array_get_debug_info() local
774 if (!intern->std.properties) { in spl_array_get_debug_info()
775 rebuild_object_properties(&intern->std); in spl_array_get_debug_info()
778 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in spl_array_get_debug_info()
779 return zend_array_dup(intern->std.properties); in spl_array_get_debug_info()
783 debug_info = zend_new_array(zend_hash_num_elements(intern->std.properties) + 1); in spl_array_get_debug_info()
784 zend_hash_copy(debug_info, intern->std.properties, (copy_ctor_func_t) zval_add_ref); in spl_array_get_debug_info()
786 storage = &intern->array; in spl_array_get_debug_info()
802 spl_array_object *intern = spl_array_from_obj(obj); in spl_array_get_gc() local
803 *gc_data = &intern->array; in spl_array_get_gc()
811 spl_array_object *intern = spl_array_from_obj(object); in spl_array_read_property() local
813 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_read_property()
824 spl_array_object *intern = spl_array_from_obj(object); in spl_array_write_property() local
826 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_write_property()
838 spl_array_object *intern = spl_array_from_obj(object); in spl_array_get_property_ptr_ptr() local
840 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_get_property_ptr_ptr()
845 if (intern->fptr_offset_get) { in spl_array_get_property_ptr_ptr()
849 return spl_array_get_dimension_ptr(1, intern, object->ce->name, &member, type); in spl_array_get_property_ptr_ptr()
856 spl_array_object *intern = spl_array_from_obj(object); in spl_array_has_property() local
858 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_has_property()
869 spl_array_object *intern = spl_array_from_obj(object); in spl_array_unset_property() local
871 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_unset_property()
905 static zend_result spl_array_skip_protected(spl_array_object *intern, HashTable *aht) /* {{{ */ in spl_array_skip_protected() argument
911 if (spl_array_is_object(intern)) { in spl_array_skip_protected()
912 uint32_t *pos_ptr = spl_array_get_pos_ptr(aht, intern); in spl_array_skip_protected()
936 static void spl_array_set_array(zval *object, spl_array_object *intern, zval *array, zend_long ar_f… in spl_array_set_array() argument
940 zval_ptr_dtor(&intern->array); in spl_array_set_array()
942 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
945 ZVAL_ARR(&intern->array, zend_array_dup(Z_ARR_P(array))); in spl_array_set_array()
947 if (intern->is_child) { in spl_array_set_array()
948 Z_TRY_DELREF(intern->bucket->val); in spl_array_set_array()
953 ZVAL_COPY(&intern->bucket->val, &intern->array); in spl_array_set_array()
958 zval_ptr_dtor(&intern->array); in spl_array_set_array()
965 ZVAL_UNDEF(&intern->array); in spl_array_set_array()
968 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
975 ZSTR_VAL(Z_OBJCE_P(array)->name), ZSTR_VAL(intern->std.ce->name)); in spl_array_set_array()
978 zval_ptr_dtor(&intern->array); in spl_array_set_array()
979 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
983 intern->ar_flags &= ~SPL_ARRAY_IS_SELF & ~SPL_ARRAY_USE_OTHER; in spl_array_set_array()
984 intern->ar_flags |= ar_flags; in spl_array_set_array()
985 if (intern->ht_iter != (uint32_t)-1) { in spl_array_set_array()
986 zend_hash_iterator_del(intern->ht_iter); in spl_array_set_array()
987 intern->ht_iter = (uint32_t)-1; in spl_array_set_array()
996 spl_array_object *intern; in PHP_METHOD() local
1009 intern = Z_SPLARRAY_P(object); in PHP_METHOD()
1012 intern->ce_get_iterator = ce_get_iterator; in PHP_METHOD()
1017 spl_array_set_array(object, intern, array, ar_flags, ZEND_NUM_ARGS() == 1); in PHP_METHOD()
1025 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1032 intern->ce_get_iterator = ce_get_iterator; in PHP_METHOD()
1040 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1046 zend_string_addref(intern->ce_get_iterator->name); in PHP_METHOD()
1047 RETURN_STR(intern->ce_get_iterator->name); in PHP_METHOD()
1055 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1061 RETURN_LONG(intern->ar_flags & ~SPL_ARRAY_INT_MASK); in PHP_METHOD()
1069 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1076 intern->ar_flags = (intern->ar_flags & SPL_ARRAY_INT_MASK) | (ar_flags & ~SPL_ARRAY_INT_MASK); in PHP_METHOD()
1084 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1090 if (intern->nApplyCount > 0) { in PHP_METHOD()
1095 RETVAL_ARR(zend_array_dup(spl_array_get_hash_table(intern))); in PHP_METHOD()
1096 spl_array_set_array(object, intern, array, 0L, 1); in PHP_METHOD()
1104 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1110 RETURN_OBJ(spl_array_object_new_ex(intern->ce_get_iterator, Z_OBJ_P(object), 0)); in PHP_METHOD()
1114 static zend_long spl_array_object_count_elements_helper(spl_array_object *intern) /* {{{ */ in spl_array_object_count_elements_helper() argument
1116 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_object_count_elements_helper()
1117 if (spl_array_is_object(intern)) { in spl_array_object_count_elements_helper()
1137 spl_array_object *intern = spl_array_from_obj(object); in spl_array_object_count_elements() local
1139 if (intern->fptr_count) { in spl_array_object_count_elements()
1141 zend_call_method_with_0_params(object, intern->std.ce, &intern->fptr_count, "count", &rv); in spl_array_object_count_elements()
1150 *count = spl_array_object_count_elements_helper(intern); in spl_array_object_count_elements()
1157 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1163 RETURN_LONG(spl_array_object_count_elements_helper(intern)); in PHP_METHOD()
1168 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in spl_array_method() local
1169 HashTable **ht_ptr = spl_array_get_hash_table_ptr(intern); in spl_array_method()
1184 intern->nApplyCount++; in spl_array_method()
1186 intern->nApplyCount--; in spl_array_method()
1193 intern->nApplyCount++; in spl_array_method()
1195 intern->nApplyCount--; in spl_array_method()
1201 intern->nApplyCount++; in spl_array_method()
1203 intern->nApplyCount--; in spl_array_method()
1246 spl_array_object *intern = Z_SPLARRAY_P(object); in SPL_ARRAY_METHOD() local
1257 ZVAL_LONG(&flags, (intern->ar_flags & SPL_ARRAY_CLONE_MASK)); in SPL_ARRAY_METHOD()
1263 if (!(intern->ar_flags & SPL_ARRAY_IS_SELF)) { in SPL_ARRAY_METHOD()
1264 php_var_serialize(&buf, &intern->array, &var_hash); in SPL_ARRAY_METHOD()
1270 if (!intern->std.properties) { in SPL_ARRAY_METHOD()
1271 rebuild_object_properties(&intern->std); in SPL_ARRAY_METHOD()
1274 ZVAL_ARR(&members, intern->std.properties); in SPL_ARRAY_METHOD()
1288 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1305 if (intern->nApplyCount > 0) { in PHP_METHOD()
1338 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1339 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1340 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1341 ZVAL_UNDEF(&intern->array); in PHP_METHOD()
1353 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1354 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1357 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1358 ZVAL_COPY_VALUE(&intern->array, array); in PHP_METHOD()
1360 SEPARATE_ARRAY(&intern->array); in PHP_METHOD()
1362 spl_array_set_array(object, intern, array, 0L, 1); in PHP_METHOD()
1383 object_properties_load(&intern->std, Z_ARRVAL_P(members)); in PHP_METHOD()
1399 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1409 ZVAL_LONG(&tmp, (intern->ar_flags & SPL_ARRAY_CLONE_MASK)); in PHP_METHOD()
1413 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in PHP_METHOD()
1416 ZVAL_COPY(&tmp, &intern->array); in PHP_METHOD()
1422 zend_std_get_properties(&intern->std), /* always_duplicate */ 1)); in PHP_METHOD()
1426 if (intern->ce_get_iterator == spl_ce_ArrayIterator) { in PHP_METHOD()
1429 ZVAL_STR_COPY(&tmp, intern->ce_get_iterator->name); in PHP_METHOD()
1439 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1463 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1464 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1467 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1468 ZVAL_UNDEF(&intern->array); in PHP_METHOD()
1475 spl_array_set_array(ZEND_THIS, intern, storage_zv, 0L, 1); in PHP_METHOD()
1478 object_properties_load(&intern->std, Z_ARRVAL_P(members_zv)); in PHP_METHOD()
1500 intern->ce_get_iterator = ce; in PHP_METHOD()
1521 static zend_result spl_array_next_ex(spl_array_object *intern, HashTable *aht) /* {{{ */ in spl_array_next_ex() argument
1523 uint32_t *pos_ptr = spl_array_get_pos_ptr(aht, intern); in spl_array_next_ex()
1526 if (spl_array_is_object(intern)) { in spl_array_next_ex()
1527 return spl_array_skip_protected(intern, aht); in spl_array_next_ex()
1533 static zend_result spl_array_next(spl_array_object *intern) /* {{{ */ in spl_array_next() argument
1535 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_next()
1537 return spl_array_next_ex(intern, aht); in spl_array_next()
1606 static void spl_array_rewind(spl_array_object *intern) /* {{{ */ in spl_array_rewind() argument
1608 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_rewind()
1610 if (intern->ht_iter == (uint32_t)-1) { in spl_array_rewind()
1611 spl_array_get_pos_ptr(aht, intern); in spl_array_rewind()
1613 zend_hash_internal_pointer_reset_ex(aht, spl_array_get_pos_ptr(aht, intern)); in spl_array_rewind()
1614 spl_array_skip_protected(intern, aht); in spl_array_rewind()
1662 spl_array_object *intern; in PHP_METHOD() local
1674 intern = Z_SPLARRAY_P(object); in PHP_METHOD()
1678 spl_array_set_array(object, intern, array, ar_flags, ZEND_NUM_ARGS() == 1); in PHP_METHOD()
1686 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1692 spl_array_rewind(intern); in PHP_METHOD()
1701 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1702 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1712 spl_array_rewind(intern); in PHP_METHOD()
1715 while (position-- > 0 && (result = spl_array_next(intern)) == SUCCESS); in PHP_METHOD()
1717 …if (result == SUCCESS && zend_hash_has_more_elements_ex(aht, spl_array_get_pos_ptr(aht, intern)) =… in PHP_METHOD()
1728 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1730 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1736 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1751 spl_array_object *intern = Z_SPLARRAY_P(object); in spl_array_iterator_key() local
1752 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_iterator_key()
1754 zend_hash_get_current_key_zval_ex(aht, return_value, spl_array_get_pos_ptr(aht, intern)); in spl_array_iterator_key()
1772 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1773 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1779 spl_array_next_ex(intern, aht); in PHP_METHOD()
1787 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1788 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1794 RETURN_BOOL(zend_hash_has_more_elements_ex(aht, spl_array_get_pos_ptr(aht, intern)) == SUCCESS); in PHP_METHOD()
1804 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1805 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1811 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1820 …RETURN_BOOL(Z_TYPE_P(entry) == IS_ARRAY || (Z_TYPE_P(entry) == IS_OBJECT && (intern->ar_flags & SP… in PHP_METHOD()
1844 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1845 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1851 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1861 if ((intern->ar_flags & SPL_ARRAY_CHILD_ARRAYS_ONLY) != 0) { in PHP_METHOD()
1869 ZVAL_LONG(&flags, intern->ar_flags); in PHP_METHOD()