-
Notifications
You must be signed in to change notification settings - Fork 8k
Expose zend_reflection_property_set_raw_value, zend_reflection_property_set_raw_value_without_lazy_initialization #21763
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -50,6 +50,21 @@ extern PHPAPI zend_class_entry *reflection_lazy_object_ptr; | |
|
|
||
| PHPAPI void zend_reflection_class_factory(zend_class_entry *ce, zval *object); | ||
|
|
||
| /* Sets the value of a property, bypassing a set hook if defined. | ||
| * 'cache_slot': An opaque pointer used as an internal cache. The same | ||
| * cache_slot can be used again with the same 'unmangled_name' and 'scope'. | ||
| * Must be zeroed on first use. May be NULL. */ | ||
| PHPAPI void zend_reflection_property_set_raw_value( | ||
| const zend_property_info *prop, zend_string *unmangled_name, | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we add a bit more documentation? I assume
What is the What does the Internally reflection might pass the unmangled name and the class entry separately because they are already available and for performance, but that shouldn't be required from external callers |
||
| void *cache_slot[3], const zend_class_entry *scope, | ||
| zend_object *object, zval *value); | ||
|
|
||
| /* Same as zend_reflection_property_set_raw_value(), but skips lazy object initialization. */ | ||
| PHPAPI void zend_reflection_property_set_raw_value_without_lazy_initialization( | ||
| const zend_property_info *prop, zend_string *unmangled_name, | ||
| void *cache_slot[3], const zend_class_entry *scope, | ||
| zend_object *object, zval *value); | ||
|
|
||
| END_EXTERN_C() | ||
|
|
||
| #endif /* PHP_REFLECTION_H */ | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you want to split up the marking of things as const into a different patch that one should be easier to review and merge while this is still being discussed