History log of /PHP-8.4/Zend/zend_compile.c (Results 101 – 125 of 2585)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 01eb06a0 04-Oct-2022 George Peter Banyard

Follow-up fix for GH-9655

Type needs to be rendered as a DNF type and not X&Y|null


# 279ffdb5 02-Oct-2022 HypeMC

Fix GH-9655: Allow pure intersection types to be implicitly nullable

Closes GH-9659


# bb79ef77 16-Sep-2022 George Peter Banyard

Fix GH-9556 "iterable" alias "array|Traversable" breaks PHP 8.1 code

Closes GH-9558


# 235e152e 19-Sep-2022 George Peter Banyard

Move object/class redundancy check into union type handling

As such a redundancy can only happen for union types


# c801076d 16-Sep-2022 George Peter Banyard

Fix GH-9556 "iterable" alias "array|Traversable" breaks PHP 8.1 code

Closes GH-9558


# 74ae498a 19-Sep-2022 George Peter Banyard

Move object/class redundancy check into union type handling

As such a redundancy can only happen for union types


# 7e860eae 14-Sep-2022 Ilija Tovilo

Don't throw CompileError after parsing

Aborting parsing is not safe, a fatal error is necessary.

See https://github.com/php/php-src/commit/b9f7123c5e4ccdc3c381ab949ff01e3c14f3465c


# 5a0b68be 14-Sep-2022 Bob Weinand

Revert "Store default object handlers alongside the class entry"

This reverts commit 9e6eab3c139b41dc976dd5305fd1a6e387e5e27f.

Reverted along a01dd9fedaecd2e5b95bc5c2e8d6542116addea

Revert "Store default object handlers alongside the class entry"

This reverts commit 9e6eab3c139b41dc976dd5305fd1a6e387e5e27f.

Reverted along a01dd9fedaecd2e5b95bc5c2e8d6542116addeae.

show more ...


# 6c4d24e4 10-Sep-2022 George Peter Banyard

Update cache slot size calculation in compact_literals.c


# 9286101d 10-Sep-2022 George Peter Banyard

Fix GH-9516: (A&B)|D as a param should allow AB or D. Not just A.

The issue was that we didn't compute enough cache slots for DNF types.
Nor progressed throught the CE's in the cache slo

Fix GH-9516: (A&B)|D as a param should allow AB or D. Not just A.

The issue was that we didn't compute enough cache slots for DNF types.
Nor progressed throught the CE's in the cache slot, meaning we were only checking if the value passed
satisfied the first type of the nested intersection type.

show more ...


# d5373eac 02-Sep-2022 Ilija Tovilo

Fix lsp error in eval'd code referring to incorrect class for static type

Fixes GH-9407
Closes GH-9471


# 2cfb028e 01-Sep-2022 Ilija Tovilo

Fix class name FQN when AST dumping new and class const

Fixes GH-9447
Closes GH-9462


Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22
# 9e6eab3c 22-Jul-2022 Bob Weinand

Store default object handlers alongside the class entry

Object handlers being separate from class entries is a legacy inherited from PHP 5. Today it has little benefit to keep them separate:

Store default object handlers alongside the class entry

Object handlers being separate from class entries is a legacy inherited from PHP 5. Today it has little benefit to keep them separate: in fact, accessing object handlers usually requires not-so-safe hacks.
While it is possible to swap handlers in a custom installed create_object handler, this mostly is tedious, as well as it requires allocating the object handlers struct at runtime, possibly caching it etc..

This allows extensions, which intend to observe other classes to install their own class handlers.
The life cycle of internal classes may now be simply observed by swapping the class handlers in post_startup stage.
The life cycle of userland classes may be observed by iterating over the new classes in zend_compile_file and zend_compile_string and then swapping their handlers.

In general, this would also be a first step in directly tying the object handlers to classes. Especially given that I am not aware of any case where the object handlers would be different between various instances of a given class.

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


# b9f7123c 23-Aug-2022 George Peter Banyard

Check at compile time that a built-in class is not being aliased (#9402)

If one tries to use such an alias as a type declaration the following error would be raised:
Fatal error: Cannot

Check at compile time that a built-in class is not being aliased (#9402)

If one tries to use such an alias as a type declaration the following error would be raised:
Fatal error: Cannot use 'int' as class name as it is reserved

show more ...


Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1
# bf427b73 11-Jul-2022 Bob Weinand

Add an API to observe functions and classes being linked

To observe when the functions and classes start being officially available to the user

Signed-off-by: Bob Weinand <bobwei9@h

Add an API to observe functions and classes being linked

To observe when the functions and classes start being officially available to the user

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


# 9b984f52 23-Aug-2022 Ollie Read

Enum error message consistency (#9350)


# 73c2d79f 22-Aug-2022 Dmitry Stogov

Fix memory leaks

Fixes oss-fuzz #50078


# 6a50af26 08-Aug-2022 Tyson Andre

Make `"{$g{'h'}}"` emit fatal error and no incorrect deprecation notice in 8.2 (#9264)

The ast node flag constants ZEND_DIM_ALTERNATIVE_SYNTAX and
ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR no

Make `"{$g{'h'}}"` emit fatal error and no incorrect deprecation notice in 8.2 (#9264)

The ast node flag constants ZEND_DIM_ALTERNATIVE_SYNTAX and
ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR node have identical values (1<<1),
causing a deprecation notice to be incorrectly emitted before the fatal error
for unsupported syntax.

Fixes GH-9263

Explicitly check for AST_VAR/AST_DIM kind for future compatibility

`AST_PROP`/`AST_METHOD_CALL` and nullsafe variants can also be found in
encapsulated strings - currently they have no flags but they may have flags in
the future. This also clarifies that this deprecation warning can only happen
for AST_VAR/AST_DIM nodes for certain `attr` values.

show more ...


# 3b62d660 04-Aug-2022 sji

Implement constants in traits (#8888)

RFC: https://wiki.php.net/rfc/constants_in_traits


# 3663f766 04-Aug-2022 Ilija Tovilo

DIM on null in const expr should emit warning


# 7b43d819 03-Aug-2022 Ilija Tovilo

Also fix ?-> on magic consts in const expressions

Fixes GH-9136
Fixes GH-9138


# 625f1649 20-Jul-2022 Bob Weinand

Include internal functions in the observer API

There are two main motivations to this:
a) The logic for handling internal and userland observation can be unified.
b) Unwinding of obs

Include internal functions in the observer API

There are two main motivations to this:
a) The logic for handling internal and userland observation can be unified.
b) Unwinding of observed functions on a bailout does notably not include observers. Even if users of observers were to ensure such handling themselves, it would be impossible to retain the relative ordering - either the user has to unwind all internal observed frames before the automatic unwinding (zend_observer_fcall_end_all) or afterwards, but not properly interleaved.

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


# f957e3e7 22-Jul-2022 Ilija Tovilo

Fix arrow function with never return type

Fixes GH-7900
Closes GH-9103


# 966d22b1 28-Jul-2022 Ilija Tovilo

Fix property fetch on magic constants in constant expressions

Closes GH-9136
Closes GH-9138
Closes GH-9172


Revision tags: php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1
# 7aadbcb8 24-May-2022 Ilija Tovilo

GH-8344 Fetch properties of enums in const expressions


12345678910>>...104