Releases: xp-framework/ast
Releases · xp-framework/ast
9.2.2: Line numbers fix
- Fixed line numbers for match conditions, case labels and catch
statements
(@thekid)
9.2.1: Type casting fix
- Fixed type parsing in type casts:
- Arrays, maps and generics with nullables, e.g.
(array<?int>)$v
- Intersection and union types, e.g.
(int|string)$v
.
(@thekid)
- Arrays, maps and generics with nullables, e.g.
9.2.0: Omit expressions in destructuring
- Added support for omitting expressions in destructuring assignments,
e.g.list($a, , $b)= $expr
or[, $a]= $expr
.
(@thekid)
9.1.0: Generic wildcards
9.0.0. Type refactoring
8.2.0: PHP 8.2 types
- Added support for PHP 8.2
null
,true
andfalse
types, see:
https://wiki.php.net/rfc/null-false-standalone-types
https://wiki.php.net/rfc/true-type
(@thekid)
8.1.0: Readonly classes
8.0.1: Namespace keyword fix
- Fixed resolving types starting with
namespace
keyword (examples 4 and
5 in https://www.php.net/manual/en/language.namespaces.nsconstants.php)
(@thekid)
8.0.0: Annotations and comments rework
This major release promotes annotations and comments to Node subclasses, making it easy to implement different emitter scenarios for them. For example, classes to be used with the XP Framework will have meta information attached to them, while others will not, reducing their dependencies.
- Merged PR #35: Support static closures (
static fn() => ...
) - @thekid - Implemented xp-framework/rfc#341: Drop XP 9 compatibility - @thekid
- Merged PR #34: Refactor annotations from associative arrays to instances
of thelang.ast.nodes.Annotations
class.
(@thekid) - Merged PR #33: Refactor apidoc comments from bare strings to instances
of thelang.ast.nodes.Comment
class.
(@thekid)
7.7.2: PHP 8.2 fixes
- Fixed PHP 8.2 warning about dynamic properties - @thekid