#
2501cad2 |
| 04-Oct-2024 |
DanielEScherzer |
Stubs and generated arginfo: remove tentative returns from final methods (#16213) A tentative return type is used to allow userland code that overrides a method to not include a typehint
Stubs and generated arginfo: remove tentative returns from final methods (#16213) A tentative return type is used to allow userland code that overrides a method to not include a typehint without a fatal error; this is inapplicable to final methods (including all methods of final classes), which cannot be overridden. Remove the tentative return declarations, and update the build script to complain about future additions.
show more ...
|
#
7a8b1f68 |
| 30-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: use known strings for prop names when… (#15751) Instead of allocating, using, and then releasing a zend_string for every property name unconditionally, on
Generated arginfo header files: use known strings for prop names when… (#15751) Instead of allocating, using, and then releasing a zend_string for every property name unconditionally, only do so when the minimum supported version of PHP does not have that string in its known strings (ZEND_KNOWN_STRINGS). If the string is already known, just use the known version directly. This is already done for some non-generated class registrations, e.g. in `zend_enum_register_props()`.
show more ...
|
#
2fce0bb8 |
| 16-Sep-2024 |
Ilija Tovilo |
Implement ReflectionProperty::isFinal() Closes GH-15919
|
#
d75a289f |
| 11-Sep-2024 |
Ilija Tovilo |
Implement ReflectionProperty::hasHook[s] Closes GH-15844
|
#
2ced1c92 |
| 11-Sep-2024 |
DanielEScherzer |
Add `ReflectionProperty::isDynamic()` as an alternative to `isDefault()` (#15758) Dynamic properties are generally referred to as "dynamic" properties, while non-dynamic properties are n
Add `ReflectionProperty::isDynamic()` as an alternative to `isDefault()` (#15758) Dynamic properties are generally referred to as "dynamic" properties, while non-dynamic properties are not commonly referred to as "default" properties. Thus, the existing method `ReflectionProperty::isDefault()` has a non obvious name; while an alias could be added for `isNotDynamic()`, a new `isDynamic()` method seems cleaner. The new method returns the opposite of `isDefault()`; dynamic properties are not present on the class by default, and properties present by default are not added dynamically. Closes GH-15754
show more ...
|
#
db545767 |
| 10-Sep-2024 |
DanielEScherzer |
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since this known string was only added in PHP 8.4, no backwards compatibility alias is needed.
show more ...
|
#
53cb8967 |
| 03-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `NULL` for the functions. The implementation of class registration for internal classes, `do_register_internal_class()` in zend_API.c, already skips classes where the functions are `NULL`. By removing these unneeded arrays, we can reduce the size of the header files, while also removing an unneeded call to zend_register_functions() for each internal class with no extra methods.
show more ...
|
#
58aa6fc8 |
| 19-May-2023 |
Arnaud Le Blanc |
Lazy objects RFC: https://wiki.php.net/rfc/lazy-objects Closes GH-15019
|
#
8df557ac |
| 27-Aug-2024 |
Ilija Tovilo |
[RFC] Asymmetric visibility v2 (GH-15063) Co-authored-by: Larry Garfield <larry@garfieldtech.com>
|
#
8d12f666 |
| 24-Aug-2024 |
Máté Kocsis |
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_Internal
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ...; This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags. The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
show more ...
|
#
780a8280 |
| 14-Jul-2024 |
Ilija Tovilo |
[RFC] Property hooks (#13455) RFC: https://wiki.php.net/rfc/property-hooks Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
#
29f98e74 |
| 10-Jul-2024 |
Tim Düsterhus |
Replace `@deprecated` by `#[\Deprecated]` for internal functions / class constants (#14750) Co-authored-by: Gina Peter Banyard <girgias@php.net> Co-authored-by: Niels Dossche <7771979+ni
Replace `@deprecated` by `#[\Deprecated]` for internal functions / class constants (#14750) Co-authored-by: Gina Peter Banyard <girgias@php.net> Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
show more ...
|
#
8a872062 |
| 29-May-2024 |
Tim Düsterhus |
reflection: Add `ReflectionGenerator::isClosed()` (#14358) * reflection: Add `ReflectionGenerator::isClosed()` see https://github.com/php/php-src/pull/14167#issuecomment-2133641998
reflection: Add `ReflectionGenerator::isClosed()` (#14358) * reflection: Add `ReflectionGenerator::isClosed()` see https://github.com/php/php-src/pull/14167#issuecomment-2133641998 * Fix test expectation * Drop `{{{` / `}}}` comments around `ReflectionGenerator::isClosed()`
show more ...
|
#
b5ffac7f |
| 30-Apr-2024 |
Tim Düsterhus |
Add ReflectionClassConstant::isDeprecated() (#14086) This is in preparation for php/php-src#11293 and for consistency with ReflectionConstant::isDeprecated() that was added in php/php-sr
Add ReflectionClassConstant::isDeprecated() (#14086) This is in preparation for php/php-src#11293 and for consistency with ReflectionConstant::isDeprecated() that was added in php/php-src#13669.
show more ...
|
#
e23440e5 |
| 11-Mar-2024 |
Ilija Tovilo |
Implement reflection constant Fixes GH-13570 Closes GH-13669
|
#
577db994 |
| 13-Mar-2024 |
Máté Kocsis |
Verify stub aliases in CI (#13682) In the same time, let's not verify implementation aliases since they may now legitimately differ from their aliased function/method counterparts (think abo
Verify stub aliases in CI (#13682) In the same time, let's not verify implementation aliases since they may now legitimately differ from their aliased function/method counterparts (think about the ext/dom refactoring where e.g. many return type declarations have changed). Additionally, unnecessary `@no-verify` tags are cleaned up.
show more ...
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
10957e49 |
| 18-Feb-2024 |
Máté Kocsis |
Do not generate frameless info items when func info generation is disabled While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
|
#
3b5986db |
| 09-Dec-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement GH-12908: Show attribute name/class in ReflectionAttribute dump This is consistent with how many other Reflection classes have a name field, and it makes debugging easier.
Implement GH-12908: Show attribute name/class in ReflectionAttribute dump This is consistent with how many other Reflection classes have a name field, and it makes debugging easier. Closes GH-12908. Closes GH-12917.
show more ...
|
#
47789969 |
| 04-Feb-2024 |
Máté Kocsis |
Revert "Declare the missing ReflectionMethod::$name property" This reverts commit b0e83aabec6cdc30950a69068e82ec86fd68e564. The property is inherited from ReflectionFunctionAbstract.
|
#
b0e83aab |
| 03-Feb-2024 |
Máté Kocsis |
Declare the missing ReflectionMethod::$name property
|
#
e8d8a5fe |
| 28-Oct-2023 |
Jorg Adam Sowa |
Typed constants in reflection extension (#12378)
|
#
f41220fe |
| 13-Jul-2023 |
Máté Kocsis |
Implement ReflectionMethod::createFromMethodName()
|
#
7b355e8d |
| 04-Jul-2023 |
Ilija Tovilo |
Revert "Merge branch 'PHP-8.2'" This reverts commit 45a3f178dc226b69f5d72f10285bc2ad139b2c1c, reversing changes made to b2a54bc6af4bf645b5bb2601621c12b31bfbff0c.
|
#
45a3f178 |
| 03-Jul-2023 |
Máté Kocsis |
Merge branch 'PHP-8.2' * PHP-8.2: Fix GH-9967 Add support for generating custom function, class const, and property attributes in stubs Closes GH-10170
|