History log of /php-ast/ast_data.c (Results 1 – 25 of 32)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


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


# f8248ff8 14-May-2021 Tyson Andre

Support doc comments for php 8.1 code, combine equivalent switch cases (#204)

* Support parsing php 8.1 enum doc comments

Requires https://github.com/php/php-src/pull/6984
(php

Support doc comments for php 8.1 code, combine equivalent switch cases (#204)

* Support parsing php 8.1 enum doc comments

Requires https://github.com/php/php-src/pull/6984
(php 8.1 has no public alphas yet)

* Combine equivalent case statements in generated code

show more ...


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


# 21057fb6 04-Sep-2020 Tyson Andre

Support php 8.0 grouped attributes with `#[` (#173)

The choice of null AST_ARG_LIST seems deliberate in php-src, so that
zend_ast_export_attribute_group can emit a different representati

Support php 8.0 grouped attributes with `#[` (#173)

The choice of null AST_ARG_LIST seems deliberate in php-src, so that
zend_ast_export_attribute_group can emit a different representation for
`attr()` and `attr`

show more ...


# faf53973 02-Aug-2020 Tyson Andre

Support the php 8.0 nullsafe operator(?->) (#169)


# c6cc7b1c 31-Jul-2020 Tyson Andre

Support php 8.0 named parameters (#166)

https://wiki.php.net/rfc/named_params is accepted.
This works when built against the PR implementing that RFC.

Also, amend attributes so

Support php 8.0 named parameters (#166)

https://wiki.php.net/rfc/named_params is accepted.
This works when built against the PR implementing that RFC.

Also, amend attributes so that tests pass on php 8.0-dev
(they will be amended again based on the planned vote)

show more ...


# 1b5d767d 11-Jul-2020 Tyson Andre

Support match expression v2 rfc (#161)

The naming is based on `switch` statements.
Note that even if statement blocks were supported after a future RFC
those would probably be consid

Support match expression v2 rfc (#161)

The naming is based on `switch` statements.
Note that even if statement blocks were supported after a future RFC
those would probably be considered block **expressions**,
hence the `expr` name for `AST_MATCH_ARM`.

* Regenerate ast_stub.php
* Add missing files to package.xml

show more ...


# 85b6bf88 14-Jun-2020 Tyson Andre

Support php 8.0 "Constructor Promotion" and attributes (#160)

- attributes are only available in AST version 80+,
and will be null before php 8.0


# 66de07d2 06-Jun-2020 Tyson Andre

Revert "Support php 8.0 "Constructor Promotion" and attributes"

This reverts commit b0370e632aad7b2c6feadaa8ea4610e5e0c055c6.


# b0370e63 30-May-2020 Tyson Andre

Support php 8.0 "Constructor Promotion" and attributes

Because AST_CLASS_CONST_DECL is a list of nodes, don't add the key
"attributes" to the hash table in older AST versions.

A

Support php 8.0 "Constructor Promotion" and attributes

Because AST_CLASS_CONST_DECL is a list of nodes, don't add the key
"attributes" to the hash table in older AST versions.

Add visibility modifiers to AST_PARAM, but only in php 8.0+.
MODIFIER_PUBLIC and PARAM_REF are the same value in php 7.4.

show more ...


Revision tags: v1.0.5, v1.0.4
# 2040325f 27-Oct-2019 Tyson Andre

Support PHP 8.0 Union Type RFC


Revision tags: v1.0.3, v1.0.2
# ae71ecc3 04-May-2019 Tyson Andre

Support AST_ARROW_FUNC, add tests


Revision tags: v1.0.1
# fb1be834 30-Jan-2019 Tyson Andre

Add AST_CLASS_NAME in AST version 70 (#111)

Add AST_CLASS_NAME in AST version 70

Fixes #109

Tests pass with a local PHP 7.4 installation


# 7fe259ed 12-Jan-2019 Tyson Andre

Add AST_PROP_GROUP in version 70.

The type information is deliberately left out of versions < 70.

`children['type']` is a Node describing the type of the property group,
or null

Add AST_PROP_GROUP in version 70.

The type information is deliberately left out of versions < 70.

`children['type']` is a Node describing the type of the property group,
or null.
`children['props']` is the AST_PROP_DECL.

The property visibility modifier flags were moved to the AST_PROP_GROUP.

Update package.xml

show more ...


Revision tags: v1.0.0
# 15ac0633 07-Oct-2018 Nikita Popov

Remove unused AST kinds


Revision tags: v0.1.7, v0.1.6, v0.1.5
# cca31514 28-Jun-2017 Nikita Popov

Don't use Decl nodes in version 50


Revision tags: v0.1.4, v0.1.3, v0.1.2
# fc5048fc 04-Aug-2016 Nikita Popov

Support nullable types

Represent these using a new AST_NULLABLE_TYPE virtual node.


# f308dce2 04-Aug-2016 Nikita Popov

Make generate_ast_data independent of zend_ast.h

Depending on this file is a problem if we want to support multiple
versions of PHP.


Revision tags: v0.1.1
# fed12faa 04-Dec-2015 Nikita Popov

Avoid premature macro resolution / Fix OSX build

AST_STR(true) and AST_STR(false) were resolved to AST_STR(1) and
AST_STR(0), so go back to using a str_ prefix everywhere.


Revision tags: v0.1.0
# 1ca15bdf 04-Dec-2015 Nikita Popov

Rename some child names


# c1c16d42 21-Oct-2015 Nikita Popov

Change some node names


# 5694d066 17-Sep-2015 Nikita Popov

Use AST_VAR node for static var + catch var

For version 20. Previously this was a simple string with the
variable name.


12