php-src/ext/spl
Arnaud Le Blanc 1fbb666545
Use zend_std_build_properties() to access zend_object.properties
The zend_object.properties HashTable needs to be built just in time by calling
rebuild_object_properties() on the object before accessing it. Normally this is
done automatically in zend_std_get_properties(), but we do it manually in a few
places.

In this change I introduce an inline variant of zend_std_build_properties(), and
refactor these places to use it instead of calling rebuild_object_properties()
manually.

rebuild_object_properties() renamed as rebuild_object_properties_internal(), to
enforce usage of zend_std_get_properties() or zend_std_build_properties_ex().

Closes GH-14996
2024-07-18 22:18:38 +02:00
..
tests ext/spl: Add ArrayObject test with property hooks (#15005) 2024-07-18 13:10:00 +01:00
config.m4 ext/spl: Remove spl_engine.h header (#14418) 2024-06-08 23:46:34 +01:00
config.w32 ext/spl: Remove spl_engine.h header (#14418) 2024-06-08 23:46:34 +01:00
CREDITS
php_spl.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
php_spl.h Clean-up some more headers (#14416) 2024-06-08 17:15:36 +01:00
php_spl.stub.php Fix rc info of iterator_to_array (#9080) 2022-07-21 15:05:34 +02:00
php_spl_arginfo.h Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
spl_array.c Use zend_std_build_properties() to access zend_object.properties 2024-07-18 22:18:38 +02:00
spl_array.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_array.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_array_arginfo.h Implement "support doc comments for internal classes and functions" (#13266) 2024-02-25 08:41:31 +01:00
spl_directory.c Use zend_std_build_properties() to access zend_object.properties 2024-07-18 22:18:38 +02:00
spl_directory.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_directory.stub.php Replace @deprecated by #[\Deprecated] for internal functions / class constants (#14750) 2024-07-10 16:47:31 +02:00
spl_directory_arginfo.h Replace @deprecated by #[\Deprecated] for internal functions / class constants (#14750) 2024-07-10 16:47:31 +02:00
spl_dllist.c Use zend_std_build_properties() to access zend_object.properties 2024-07-18 22:18:38 +02:00
spl_dllist.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_dllist.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_dllist_arginfo.h Implement "support doc comments for internal classes and functions" (#13266) 2024-02-25 08:41:31 +01:00
spl_exceptions.c ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_exceptions.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_exceptions.stub.php
spl_exceptions_arginfo.h Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
spl_fixedarray.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
spl_fixedarray.h
spl_fixedarray.stub.php Declare the missing true return types (#13709) 2024-03-16 07:26:37 +01:00
spl_fixedarray_arginfo.h Declare the missing true return types (#13709) 2024-03-16 07:26:37 +01:00
spl_functions.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
spl_functions.h ext/spl: Remove unused typedef 2024-06-15 01:33:09 +01:00
spl_heap.c Use zend_std_build_properties() to access zend_object.properties 2024-07-18 22:18:38 +02:00
spl_heap.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_heap.stub.php Use true as return types for SplHeap (#13147) 2024-01-15 10:09:38 +00:00
spl_heap_arginfo.h Implement "support doc comments for internal classes and functions" (#13266) 2024-02-25 08:41:31 +01:00
spl_iterators.c ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_iterators.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_iterators.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_iterators_arginfo.h Implement "support doc comments for internal classes and functions" (#13266) 2024-02-25 08:41:31 +01:00
spl_observer.c Merge branch 'PHP-8.3' 2024-07-06 23:58:37 +02:00
spl_observer.h ext/spl: Remove some useless header includes and clarify usages 2024-06-15 01:33:09 +01:00
spl_observer.stub.php Implement SeekableIterator for SplObjectStorage (#13665) 2024-05-05 13:26:54 +02:00
spl_observer_arginfo.h Implement SeekableIterator for SplObjectStorage (#13665) 2024-05-05 13:26:54 +02:00