Máté Kocsis
d9a7f6741e
Deprecate ReflectionProperty::setValue() with an incorrect 1st arg type
2023-07-18 12:59:21 +02:00
Máté Kocsis
f41220fe5d
Implement ReflectionMethod::createFromMethodName()
2023-07-18 12:59:21 +02:00
Ilija Tovilo
1a0ef2c1cc
Revert "Remove name field from the zend_constant struct ( #10954 )"
...
This reverts commit f42992f580
.
Closes GH-11604
2023-07-17 22:32:41 +02:00
Niels Dossche
62a940880e
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10914: OPCache with Enum and Callback functions results in segmentation fault
2023-07-11 17:44:37 +02:00
Niels Dossche
832a3d193f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-10914: OPCache with Enum and Callback functions results in segmentation fault
2023-07-11 17:40:21 +02:00
Niels Dossche
bc42179133
Fix GH-10914: OPCache with Enum and Callback functions results in segmentation fault
...
See linked issue for analysis.
Closes GH-11675.
2023-07-11 17:38:09 +02:00
Ilija Tovilo
ad1b70d67e
Revert "Revert "Remove name field from the zend_constant struct ( #10954 )""
...
This reverts commit 9f4bd3040d
.
2023-07-04 16:42:40 +02:00
Máté Kocsis
9f4bd3040d
Revert "Remove name field from the zend_constant struct ( #10954 )"
...
This reverts commit f42992f580
.
Fix GH-11423
2023-07-03 15:16:24 +02:00
George Peter Banyard
d5ad75108e
More usage of known zend_str instead of C string ( #11381 )
2023-06-08 13:03:29 +01:00
Ilija Tovilo
0b1d750d91
Allow arbitrary expressions in static variable initializer
...
Closes GH-9301
2023-05-24 20:17:31 +02:00
Máté Kocsis
414f71a902
Typed class constants ( #10444 )
...
RFC: https://wiki.php.net/rfc/typed_class_constants
Co-Authored-By: Ben <7127204+moliata@users.noreply.github.com>
Co-Authored-By: Bob Weinand <3154871+bwoebi@users.noreply.github.com>
Co-Authored-By: Ilija Tovilo <ilija.tovilo@me.com>
2023-04-16 22:20:26 +02:00
Máté Kocsis
f42992f580
Remove name field from the zend_constant struct ( #10954 )
...
As global constant names are case-sensitive now, we don't have to store them separately above the constant table.
2023-04-03 22:13:47 +02:00
Niels Dossche
3ab6e76ed8
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10983: State-dependant segfault in ReflectionObject::getProperties
Fix GH-10990: mail() throws TypeError after iterating over $additional_headers array by reference
Fix GH-8841: php-cli core dump calling a badly formed function
2023-04-01 20:23:57 +02:00
Niels Dossche
dd29b66dfa
Fix GH-10983: State-dependant segfault in ReflectionObject::getProperties
...
This is a variant of GH-10200, but in a different place.
Basically, simplexml may create a properties table that's packed instead
of associative. But the macro that was used to loop over the properties
table assumed that it was always associative. Replace it by the macro
that figures it out automatically which one of the two it is.
For test: Co-authored-by: jnvsor
Closes GH-10984.
2023-04-01 20:19:14 +02:00
Remi Collet
dd109926ed
Merge branch 'PHP-8.2'
...
* PHP-8.2:
remove assert raising strange behavior with GCC 10
2023-03-15 09:06:29 +01:00
Remi Collet
420469bd25
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
remove assert raising strange behavior with GCC 10
2023-03-15 09:06:05 +01:00
Remi Collet
bdf2f722ca
remove assert raising strange behavior with GCC 10
2023-03-15 09:05:44 +01:00
Ilija Tovilo
ab99072608
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix segfault when using ReflectionFiber (fixes #10439 )
2023-02-23 23:28:31 +01:00
Ilija Tovilo
f1818d726f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix segfault when using ReflectionFiber (fixes #10439 )
2023-02-23 23:27:55 +01:00
Daniil Gentili
8d1c0a1403
Fix segfault when using ReflectionFiber ( fixes #10439 )
...
Closes GH-10478
2023-02-23 23:20:27 +01:00
David Carlier
33f8d67177
Merge branch 'PHP-8.2'
2023-02-19 20:31:53 +00:00
David Carlier
2f4ba1b1fb
Merge branch 'PHP-8.1' into PHP-8.2
2023-02-19 20:30:59 +00:00
Niels Dossche
ae16471628
Fix GH-10623: ReflectionFunction::getClosureUsedVariables() returns empty array in presence of variadic arguments
...
The code was missing the handling for the RECV_VARIADIC instruction.
Additional regression test for GH-10623
Co-authored-by: Fabio Ivona <fabio.ivona@defstudio.it>
2023-02-19 20:18:28 +00:00
Michael Voříšek
a11e9c9d02
Simplify php_reflection.c, class name cannot start with backslash ( #10536 )
...
* fix comment typo
* (normalized) class name never start with backslash
2023-02-11 14:50:25 +01:00
George Peter Banyard
50a2de78a8
Do not build unnecessary FCI in Reflection
2023-02-05 17:11:49 +00:00
Máté Kocsis
7936c8085e
Fix GH-8329 Print true/false instead of bool in error and debug messages ( #8385 )
2023-01-23 10:52:14 +01:00
Ilija Tovilo
e186765a4d
Throw in ReflectionMethod::__construct() when initialized with private parent method
...
Fixes GH-9470
Closes GH-9640
2022-10-10 00:49:10 +02:00
Bob Weinand
a01dd9feda
Revert "Port all internally used classes to use default_object_handlers"
...
This reverts commit 94ee4f9834
.
The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.
2022-09-14 11:13:23 +02:00
Ilija Tovilo
a85c757dcb
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Private method incorrectly marked as "overwrites" in reflection
2022-09-08 10:44:32 +02:00
Ilija Tovilo
a795f3ebc6
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Private method incorrectly marked as "overwrites" in reflection
2022-09-08 10:44:13 +02:00
Ilija Tovilo
1435fc6262
Private method incorrectly marked as "overwrites" in reflection
...
Fix GH-9409
Closes GH-9469
2022-09-08 10:43:25 +02:00
Arnaud Le Blanc
dcde9b85a6
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
[ci skip] NEWS
Add tests
Fix GH-8932: Provide a way to get the called-scope of closures (#9299 )
2022-09-02 13:55:57 +02:00
Arnaud Le Blanc
409baac29c
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
[ci skip] NEWS
Add tests
Fix GH-8932: Provide a way to get the called-scope of closures (#9299 )
2022-09-02 13:53:14 +02:00
Nicolas Grekas
93f11d8429
Fix GH-8932: Provide a way to get the called-scope of closures ( #9299 )
...
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2022-09-02 13:32:50 +02:00
Bob Weinand
94ee4f9834
Port all internally used classes to use default_object_handlers
...
Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
2022-08-31 16:45:27 +02:00
Ilija Tovilo
2152bb2dfa
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix attribute target validation on fake closures
2022-07-29 12:15:38 +02:00
Ilija Tovilo
565a416e87
Fix attribute target validation on fake closures
...
Fixes GH-8982
Closes GH-9173
2022-07-29 12:14:44 +02:00
Máté Kocsis
e4d79ce24c
Declare ext/reflection constants in stubs ( #9111 )
2022-07-23 12:59:30 +02:00
Go Kudo
4d8dd8d258
Implement Random Extension
...
https://wiki.php.net/rfc/rng_extension
https://wiki.php.net/rfc/random_extension_improvement
2022-07-19 10:27:38 +01:00
Dmitry Stogov
c6eb5dc5fd
Fix possible crash in case of exception
...
Fixes oss-fuzz #49068
2022-07-18 15:40:11 +03:00
Pierrick Charron
4dd66b8ce0
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed bug GH-8943 Reflection::getModifiersNames() with readonly modifier
2022-07-07 17:03:25 -04:00
Pierrick Charron
c650e67c90
Fixed bug GH-8943 Reflection::getModifiersNames() with readonly modifier
2022-07-07 16:59:54 -04:00
George Peter Banyard
0ae6a67550
Add true as a type ( #8326 )
...
RFC: https://wiki.php.net/rfc/true-type
2022-06-12 23:28:19 +01:00
Ilija Tovilo
ddc0b490f7
Allow arbitrary const expressions in backed enums
...
Closes GH-7821
Closes GH-8190
Closes GH-8418
2022-06-12 22:56:05 +02:00
George Peter Banyard
b40ae80804
Convert iterable into an internal alias for Traversable|array ( #7309 )
...
This does a compile time transformation of ``iterable`` into ``Traversable|array`` which simplifies some of the LSP variance handling.
The arginfo generation script from stubs is updated to produce a union type when it encounters the type ``iterable``
Extension functions which do not regenerate the arginfo, or write them manually are still supported by mimicking the compile time transformation while registering the function.
Type Reflection is preserved for single ``iterable`` (and ``?iterable``) to produce a ReflectionNamedType with name ``iterable``, however usage of ``iterable`` in union types will be converted to ``array|Traversable``
2022-06-07 13:35:34 +01:00
Dmitry Stogov
7451b8b6b0
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-06-06 11:38:37 +03:00
Dmitry Stogov
74744f3c0d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-06-06 11:38:29 +03:00
Dmitry Stogov
088e5677fb
Fix memory leak
...
This fixes oss-fuzz #47791
2022-06-06 11:35:01 +03:00
Máté Kocsis
7850c10389
Add support for readonly classes ( #7305 )
...
RFC: https://wiki.php.net/rfc/readonly_classes
2022-05-16 20:40:23 +02:00
Ollie Read
f590782b60
Add ReflectionMethod::hasPrototype method
...
Closes GH-8487.
2022-05-09 16:48:54 +02:00