Lines Matching refs:intern

71 	spl_SplObjectStorage *intern = spl_object_storage_from_obj(object);  in spl_SplObjectStorage_free_storage()  local
73 zend_object_std_dtor(&intern->std); in spl_SplObjectStorage_free_storage()
75 zend_hash_destroy(&intern->storage); in spl_SplObjectStorage_free_storage()
78 static int spl_object_storage_get_hash(zend_hash_key *key, spl_SplObjectStorage *intern, zval *obj)… in spl_object_storage_get_hash() argument
79 if (intern->fptr_get_hash) { in spl_object_storage_get_hash()
82 &intern->std, intern->std.ce, &intern->fptr_get_hash, "getHash", &rv, obj); in spl_object_storage_get_hash()
103 static void spl_object_storage_free_hash(spl_SplObjectStorage *intern, zend_hash_key *key) { in spl_object_storage_free_hash() argument
117 static spl_SplObjectStorageElement* spl_object_storage_get(spl_SplObjectStorage *intern, zend_hash_… in spl_object_storage_get() argument
120 return zend_hash_find_ptr(&intern->storage, key->key); in spl_object_storage_get()
122 return zend_hash_index_find_ptr(&intern->storage, key->h); in spl_object_storage_get()
126 spl_SplObjectStorageElement *spl_object_storage_attach(spl_SplObjectStorage *intern, zval *obj, zva… in spl_object_storage_attach() argument
130 if (spl_object_storage_get_hash(&key, intern, obj) == FAILURE) { in spl_object_storage_attach()
134 pelement = spl_object_storage_get(intern, &key); in spl_object_storage_attach()
143 spl_object_storage_free_hash(intern, &key); in spl_object_storage_attach()
154 …pelement = zend_hash_update_mem(&intern->storage, key.key, &element, sizeof(spl_SplObjectStorageEl… in spl_object_storage_attach()
156 …pelement = zend_hash_index_update_mem(&intern->storage, key.h, &element, sizeof(spl_SplObjectStora… in spl_object_storage_attach()
158 spl_object_storage_free_hash(intern, &key); in spl_object_storage_attach()
162 static int spl_object_storage_detach(spl_SplObjectStorage *intern, zval *obj) /* {{{ */ in spl_object_storage_detach() argument
166 if (spl_object_storage_get_hash(&key, intern, obj) == FAILURE) { in spl_object_storage_detach()
170 ret = zend_hash_del(&intern->storage, key.key); in spl_object_storage_detach()
172 ret = zend_hash_index_del(&intern->storage, key.h); in spl_object_storage_detach()
174 spl_object_storage_free_hash(intern, &key); in spl_object_storage_detach()
179 void spl_object_storage_addall(spl_SplObjectStorage *intern, spl_SplObjectStorage *other) { /* {{{ … in spl_object_storage_addall() argument
183 spl_object_storage_attach(intern, &element->obj, &element->inf); in spl_object_storage_addall()
186 intern->index = 0; in spl_object_storage_addall()
191 spl_SplObjectStorage *intern; in spl_object_storage_new_ex() local
194 intern = emalloc(sizeof(spl_SplObjectStorage) + zend_object_properties_size(parent)); in spl_object_storage_new_ex()
195 memset(intern, 0, sizeof(spl_SplObjectStorage) - sizeof(zval)); in spl_object_storage_new_ex()
196 intern->pos = 0; in spl_object_storage_new_ex()
198 zend_object_std_init(&intern->std, class_type); in spl_object_storage_new_ex()
199 object_properties_init(&intern->std, class_type); in spl_object_storage_new_ex()
201 zend_hash_init(&intern->storage, 0, NULL, spl_object_storage_dtor, 0); in spl_object_storage_new_ex()
203 intern->std.handlers = &spl_handler_SplObjectStorage; in spl_object_storage_new_ex()
208intern->fptr_get_hash = zend_hash_str_find_ptr(&class_type->function_table, "gethash", sizeof("get… in spl_object_storage_new_ex()
209 if (intern->fptr_get_hash->common.scope == spl_ce_SplObjectStorage) { in spl_object_storage_new_ex()
210 intern->fptr_get_hash = NULL; in spl_object_storage_new_ex()
221 spl_object_storage_addall(intern, other); in spl_object_storage_new_ex()
224 return &intern->std; in spl_object_storage_new_ex()
243 spl_SplObjectStorage *intern = spl_object_storage_from_obj(obj); in spl_object_storage_debug_info() local
258 ZEND_HASH_FOREACH_PTR(&intern->storage, element) { in spl_object_storage_debug_info()
281 spl_SplObjectStorage *intern = spl_object_storage_from_obj(obj); in spl_object_storage_get_gc() local
285 ZEND_HASH_FOREACH_PTR(&intern->storage, element) { in spl_object_storage_get_gc()
329 int spl_object_storage_contains(spl_SplObjectStorage *intern, zval *obj) /* {{{ */ in spl_object_storage_contains() argument
333 if (spl_object_storage_get_hash(&key, intern, obj) == FAILURE) { in spl_object_storage_contains()
338 found = zend_hash_exists(&intern->storage, key.key); in spl_object_storage_contains()
340 found = zend_hash_index_exists(&intern->storage, key.h); in spl_object_storage_contains()
342 spl_object_storage_free_hash(intern, &key); in spl_object_storage_contains()
351 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
356 spl_object_storage_attach(intern, obj, inf); in PHP_METHOD()
363 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
368 spl_object_storage_detach(intern, obj); in PHP_METHOD()
370 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
371 intern->index = 0; in PHP_METHOD()
392 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
399 if (spl_object_storage_get_hash(&key, intern, obj) == FAILURE) { in PHP_METHOD()
403 element = spl_object_storage_get(intern, &key); in PHP_METHOD()
404 spl_object_storage_free_hash(intern, &key); in PHP_METHOD()
419 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
428 spl_object_storage_addall(intern, other); in PHP_METHOD()
430 RETURN_LONG(zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
437 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
449 if (spl_object_storage_detach(intern, &element->obj) == FAILURE) { in PHP_METHOD()
454 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
455 intern->index = 0; in PHP_METHOD()
457 RETURN_LONG(zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
464 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
474 ZEND_HASH_FOREACH_PTR(&intern->storage, element) { in PHP_METHOD()
476 spl_object_storage_detach(intern, &element->obj); in PHP_METHOD()
480 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
481 intern->index = 0; in PHP_METHOD()
483 RETURN_LONG(zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
491 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
496 RETURN_BOOL(spl_object_storage_contains(intern, obj)); in PHP_METHOD()
502 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
513 ret = zend_hash_num_elements(&intern->storage); in PHP_METHOD()
515 ret = php_count_recursive(&intern->storage); in PHP_METHOD()
522 RETURN_LONG(zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
528 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
534 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
535 intern->index = 0; in PHP_METHOD()
541 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
547 RETURN_BOOL(zend_hash_has_more_elements_ex(&intern->storage, &intern->pos) == SUCCESS); in PHP_METHOD()
553 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
559 RETURN_LONG(intern->index); in PHP_METHOD()
566 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
572 if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) == NULL) { in PHP_METHOD()
582 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
588 if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) == NULL) { in PHP_METHOD()
598 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
605 if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) == NULL) { in PHP_METHOD()
615 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
621 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in PHP_METHOD()
622 intern->index++; in PHP_METHOD()
628 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
644 ZVAL_LONG(&flags, zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
647 zend_hash_internal_pointer_reset_ex(&intern->storage, &pos); in PHP_METHOD()
649 while (zend_hash_has_more_elements_ex(&intern->storage, &pos) == SUCCESS) { in PHP_METHOD()
650 if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &pos)) == NULL) { in PHP_METHOD()
659 zend_hash_move_forward_ex(&intern->storage, &pos); in PHP_METHOD()
678 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
750 if (spl_object_storage_get_hash(&key, intern, &entry) == FAILURE) { in PHP_METHOD()
755 pelement = spl_object_storage_get(intern, &key); in PHP_METHOD()
756 spl_object_storage_free_hash(intern, &key); in PHP_METHOD()
765 element = spl_object_storage_attach(intern, &entry, Z_ISUNDEF(inf)?NULL:&inf); in PHP_METHOD()
791 object_properties_load(&intern->std, Z_ARRVAL_P(pmembers)); in PHP_METHOD()
806 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
817 array_init_size(&tmp, 2 * zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
818 ZEND_HASH_FOREACH_PTR(&intern->storage, elem) { in PHP_METHOD()
827 ZVAL_ARR(&tmp, zend_std_get_properties(&intern->std)); in PHP_METHOD()
835 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
865 spl_object_storage_attach(intern, key, val); in PHP_METHOD()
872 object_properties_load(&intern->std, Z_ARRVAL_P(members_zv)); in PHP_METHOD()
899 spl_SplObjectStorage *intern; in PHP_METHOD() local
906 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
907 intern->flags = flags; in PHP_METHOD()
914 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
919 RETURN_LONG(intern->flags); in PHP_METHOD()
926 spl_SplObjectStorage *intern; in PHP_METHOD() local
927 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
929 if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &intern->flags) == FAILURE) { in PHP_METHOD()
938 spl_SplObjectStorage *intern; in PHP_METHOD() local
951 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
962 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
963 while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL) { in PHP_METHOD()
968 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in PHP_METHOD()
971 spl_object_storage_attach(intern, iterator, &zinfo); in PHP_METHOD()
973 spl_object_storage_attach(intern, iterator, NULL); in PHP_METHOD()
982 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
987 spl_object_storage_detach(intern, iterator); in PHP_METHOD()
989 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
990 intern->index = 0; in PHP_METHOD()
997 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
1002 RETURN_BOOL(spl_object_storage_contains(intern, iterator)); in PHP_METHOD()
1007 spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD() local
1013 RETURN_LONG(zend_hash_num_elements(&intern->storage)); in PHP_METHOD()
1019 spl_SplObjectStorage *intern; in PHP_METHOD() local
1023 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
1029 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1030 …while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !E… in PHP_METHOD()
1033 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1041 spl_SplObjectStorage *intern; in PHP_METHOD() local
1045 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
1051 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1052 …while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !E… in PHP_METHOD()
1055 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1063 spl_SplObjectStorage *intern; in PHP_METHOD() local
1068 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
1074 if (!zend_hash_num_elements(&intern->storage)) { in PHP_METHOD()
1078 expect = (intern->flags & MIT_NEED_ALL) ? 1 : 0; in PHP_METHOD()
1080 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1081 …while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !E… in PHP_METHOD()
1096 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in PHP_METHOD()
1103 static void spl_multiple_iterator_get_all(spl_SplObjectStorage *intern, int get_type, zval *return_… in spl_multiple_iterator_get_all() argument
1109 num_elements = zend_hash_num_elements(&intern->storage); in spl_multiple_iterator_get_all()
1116 zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos); in spl_multiple_iterator_get_all()
1117 …while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !E… in spl_multiple_iterator_get_all()
1138 } else if (intern->flags & MIT_NEED_ALL) { in spl_multiple_iterator_get_all()
1149 if (intern->flags & MIT_KEYS_ASSOC) { in spl_multiple_iterator_get_all()
1166 zend_hash_move_forward_ex(&intern->storage, &intern->pos); in spl_multiple_iterator_get_all()
1174 spl_SplObjectStorage *intern; in PHP_METHOD() local
1175 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
1181 spl_multiple_iterator_get_all(intern, SPL_MULTIPLE_ITERATOR_GET_ALL_CURRENT, return_value); in PHP_METHOD()
1188 spl_SplObjectStorage *intern; in PHP_METHOD() local
1189 intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); in PHP_METHOD()
1195 spl_multiple_iterator_get_all(intern, SPL_MULTIPLE_ITERATOR_GET_ALL_KEY, return_value); in PHP_METHOD()