Lines Matching refs:intern

64 static inline HashTable **spl_array_get_hash_table_ptr(spl_array_object* intern) { /* {{{ */  in spl_array_get_hash_table_ptr()  argument
66 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in spl_array_get_hash_table_ptr()
68 zend_std_get_properties_ex(&intern->std); in spl_array_get_hash_table_ptr()
69 return &intern->std.properties; in spl_array_get_hash_table_ptr()
70 } else if (intern->ar_flags & SPL_ARRAY_USE_OTHER) { in spl_array_get_hash_table_ptr()
71 spl_array_object *other = Z_SPLARRAY_P(&intern->array); in spl_array_get_hash_table_ptr()
73 } else if (Z_TYPE(intern->array) == IS_ARRAY) { in spl_array_get_hash_table_ptr()
74 return &Z_ARRVAL(intern->array); in spl_array_get_hash_table_ptr()
76 zend_object *obj = Z_OBJ(intern->array); in spl_array_get_hash_table_ptr()
90 static inline HashTable *spl_array_get_hash_table(spl_array_object* intern) { /* {{{ */ in spl_array_get_hash_table() argument
91 return *spl_array_get_hash_table_ptr(intern); in spl_array_get_hash_table()
95 static inline bool spl_array_is_object(spl_array_object *intern) /* {{{ */ in spl_array_is_object() argument
97 while (intern->ar_flags & SPL_ARRAY_USE_OTHER) { in spl_array_is_object()
98 intern = Z_SPLARRAY_P(&intern->array); in spl_array_is_object()
100 return (intern->ar_flags & SPL_ARRAY_IS_SELF) || Z_TYPE(intern->array) == IS_OBJECT; in spl_array_is_object()
104 static zend_result spl_array_skip_protected(spl_array_object *intern, HashTable *aht);
106 static zend_never_inline void spl_array_create_ht_iter(HashTable *ht, spl_array_object* intern) /* … in spl_array_create_ht_iter() argument
108 intern->ht_iter = zend_hash_iterator_add(ht, zend_hash_get_current_pos(ht)); in spl_array_create_ht_iter()
109 zend_hash_internal_pointer_reset_ex(ht, &EG(ht_iterators)[intern->ht_iter].pos); in spl_array_create_ht_iter()
110 spl_array_skip_protected(intern, ht); in spl_array_create_ht_iter()
114 static zend_always_inline uint32_t *spl_array_get_pos_ptr(HashTable *ht, spl_array_object* intern) … in spl_array_get_pos_ptr() argument
116 if (UNEXPECTED(intern->ht_iter == (uint32_t)-1)) { in spl_array_get_pos_ptr()
117 spl_array_create_ht_iter(ht, intern); in spl_array_get_pos_ptr()
119 return &EG(ht_iterators)[intern->ht_iter].pos; in spl_array_get_pos_ptr()
126 spl_array_object *intern = spl_array_from_obj(object); in spl_array_object_free_storage() local
128 if (intern->ht_iter != (uint32_t) -1) { in spl_array_object_free_storage()
129 zend_hash_iterator_del(intern->ht_iter); in spl_array_object_free_storage()
132 zend_object_std_dtor(&intern->std); in spl_array_object_free_storage()
134 zval_ptr_dtor(&intern->array); in spl_array_object_free_storage()
141 spl_array_object *intern; in spl_array_object_new_ex() local
145 intern = zend_object_alloc(sizeof(spl_array_object), parent); in spl_array_object_new_ex()
147 zend_object_std_init(&intern->std, class_type); in spl_array_object_new_ex()
148 object_properties_init(&intern->std, class_type); in spl_array_object_new_ex()
150 intern->ar_flags = 0; in spl_array_object_new_ex()
151 intern->is_child = false; in spl_array_object_new_ex()
152 intern->bucket = NULL; in spl_array_object_new_ex()
153 intern->ce_get_iterator = spl_ce_ArrayIterator; in spl_array_object_new_ex()
157 intern->ar_flags &= ~ SPL_ARRAY_CLONE_MASK; in spl_array_object_new_ex()
158 intern->ar_flags |= (other->ar_flags & SPL_ARRAY_CLONE_MASK); in spl_array_object_new_ex()
159 intern->ce_get_iterator = other->ce_get_iterator; in spl_array_object_new_ex()
162 ZVAL_UNDEF(&intern->array); in spl_array_object_new_ex()
164 ZVAL_ARR(&intern->array, in spl_array_object_new_ex()
175 ZVAL_OBJ_COPY(&intern->array, orig); in spl_array_object_new_ex()
176 intern->ar_flags |= SPL_ARRAY_USE_OTHER; in spl_array_object_new_ex()
179 ZVAL_OBJ_COPY(&intern->array, orig); in spl_array_object_new_ex()
180 intern->ar_flags |= SPL_ARRAY_USE_OTHER; in spl_array_object_new_ex()
183 array_init(&intern->array); in spl_array_object_new_ex()
197intern->fptr_offset_get = zend_hash_str_find_ptr(&class_type->function_table, "offsetget", sizeof(… in spl_array_object_new_ex()
198 if (intern->fptr_offset_get->common.scope == parent) { in spl_array_object_new_ex()
199 intern->fptr_offset_get = NULL; in spl_array_object_new_ex()
201intern->fptr_offset_set = zend_hash_str_find_ptr(&class_type->function_table, "offsetset", sizeof(… in spl_array_object_new_ex()
202 if (intern->fptr_offset_set->common.scope == parent) { in spl_array_object_new_ex()
203 intern->fptr_offset_set = NULL; in spl_array_object_new_ex()
205intern->fptr_offset_has = zend_hash_str_find_ptr(&class_type->function_table, "offsetexists", size… in spl_array_object_new_ex()
206 if (intern->fptr_offset_has->common.scope == parent) { in spl_array_object_new_ex()
207 intern->fptr_offset_has = NULL; in spl_array_object_new_ex()
209intern->fptr_offset_del = zend_hash_str_find_ptr(&class_type->function_table, "offsetunset", size… in spl_array_object_new_ex()
210 if (intern->fptr_offset_del->common.scope == parent) { in spl_array_object_new_ex()
211 intern->fptr_offset_del = NULL; in spl_array_object_new_ex()
214 intern->fptr_count = zend_hash_find_ptr(&class_type->function_table, ZSTR_KNOWN(ZEND_STR_COUNT)); in spl_array_object_new_ex()
215 if (intern->fptr_count->common.scope == parent) { in spl_array_object_new_ex()
216 intern->fptr_count = NULL; in spl_array_object_new_ex()
220 intern->ht_iter = (uint32_t)-1; in spl_array_object_new_ex()
221 return &intern->std; in spl_array_object_new_ex()
259 static zend_result get_hash_key(spl_hash_key *key, spl_array_object *intern, zval *offset) in get_hash_key() argument
302 if (spl_array_is_object(intern)) { in get_hash_key()
309 static zval *spl_array_get_dimension_ptr(bool check_inherited, spl_array_object *intern, const zend… in spl_array_get_dimension_ptr() argument
314 HashTable *ht = spl_array_get_hash_table(intern); in spl_array_get_dimension_ptr()
320 if ((type == BP_VAR_W || type == BP_VAR_RW) && intern->nApplyCount > 0) { in spl_array_get_dimension_ptr()
325 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_get_dimension_ptr()
402 spl_array_object *intern = spl_array_from_obj(object); in spl_array_read_dimension_ex() local
406 (intern->fptr_offset_get || (type == BP_VAR_IS && intern->fptr_offset_has))) { in spl_array_read_dimension_ex()
413 if (intern->fptr_offset_get) { in spl_array_read_dimension_ex()
419 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_get, "offsetGet", rv, offs… in spl_array_read_dimension_ex()
428 ret = spl_array_get_dimension_ptr(check_inherited, intern, object->ce->name, offset, type); in spl_array_read_dimension_ex()
467 spl_array_object *intern = spl_array_from_obj(object); in spl_array_write_dimension_ex() local
471 if (check_inherited && intern->fptr_offset_set) { in spl_array_write_dimension_ex()
478 …zend_call_method_with_2_params(object, object->ce, &intern->fptr_offset_set, "offsetSet", NULL, of… in spl_array_write_dimension_ex()
482 if (intern->nApplyCount > 0) { in spl_array_write_dimension_ex()
491 ht = spl_array_get_hash_table(intern); in spl_array_write_dimension_ex()
492 refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_write_dimension_ex()
496 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_write_dimension_ex()
501 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_write_dimension_ex()
507 ht = spl_array_get_hash_table(intern); in spl_array_write_dimension_ex()
508 refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_write_dimension_ex()
517 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_write_dimension_ex()
529 spl_array_object *intern = spl_array_from_obj(object); in spl_array_unset_dimension_ex() local
532 if (check_inherited && intern->fptr_offset_del) { in spl_array_unset_dimension_ex()
533 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_del, "offsetUnset", NULL, … in spl_array_unset_dimension_ex()
537 if (intern->nApplyCount > 0) { in spl_array_unset_dimension_ex()
542 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_unset_dimension_ex()
547 ht = spl_array_get_hash_table(intern); in spl_array_unset_dimension_ex()
548 uint32_t refcount = spl_array_set_refcount(intern->is_child, ht, 1); in spl_array_unset_dimension_ex()
560 zend_hash_move_forward_ex(ht, spl_array_get_pos_ptr(ht, intern)); in spl_array_unset_dimension_ex()
561 if (spl_array_is_object(intern)) { in spl_array_unset_dimension_ex()
562 spl_array_skip_protected(intern, ht); in spl_array_unset_dimension_ex()
576 spl_array_set_refcount(intern->is_child, ht, refcount); in spl_array_unset_dimension_ex()
590 spl_array_object *intern = spl_array_from_obj(object); in spl_array_has_dimension_ex() local
593 if (check_inherited && intern->fptr_offset_has) { in spl_array_has_dimension_ex()
594 …zend_call_method_with_1_params(object, object->ce, &intern->fptr_offset_has, "offsetExists", &rv, … in spl_array_has_dimension_ex()
605 } else if (intern->fptr_offset_get) { in spl_array_has_dimension_ex()
611 HashTable *ht = spl_array_get_hash_table(intern); in spl_array_has_dimension_ex()
614 if (get_hash_key(&key, intern, offset) == FAILURE) { in spl_array_has_dimension_ex()
636 if (check_empty && check_inherited && intern->fptr_offset_get) { in spl_array_has_dimension_ex()
691 spl_array_object *intern = Z_SPLARRAY_P(object); in spl_array_iterator_append() local
693 if (spl_array_is_object(intern)) { in spl_array_iterator_append()
726 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
732 RETURN_ARR(zend_array_dup(spl_array_get_hash_table(intern))); in PHP_METHOD()
737 spl_array_object *intern = spl_array_from_obj(object); in spl_array_get_properties_for() local
741 if (intern->ar_flags & SPL_ARRAY_STD_PROP_LIST) { in spl_array_get_properties_for()
762 ht = spl_array_get_hash_table(intern); in spl_array_get_properties_for()
773 spl_array_object *intern = spl_array_from_obj(obj); in spl_array_get_debug_info() local
774 HashTable *properties = zend_std_get_properties_ex(&intern->std); in spl_array_get_debug_info()
776 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in spl_array_get_debug_info()
784 zval *storage = &intern->array; in spl_array_get_debug_info()
799 spl_array_object *intern = spl_array_from_obj(obj); in spl_array_get_gc() local
800 *gc_data = &intern->array; in spl_array_get_gc()
808 spl_array_object *intern = spl_array_from_obj(object); in spl_array_read_property() local
810 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_read_property()
821 spl_array_object *intern = spl_array_from_obj(object); in spl_array_write_property() local
823 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_write_property()
835 spl_array_object *intern = spl_array_from_obj(object); in spl_array_get_property_ptr_ptr() local
837 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_get_property_ptr_ptr()
842 if (intern->fptr_offset_get) { in spl_array_get_property_ptr_ptr()
846 return spl_array_get_dimension_ptr(1, intern, object->ce->name, &member, type); in spl_array_get_property_ptr_ptr()
853 spl_array_object *intern = spl_array_from_obj(object); in spl_array_has_property() local
855 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_has_property()
866 spl_array_object *intern = spl_array_from_obj(object); in spl_array_unset_property() local
868 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_unset_property()
902 static zend_result spl_array_skip_protected(spl_array_object *intern, HashTable *aht) /* {{{ */ in spl_array_skip_protected() argument
908 if (spl_array_is_object(intern)) { in spl_array_skip_protected()
909 uint32_t *pos_ptr = spl_array_get_pos_ptr(aht, intern); in spl_array_skip_protected()
933 static void spl_array_set_array(zval *object, spl_array_object *intern, zval *array, zend_long ar_f… in spl_array_set_array() argument
939 ZVAL_COPY_VALUE(&garbage, &intern->array); in spl_array_set_array()
941 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
944 ZVAL_ARR(&intern->array, zend_array_dup(Z_ARR_P(array))); in spl_array_set_array()
946 if (intern->is_child) { in spl_array_set_array()
947 Z_TRY_DELREF(intern->bucket->val); in spl_array_set_array()
952 ZVAL_COPY(&intern->bucket->val, &intern->array); in spl_array_set_array()
957 ZVAL_COPY_VALUE(&garbage, &intern->array); in spl_array_set_array()
964 ZVAL_UNDEF(&intern->array); in spl_array_set_array()
967 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
974 ZSTR_VAL(Z_OBJCE_P(array)->name), ZSTR_VAL(intern->std.ce->name)); in spl_array_set_array()
981 ZSTR_VAL(intern->std.ce->name)); in spl_array_set_array()
985 ZVAL_COPY_VALUE(&garbage, &intern->array); in spl_array_set_array()
986 ZVAL_COPY(&intern->array, array); in spl_array_set_array()
990 intern->ar_flags &= ~SPL_ARRAY_IS_SELF & ~SPL_ARRAY_USE_OTHER; in spl_array_set_array()
991 intern->ar_flags |= ar_flags; in spl_array_set_array()
992 if (intern->ht_iter != (uint32_t)-1) { in spl_array_set_array()
993 zend_hash_iterator_del(intern->ht_iter); in spl_array_set_array()
994 intern->ht_iter = (uint32_t)-1; in spl_array_set_array()
1005 spl_array_object *intern; in PHP_METHOD() local
1018 intern = Z_SPLARRAY_P(object); in PHP_METHOD()
1021 intern->ce_get_iterator = ce_get_iterator; in PHP_METHOD()
1026 spl_array_set_array(object, intern, array, ar_flags, ZEND_NUM_ARGS() == 1); in PHP_METHOD()
1034 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1041 intern->ce_get_iterator = ce_get_iterator; in PHP_METHOD()
1049 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1055 zend_string_addref(intern->ce_get_iterator->name); in PHP_METHOD()
1056 RETURN_STR(intern->ce_get_iterator->name); in PHP_METHOD()
1064 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1070 RETURN_LONG(intern->ar_flags & ~SPL_ARRAY_INT_MASK); in PHP_METHOD()
1078 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1085 intern->ar_flags = (intern->ar_flags & SPL_ARRAY_INT_MASK) | (ar_flags & ~SPL_ARRAY_INT_MASK); in PHP_METHOD()
1093 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1099 if (intern->nApplyCount > 0) { in PHP_METHOD()
1104 RETVAL_ARR(zend_array_dup(spl_array_get_hash_table(intern))); in PHP_METHOD()
1105 spl_array_set_array(object, intern, array, 0L, 1); in PHP_METHOD()
1113 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1119 RETURN_OBJ(spl_array_object_new_ex(intern->ce_get_iterator, Z_OBJ_P(object), 0)); in PHP_METHOD()
1123 static zend_long spl_array_object_count_elements_helper(spl_array_object *intern) /* {{{ */ in spl_array_object_count_elements_helper() argument
1125 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_object_count_elements_helper()
1126 if (spl_array_is_object(intern)) { in spl_array_object_count_elements_helper()
1146 spl_array_object *intern = spl_array_from_obj(object); in spl_array_object_count_elements() local
1148 if (intern->fptr_count) { in spl_array_object_count_elements()
1150 zend_call_method_with_0_params(object, intern->std.ce, &intern->fptr_count, "count", &rv); in spl_array_object_count_elements()
1159 *count = spl_array_object_count_elements_helper(intern); in spl_array_object_count_elements()
1166 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1172 RETURN_LONG(spl_array_object_count_elements_helper(intern)); in PHP_METHOD()
1177 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in spl_array_method() local
1178 HashTable **ht_ptr = spl_array_get_hash_table_ptr(intern); in spl_array_method()
1193 intern->nApplyCount++; in spl_array_method()
1195 intern->nApplyCount--; in spl_array_method()
1202 intern->nApplyCount++; in spl_array_method()
1204 intern->nApplyCount--; in spl_array_method()
1210 intern->nApplyCount++; in spl_array_method()
1212 intern->nApplyCount--; in spl_array_method()
1255 spl_array_object *intern = Z_SPLARRAY_P(object); in SPL_ARRAY_METHOD() local
1266 ZVAL_LONG(&flags, (intern->ar_flags & SPL_ARRAY_CLONE_MASK)); in SPL_ARRAY_METHOD()
1272 if (!(intern->ar_flags & SPL_ARRAY_IS_SELF)) { in SPL_ARRAY_METHOD()
1273 php_var_serialize(&buf, &intern->array, &var_hash); in SPL_ARRAY_METHOD()
1280 ZVAL_ARR(&members, zend_std_get_properties_ex(&intern->std)); in SPL_ARRAY_METHOD()
1294 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1311 if (intern->nApplyCount > 0) { in PHP_METHOD()
1344 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1345 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1346 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1347 ZVAL_UNDEF(&intern->array); in PHP_METHOD()
1359 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1360 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1363 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1364 ZVAL_COPY_VALUE(&intern->array, array); in PHP_METHOD()
1366 SEPARATE_ARRAY(&intern->array); in PHP_METHOD()
1368 spl_array_set_array(object, intern, array, 0L, 1); in PHP_METHOD()
1389 object_properties_load(&intern->std, Z_ARRVAL_P(members)); in PHP_METHOD()
1405 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1415 ZVAL_LONG(&tmp, (intern->ar_flags & SPL_ARRAY_CLONE_MASK)); in PHP_METHOD()
1419 if (intern->ar_flags & SPL_ARRAY_IS_SELF) { in PHP_METHOD()
1422 ZVAL_COPY(&tmp, &intern->array); in PHP_METHOD()
1428 zend_std_get_properties(&intern->std), /* always_duplicate */ 1)); in PHP_METHOD()
1432 if (intern->ce_get_iterator == spl_ce_ArrayIterator) { in PHP_METHOD()
1435 ZVAL_STR_COPY(&tmp, intern->ce_get_iterator->name); in PHP_METHOD()
1445 spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS); in PHP_METHOD() local
1469 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1470 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in PHP_METHOD()
1473 zval_ptr_dtor(&intern->array); in PHP_METHOD()
1474 ZVAL_UNDEF(&intern->array); in PHP_METHOD()
1481 spl_array_set_array(ZEND_THIS, intern, storage_zv, 0L, 1); in PHP_METHOD()
1484 object_properties_load(&intern->std, Z_ARRVAL_P(members_zv)); in PHP_METHOD()
1506 intern->ce_get_iterator = ce; in PHP_METHOD()
1527 static zend_result spl_array_next_ex(spl_array_object *intern, HashTable *aht) /* {{{ */ in spl_array_next_ex() argument
1529 uint32_t *pos_ptr = spl_array_get_pos_ptr(aht, intern); in spl_array_next_ex()
1532 if (spl_array_is_object(intern)) { in spl_array_next_ex()
1533 return spl_array_skip_protected(intern, aht); in spl_array_next_ex()
1539 static zend_result spl_array_next(spl_array_object *intern) /* {{{ */ in spl_array_next() argument
1541 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_next()
1543 return spl_array_next_ex(intern, aht); in spl_array_next()
1612 static void spl_array_rewind(spl_array_object *intern) /* {{{ */ in spl_array_rewind() argument
1614 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_rewind()
1616 if (intern->ht_iter == (uint32_t)-1) { in spl_array_rewind()
1617 spl_array_get_pos_ptr(aht, intern); in spl_array_rewind()
1619 zend_hash_internal_pointer_reset_ex(aht, spl_array_get_pos_ptr(aht, intern)); in spl_array_rewind()
1620 spl_array_skip_protected(intern, aht); in spl_array_rewind()
1668 spl_array_object *intern; in PHP_METHOD() local
1680 intern = Z_SPLARRAY_P(object); in PHP_METHOD()
1684 spl_array_set_array(object, intern, array, ar_flags, ZEND_NUM_ARGS() == 1); in PHP_METHOD()
1692 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1698 spl_array_rewind(intern); in PHP_METHOD()
1707 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1708 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1718 spl_array_rewind(intern); in PHP_METHOD()
1721 while (position-- > 0 && (result = spl_array_next(intern)) == SUCCESS); in PHP_METHOD()
1723 …if (result == SUCCESS && zend_hash_has_more_elements_ex(aht, spl_array_get_pos_ptr(aht, intern)) =… in PHP_METHOD()
1734 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1736 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1742 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1757 spl_array_object *intern = Z_SPLARRAY_P(object); in spl_array_iterator_key() local
1758 HashTable *aht = spl_array_get_hash_table(intern); in spl_array_iterator_key()
1760 zend_hash_get_current_key_zval_ex(aht, return_value, spl_array_get_pos_ptr(aht, intern)); in spl_array_iterator_key()
1778 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1779 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1785 spl_array_next_ex(intern, aht); in PHP_METHOD()
1793 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1794 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1800 RETURN_BOOL(zend_hash_has_more_elements_ex(aht, spl_array_get_pos_ptr(aht, intern)) == SUCCESS); in PHP_METHOD()
1810 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1811 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1817 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1826 …RETURN_BOOL(Z_TYPE_P(entry) == IS_ARRAY || (Z_TYPE_P(entry) == IS_OBJECT && (intern->ar_flags & SP… in PHP_METHOD()
1850 spl_array_object *intern = Z_SPLARRAY_P(object); in PHP_METHOD() local
1851 HashTable *aht = spl_array_get_hash_table(intern); in PHP_METHOD()
1857 if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) { in PHP_METHOD()
1867 if ((intern->ar_flags & SPL_ARRAY_CHILD_ARRAYS_ONLY) != 0) { in PHP_METHOD()
1875 ZVAL_LONG(&flags, intern->ar_flags); in PHP_METHOD()