#
b3bbb8fe |
| 19-Jan-2021 |
Dmitry Stogov |
Mark classes cached by opcache by ZEND_ACC_CACHED flag and prevent useless copying and desrpoying of immutable data.
|
#
c195fcd6 |
| 19-Jan-2021 |
Dmitry Stogov |
Avoid modification of trait info
|
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
#
dd335359 |
| 05-Jan-2021 |
Nikita Popov |
Fix infinite recursion in unlinked_instanceof I suspect this is only a partial fix for the issue, it's probably possible to recurse through a more complex pathway as well. Fixes
Fix infinite recursion in unlinked_instanceof I suspect this is only a partial fix for the issue, it's probably possible to recurse through a more complex pathway as well. Fixes oss-fuzz #28961.
show more ...
|
#
912cb8b8 |
| 24-Nov-2020 |
Nikita Popov |
Fixed bug #80391 Iterable was not considered a subtype of array|object, and thus also not a subtype of mixed.
|
#
670fe594 |
| 04-Nov-2020 |
Nikita Popov |
Fix static variable in methods inheritance during preloading This is now "bug compatible" with the normal behavior, and more imporantly, does not crash :)
|
#
9fd8e00f |
| 03-Nov-2020 |
Nikita Popov |
Fix use of type copy ctor when importing trait properties We shouldn't call the copy constructor inside the original type, duh.
|
#
7e553175 |
| 03-Nov-2020 |
Nikita Popov |
Allow unlinked classes when performing in_compilation variance check As preloading runs in in_compilation mode, we also need to allow use of unlinked classes in lookup_class().
|
#
ee934f82 |
| 03-Nov-2020 |
Nikita Popov |
Fix variance checks on resolved union types This is a bit annoying: When preloading is used, types might be resolved during inheritance checks, so we need to deal with CE types rathe
Fix variance checks on resolved union types This is a bit annoying: When preloading is used, types might be resolved during inheritance checks, so we need to deal with CE types rather than just NAME types everywhere.
show more ...
|
#
4ece62fb |
| 15-Oct-2020 |
Nikita Popov |
Fix bug #80055 We need to perform trait scope fixup for both methods involved in the inheritance check. For that purpose we already need to thread through a separate fn scope through
Fix bug #80055 We need to perform trait scope fixup for both methods involved in the inheritance check. For that purpose we already need to thread through a separate fn scope through the entire inheritance checking machinery.
show more ...
|
#
3b7c8bb9 |
| 06-Oct-2020 |
Nikita Popov |
Fix bug #80126 When performing an unlinked instanceof, we also need to consider interfaces of parent classes, as they may not have been inherited yet.
|
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
#
7fd4212c |
| 20-Jul-2020 |
Nikita Popov |
Add common code for magic method assignment This was repeated three times.
|
#
272b887b |
| 16-Apr-2020 |
Pedro Magalhães |
Ignore inheritance rules on private methods Closes GH-5401
|
#
1314ccbf |
| 26-Jun-2020 |
Nikita Popov |
Cache __unserialize() instead of unserialize() We should use these cache slots for the new object serialization mechanism rather than the old one.
|
#
15846ff1 |
| 17-Jun-2020 |
Nikita Popov |
Add ZVAL_OBJ_COPY macro For the common ZVAL_OBJ + GC_ADDREF pattern. This mirrors the existing ZVAL_STR_COPY API.
|
#
92c4b065 |
| 16-Jun-2020 |
Christoph M. Becker |
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `asser
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `assert(0)` to mark unreachable code does no longer trigger C4715[1] warnings in debug builds. This may be useful for other compilers as well. [1] <https://docs.microsoft.com/de-de/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4715?view=vs-2019>
show more ...
|
#
a7908c2d |
| 24-May-2020 |
Benjamin Eberlei |
Add Attributes Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
#
aec4c0fd |
| 27-Mar-2020 |
Máté Kocsis |
Add support for the mixed type RFC: https://wiki.php.net/rfc/mixed_type_v2 Closes GH-5313 Co-authored-by: Dan Ackroyd <danack@basereality.com>
|
#
21a9ad91 |
| 04-May-2020 |
Nikita Popov |
Fixed bug #79548 When duplicating user functions with static variables, make sure that we init a new map ptr slot for the static variables.
|
#
cf7c6828 |
| 23-Apr-2020 |
Nikita Popov |
Fix treatment of "self" when validating against trait method If we're validating a class method against a trait method, we need to treat "self" in the trait method as the class where the
Fix treatment of "self" when validating against trait method If we're validating a class method against a trait method, we need to treat "self" in the trait method as the class where the method is used. To achieve this, we need to thread the proto scope through all methods, so it can be provided separately from proto.common->scope.
show more ...
|
#
fe9860c2 |
| 09-Apr-2020 |
Máté Kocsis |
Improve the default value format in incompatible signature error messages Closes GH-5361
|
#
3709e74b |
| 06-Apr-2020 |
Máté Kocsis |
Store default parameter values of internal functions in arg info Closes GH-5353. From now on, PHP will have reflection information about default values of parameters of internal function
Store default parameter values of internal functions in arg info Closes GH-5353. From now on, PHP will have reflection information about default values of parameters of internal functions. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
c81cf1c7 |
| 07-Apr-2020 |
Nikita Popov |
Assert that arginfo parameter name is present
|
#
f74e30c0 |
| 09-Jan-2020 |
Nikita Popov |
Check abstract method signatures coming from traits RFC: https://wiki.php.net/rfc/abstract_trait_method_validation Closes GH-5068.
|