History log of /PHP-8.0/Zend/zend_inheritance.c (Results 1 – 25 of 252)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# d478ae73 05-Nov-2021 Nikita Popov

Don't implement Stringable on traits

Traits do not support interfaces, so we should not implement
Stringable on them.

Also check the __toString() return type in the same way oth

Don't implement Stringable on traits

Traits do not support interfaces, so we should not implement
Stringable on them.

Also check the __toString() return type in the same way other
magic methods do, otherwise we would now miss the check in the
trait case.

show more ...


# 462271c7 04-Nov-2021 Nikita Popov

Fix typo

[ci skip]


# d3932682 04-Nov-2021 Nikita Popov

Fixed bug #81582

If __toString() comes from a trait, implement Stringable during
inheritance.


# be821736 23-Sep-2021 Nikita Popov

Bail on exception during delayed autoload

We shouldn't try to load further classes if one autoload throws.

This fixes oss-fuzz #38881, though I believe there are still two
deepe

Bail on exception during delayed autoload

We shouldn't try to load further classes if one autoload throws.

This fixes oss-fuzz #38881, though I believe there are still two
deeper issues here: 1) Why do we allow autoloading with an active
exception? 2) Exception save & restore should probably also save
and restore the exception opline.

show more ...


# 7fbfcfa8 10-May-2021 Nikita Popov

Don't autoload classes during covariant type check against mixed

mixed should be behaving the same way as no type here, and not
require X to be autoloaded. Everything apart from "void" i

Don't autoload classes during covariant type check against mixed

mixed should be behaving the same way as no type here, and not
require X to be autoloaded. Everything apart from "void" is trivially
covariant to "mixed".

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 ...


Revision tags: php-8.0.0, php-7.3.25, php-7.4.13
# 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.


Revision tags: php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1
# 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 ...


Revision tags: php-7.4.12, php-8.0.0RC3, php-7.3.24
# 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 ...


Revision tags: php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1
# 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.


Revision tags: php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22
# 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 ...


Revision tags: php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1
# 7fd4212c 20-Jul-2020 Nikita Popov

Add common code for magic method assignment

This was repeated three times.


Revision tags: php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1
# 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>


Revision tags: php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1
# 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 ...


1234567891011