History log of /php-ast/ (Results 1 – 25 of 329)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
66b258d110-Aug-2024 Tyson Andre

Back to 1.1.3dev (#244)

152b420e10-Aug-2024 Tyson Andre

Update README.md to indicate that the current version is 110 (#242)

1b2c17ec10-Aug-2024 Tyson Andre

Update the download link for php-ast (#243)

Update the download link for php-ast

This changed to https://downloads.php.net/~windows/pecl/releases/ast/
and may change again.

Update the download link for php-ast (#243)

Update the download link for php-ast

This changed to https://downloads.php.net/~windows/pecl/releases/ast/
and may change again.

https://pecl.php.net/package/ast should have the most up to date
links and be easier to read.

Related to #236

show more ...

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

4c5efd5d12-Nov-2023 Nikita Popov

Update current version number

5b3b990712-Nov-2023 Nikita Popov

Back to dev

a649551012-Nov-2023 Nikita Popov

Release 1.1.1

52ac25d711-Nov-2023 Nikita Popov

Test PHP 8.3 in CI

71f6a54d11-Nov-2023 Nikita Popov

Add support for typed class constants

741eda1c11-Nov-2023 Nikita Popov

Add missing comma

Ooops.

c132c5d511-Nov-2023 Nikita Popov

Remove unused array

dfca953111-Nov-2023 Nikita Popov

Fix strict-prototypes error

d7950c2d09-Aug-2022 Tyson Andre

Switch from 1.1.0 to 1.1.1dev

26880c1e09-Aug-2022 Tyson Andre

Release php-ast 1.1.0 (#231)

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


README.md
ast.c
ast_stub.php
package.xml
tests/001.phpt
tests/array_destructuring.phpt
tests/array_destructuring_old.phpt
tests/assign_ops.phpt
tests/ast_dump_with_exclude_doc.phpt
tests/ast_dump_with_linenos.phpt
tests/attributes_01.phpt
tests/attributes_02.phpt
tests/by_ref_destructuring.phpt
tests/class.phpt
tests/class_consts.phpt
tests/class_consts_80.phpt
tests/class_types.phpt
tests/closure_use_vars.phpt
tests/coalesce.phpt
tests/decl_ids.phpt
tests/decl_normalization.phpt
tests/functions_dont_use.phpt
tests/metadata.phpt
tests/mixed_type.phpt
tests/multi_catch.phpt
tests/named_children.phpt
tests/nested_stmt_lists.phpt
tests/never_return_type.phpt
tests/nullable_types.phpt
tests/object_type.phpt
tests/params.phpt
tests/php74_ast_assign_coalesce.phpt
tests/php74_dim_alternative_syntax.phpt
tests/php74_ordinary_class.phpt
tests/php74_parenthesized_conditional.phpt
tests/php74_type_hints.phpt
tests/php80_promotion.phpt
tests/php80_static_type.phpt
tests/php80_union_types.phpt
tests/php80_union_types_false.phpt
tests/php80_union_types_nullable.phpt
tests/php81_enums.phpt
tests/php81_final_class_const.phpt
tests/php81_first_class_callable_support.phpt
tests/php81_intersection_types.phpt
tests/php81_readonly.phpt
tests/php82_dynamic_property_attribute.phpt
tests/php82_encaps_list.phpt
tests/prop_doc_comments.phpt
tests/short_arrow_function.phpt
tests/short_arrow_function_decl_id.phpt
tests/short_arrow_function_return.phpt
tests/stmt_list.phpt
tests/true_type.phpt
tests/try_catch_finally.phpt
tests/type_hints.phpt
tests/unary_ops.phpt
tests/use_declarations.phpt
util.php
e7dceba708-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

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

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

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

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

fec004c212-Feb-2022 Tyson Andre

Properly namespace `#[\AllowDynamicProperties]` in documentation (#220)

This was previously resolved relative to the `ast\` namespace in type
checkers or if gen_stubs supported attribute

Properly namespace `#[\AllowDynamicProperties]` in documentation (#220)

This was previously resolved relative to the `ast\` namespace in type
checkers or if gen_stubs supported attributes in the future.

show more ...

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

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

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

a5b2f60227-Nov-2021 Tyson Andre

Use array_init_size as size hint for created arrays (#216)

12345678910>>...14