#
1fc2c3a1 |
| 10-Aug-2024 |
Tyson Andre |
Support PHP 8.4 property hooks in AST version 110 (#241) Add 'hooks' child of type `AST_PROPERTY_HOOK` to `AST_PROP_ELEM` and `AST_PARAM` (constructor property promotion) in AST version
Support PHP 8.4 property hooks in AST version 110 (#241) Add 'hooks' child of type `AST_PROPERTY_HOOK` to `AST_PROP_ELEM` and `AST_PARAM` (constructor property promotion) in AST version 110. In version 110, change `AST_CLOSURE` and `AST_ARROW_FUNC` nodes to have no `name`. Fixes #240
show more ...
|
#
71f6a54d |
| 11-Nov-2023 |
Nikita Popov |
Add support for typed class constants
|
#
741eda1c |
| 11-Nov-2023 |
Nikita Popov |
Add missing comma Ooops.
|
#
c132c5d5 |
| 11-Nov-2023 |
Nikita Popov |
Remove unused array
|
#
dfca9531 |
| 11-Nov-2023 |
Nikita Popov |
Fix strict-prototypes error
|
#
260678d4 |
| 09-Aug-2022 |
Tyson Andre |
Add encaps var flags for AST_DIM/AST_VAR for php 8.2 (#227) For https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation Closes #224 In util.php: Don't print a
Add encaps var flags for AST_DIM/AST_VAR for php 8.2 (#227) For https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation Closes #224 In util.php: Don't print a 0 flag value for combinable flags For php-ast self-testing, minimize the number of changes in the future when similar combinable flags get added to existing ast var types.
show more ...
|
#
e7dceba7 |
| 08-Aug-2022 |
Tyson Andre |
Add support for TYPE_TRUE for php 8.2 (#229) * Add support for TYPE_TRUE for php 8.2 https://wiki.php.net/rfc/true-type * Fix test name
|
#
ad71d350 |
| 08-Aug-2022 |
Tyson Andre |
Fix redundant call to ast_to_zval (#230) I noticed in 1.1.0dev that the __declId did not match a polyfill when short arrow functions were nested. ast_to_zval was already being called
Fix redundant call to ast_to_zval (#230) I noticed in 1.1.0dev that the __declId did not match a polyfill when short arrow functions were nested. ast_to_zval was already being called on the above lines in ast.c, calling it again would create `ast\Node` instances again.
show more ...
|
#
e460595b |
| 07-Aug-2022 |
Tyson Andre |
Add tests, flag constants for php 8.2 readonly classes (#228) * Add tests, flag constants for php 8.2 readonly classes * Address review comments
|
#
91f59467 |
| 07-Aug-2022 |
Tyson Andre |
php-ast 1.1.0dev: Deprecate AST versions 50 and 60, drop support for php < 7.2 (#185) * Deprecate AST versions 50 and 60 AST version 70 has been supported since php-ast 1.0.1 (2019-
php-ast 1.1.0dev: Deprecate AST versions 50 and 60, drop support for php < 7.2 (#185) * Deprecate AST versions 50 and 60 AST version 70 has been supported since php-ast 1.0.1 (2019-02-11). Related to #114 * Drop support for php <= 7.1 Update documentation to mention this. * Update test expectation for AST version 60 deprecation
show more ...
|
#
f2f7cadc |
| 07-Aug-2022 |
Tyson Andre |
Fix test failures seen in php 8.2 (#226) Fix bug where ZEND_AST_ARROW_FUNC output for 'stmts' in php 8.2 did not match earlier php versions, which would affect tools using php-ast.
Fix test failures seen in php 8.2 (#226) Fix bug where ZEND_AST_ARROW_FUNC output for 'stmts' in php 8.2 did not match earlier php versions, which would affect tools using php-ast. Handle var_export's output changing to always be fully qualified in php 8.2 test output (`\ast\Node::__set_state(array(` starting with backslash) And start running tests in php 8.2.
show more ...
|
#
8f1e75f6 |
| 27-Nov-2021 |
Tyson Andre |
Release 1.0.16: Optimize ast\Node property setting. Document `#[AllowsDynamicProperties]` in stubs (#219) Add `#[AllowsDynamicProperties]` to AST stubs Use OBJ_PROP_NUM for ast\Node
Release 1.0.16: Optimize ast\Node property setting. Document `#[AllowsDynamicProperties]` in stubs (#219) Add `#[AllowsDynamicProperties]` to AST stubs Use OBJ_PROP_NUM for ast\Node and ast\Metadata building (Do it even for Metadata. The resulting assembly code should be smaller and it's an example of how to write other classes efficiently in the future) Mark 1.0.15 and 1.0.16 as stable
show more ...
|
#
6b05823e |
| 27-Nov-2021 |
Tyson Andre |
Update php versions tested in CI, prepare the 1.0.15 release (#218) * Update php versions tested in CI PHP '8.1' isn't published yet on docker hub. Start testing with php 8
Update php versions tested in CI, prepare the 1.0.15 release (#218) * Update php versions tested in CI PHP '8.1' isn't published yet on docker hub. Start testing with php 8.1 in appveyor * Prepare for a 1.0.15 release Make it possible to test with php 8.2 without deprecation notes for endLineno, etc. See #217 Also, document how to properly update cache slot numbers if new properties are added to ast\Node in the future.
show more ...
|
#
e36cc7de |
| 27-Nov-2021 |
Tyson Andre |
Allow dynamic properties (e.g. endLineno) without deprecation notice in ast\Node (#217) (But use the default deprecation behavior for ast\Metadata) 1. php-ast itself sets the dynami
Allow dynamic properties (e.g. endLineno) without deprecation notice in ast\Node (#217) (But use the default deprecation behavior for ast\Metadata) 1. php-ast itself sets the dynamic property on endLineno right now, causing deprecation notices in PHP 8.2. Because all declaration types are associative arrays(not lists), a future AST version number may add this as a property of $node->children instead to avoid this notice. 2. WeakMap is only available in PHP 8.0+ (and WeakReference 7.4), but https://github.com/phan/phan targets PHP 7.2+. 3. Because some nodes make `$node->children` a list, applications such as Phan using php-ast can't associate string keys with that. (e.g. to mark nodes that were already processed in a certain step) https://github.com/nikic/php-parser solves that by adding `attributes`, `setAttribute`, `getAttribute`, etc. separately from children, but php-ast currently doesn't have an attributes node. That may be worth it in a future release. 4. When processing a large number of ast nodes in a large number of files, the deprecation notices have a noticeable performance impact, even when suppressed. Related to #214
show more ...
|
#
a5b2f602 |
| 27-Nov-2021 |
Tyson Andre |
Use array_init_size as size hint for created arrays (#216)
|
#
c533904c |
| 24-Jul-2021 |
Tyson Andre |
Support php 8.1 read-only properties, first-class callable syntax (#209) Add php 8.1 readonly property support, first-class callables And run all tests even after the first case fai
Support php 8.1 read-only properties, first-class callable syntax (#209) Add php 8.1 readonly property support, first-class callables And run all tests even after the first case fails Mark ast version 90 as current and 85 as no longer experimental. Add date to changelog, bump version in php_ast.h
show more ...
|
#
83c769f5 |
| 07-Jul-2021 |
Tyson Andre |
Support php 8.1 intersection types (#208) * Add tests of final class constant modifier, update metadata (https://wiki.php.net/rfc/final_class_const for php 8.1) * Support proposed php 8.
Support php 8.1 intersection types (#208) * Add tests of final class constant modifier, update metadata (https://wiki.php.net/rfc/final_class_const for php 8.1) * Support proposed php 8.1 intersection types (https://wiki.php.net/rfc/pure-intersection-types) * Allow using any modifier on any class element in metadata
show more ...
|
#
25f390bb |
| 17-Apr-2021 |
Tyson Andre |
Start testing with github actions (#202) The script `ci/test_dockerized.sh 8.0` can be used to run the exact same tests locally. Closes #198 Change the comment text to
Start testing with github actions (#202) The script `ci/test_dockerized.sh 8.0` can be used to run the exact same tests locally. Closes #198 Change the comment text to avoid -Wimplicit-fallthrough to avoid noise https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
show more ...
|
#
b09570df |
| 17-Apr-2021 |
Tyson Andre |
Support php 8.1 never RFC (#199) https://wiki.php.net/rfc/noreturn_type
|
#
28f5201f |
| 05-Apr-2021 |
Tyson Andre |
Support php 8.1 enums (#197) * Support php 8.1 enums * Test with travis and php 8.0, again * AST_ENUM_CASE can have attributes * Set `type` property of `AST_CLASS`
Support php 8.1 enums (#197) * Support php 8.1 enums * Test with travis and php 8.0, again * AST_ENUM_CASE can have attributes * Set `type` property of `AST_CLASS` iff ast version 85+ (iff === if and only if) * Add AST_CLASS's type in version 85+ prior to php 8.1 * [skip ci] Document support for php 8.1 enums
show more ...
|
#
72f459a9 |
| 06-Feb-2021 |
Tyson Andre |
Use zend_compile_string_to_ast in php 8.1 instead (#196) Fixes a compilation error in php 8.1-dev
|
#
d2b90349 |
| 07-Oct-2020 |
Nikita Popov |
Adjust for new stub naming convention
|
#
7e9865c5 |
| 02-Oct-2020 |
Nikita Popov |
Make stubs namespaced This is now support in gen_stub.
|
#
e0eeaec5 |
| 13-Sep-2020 |
Tyson Andre |
Fix missing break in switch statement (#186) This is currently harmless because 80 > 70, but would be a potential problem if refactoring
|
#
15a7ebd5 |
| 12-Sep-2020 |
Tyson Andre |
Add param defaults to reflection (of php-ast's functions) in php 8 (#152) Add param defaults to reflection in php 8 Support generated arginfo macros in older php versions T
Add param defaults to reflection (of php-ast's functions) in php 8 (#152) Add param defaults to reflection in php 8 Support generated arginfo macros in older php versions Throw in `new ast\Node` for invalid parameter types in php 7. (already the default for php 8)
show more ...
|