History log of /php-src/Zend/zend_ast.c (Results 1 – 25 of 261)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# d5ad7510 08-Jun-2023 George Peter Banyard

More usage of known zend_str instead of C string (#11381)


# c230aa9b 20-May-2023 Nikita Popov

Correctly handle multiple constants in typed declaration

While here also fix AST printing support.


# 5107483c 07-May-2023 Ilija Tovilo

Correctly copy lineno for zval asts (#11203)

The comment was incorrect. Zval ASTs store their lineno in u2, but u2 does not
get copied in ZVAL_COPY. This triggers use-of-uninitialized er

Correctly copy lineno for zval asts (#11203)

The comment was incorrect. Zval ASTs store their lineno in u2, but u2 does not
get copied in ZVAL_COPY. This triggers use-of-uninitialized errors with MSAN.
Unfortunately, I don't have a simple reproducer.

show more ...


# 41bbb116 30-Mar-2023 Ilija Tovilo

Unary minus const expression consistency

- of 0.0 should result in -0.0

Closes GH-10978


# 35a36b13 02-Feb-2023 Ilija Tovilo

Fix comp-time and constant evaluation of dynamic class constant fetch

Fixes GH-10486
Fixes oss-fuzz #55436
Fixes oss-fuzz #55472
Closes GH-10487


Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3
# 9e097822 04-Aug-2022 Ilija Tovilo

Fix lineno for all constant expressions

Fixes GH-8821
Closes GH-8855


# bf1cfc07 16-Jan-2023 Christoph M. Becker

Revert GH-10300

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit 68ada76f9a659745f572539b72afa06fa75a866f.
his reverts commit 45384c6

Revert GH-10300

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit 68ada76f9a659745f572539b72afa06fa75a866f.
his reverts commit 45384c6e201eda9963e2fcc18946a9446230a2d6.
This reverts commit ef7fbfd71025f034b0bfcb413efd181ce798fc1b.
This reverts commit 9b9ea0d7c696f2990a159b2a2dafbc04547dc10f.
This reverts commit f15747c26be4a2330dc0cf3ea442f53f30f84cac.
This reverts commit e883ba93c40827fafd7868517eb48e04569f76ab.
This reverts commit 7e87551c3775d26e20b06a4032a00053db6452cc.
This reverts commit 921274d2b8966641a00c0a767ae40ba7187bdffc.
This reverts commit fc1f528e5e3ee45ab17ae8dcfad6a6422ff2002d.
This reverts commit 0961715cdafb5d39124667ff94f3b56453ce71f1.
This reverts commit a93f264526e1cdade71d887800c1c448c411bfdc.
This reverts commit 72dd94e1c6d29203b8f6473317f626e6d6d6fbdc.
This reverts commit 29b2dc89645e741f91cc920964432dccd2aaef14.
This reverts commit 05c7653bba7571852f5ce6fc0d220a1a829bc4c0.
This reverts commit 5190e5c260ee05e3f3c3d1168263a1a6637441d0.
This reverts commit 6b55bf228cb2da8705737d414f394950a92d8aae.
This reverts commit 184b4a12d3215d105720d005b31e365249e2eb21.
This reverts commit 4c31b7888a561e920fd3889ba8d99368f3c2d9e6.
This reverts commit d44e9680f080b4918cfed268b96f90ea35975617.
This reverts commit 4069a5c43f419d76e1254c8e49b4cad9968a408f.

show more ...


# 5190e5c2 04-Jan-2023 Max Kellermann

Zend/zend_ast: include cleanup


# 23fe58c3 22-Dec-2022 Niels <7771979+nielsdos@users.noreply.github.com>

Remove _zend_ast_decl->lex_pos (#10046)

This struct member was only written to, but never read.


# 93592ea7 17-Nov-2022 蝦米

Fix GH-9769: Misleading error message for unpacking of objects

Only arrays can be unpacked in constant expressions.

Closes GH-9776.


# 683d81e4 01-Dec-2022 Ilija Tovilo

Fix incorrect short-circuiting in constant expressions (#10030)

Fixes GH-10014


# 8731fb2d 11-Nov-2022 Ilija Tovilo

Fix caching of default params with side-effects

Fixes GH-9965
Closes GH-9935


# 1d6b32f6 21-Oct-2022 Ilija Tovilo

Remove unnecessary ast eval bailout

We can just reset the filename_override to NULL in php_request_shutdown.

Closes GH-9805


# 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
# f957e3e7 22-Jul-2022 Ilija Tovilo

Fix arrow function with never return type

Fixes GH-7900
Closes GH-9103

Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, 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

Revision tags: php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17
# ddc0b490 10-Mar-2022 Ilija Tovilo

Allow arbitrary const expressions in backed enums

Closes GH-7821
Closes GH-8190
Closes GH-8418

# 7850c103 16-May-2022 Máté Kocsis

Add support for readonly classes (#7305)

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

# 3b4eaf67 21-Apr-2022 Ilija Tovilo

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix preloading of constants containing enums


# 4397811d 14-Apr-2022 Ilija Tovilo

Fix preloading of constants containing enums

Fixes GH-8133

# efb014dd 14-Mar-2022 Dmitry Stogov

Reset EG(filename_override) after fatal error

Fixes oss-fuzz #45492

Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28
# e3ef7bbb 05-Feb-2022 Ilija Tovilo

Adjust filename/lineno for constant expressions

Closes GH-7771
Closes GH-8124

Revision tags: php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15
# 944b6b6b 16-Jan-2022 Tyson Andre

Merge concatenated literal strings while compiling. (#7948)


The output of token_get_all is unaffected, so projects such as the userland
nikic/php-parser are unaffected.

Ext

Merge concatenated literal strings while compiling. (#7948)


The output of token_get_all is unaffected, so projects such as the userland
nikic/php-parser are unaffected.

Extensions such as nikic/php-ast which expose the internal php ast would see
literals be flattened, though.

This makes php significantly faster at parsing code such as
`$x = eval('return ' . var_export(str_repeat("\0", 100), true) . ';');`
and avoids the stack overflow from recursing 100000 times in
zend_eval_const_expr to process `'' . "\0" . '' . "\0" . ...`

Closes GH-7946

* Don't create binary op if unnecessary
* Update Zend/zend_ast.c

Co-authored-by: Nikita Popov <nikita.ppv@googlemail.com>

show more ...

Revision tags: php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33
# 812df2bd 12-Nov-2021 Cameron Porter

Fix bug #81611

Add zend_fetch_class_with_scope() which accepts a scope to use for
self/parent, and use that during constant expression evaluation.

Closes GH-7649.

Revision tags: php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1
# f34114b1 01-Oct-2021 Nikita Popov

Export AST for default value strings in reflection

When dumping default values in ReflectionXXX::__toString(), for
expression initializers print the AST export instead of trying to
e

Export AST for default value strings in reflection

When dumping default values in ReflectionXXX::__toString(), for
expression initializers print the AST export instead of trying to
evaluate the expression. With the introduction of "new in
initializers" the result of the evaluation will commonly not be
printable at all, and "__toString" will throw an exception, which
is not particularly useful. Using the AST export also provides more
information on how the parameter was originally declared, e.g. it
preserves the fact that a certain constant was used.

Closes GH-7540.

show more ...

1234567891011