|
26 | 26 | - Fix issue #51: Make nullable array/callable have a flag of 0 in inner element, in version 40.
|
27 | 27 | - Added a constructor for the ast\Node class.
|
28 | 28 | - Added ast\flags\FUNC_GENERATOR constant, which is used since PHP 7.1.
|
| 29 | +- Added ast\flags\FUNC_RETURNS_REF constant, intended to supersede ast\flags\RETURNS_REF. |
| 30 | +- Added ast\flags\CLOSURE_USE_REF constant, used by AST_CLOSURE_VAR nodes. Previously "1" was used. |
29 | 31 | - Added version 45 with the following changes (PHP 7.2 support):
|
30 |
| - - Object type hints are recognized. |
| 32 | + - An `object` type annotation now returns an `AST_TYPE` with `TYPE_OBJECT` flag, rather than |
| 33 | + treating `object` as a class name. |
31 | 34 | - Added version 50 with the following changes:
|
32 |
| - - Add __declId to info about Decl nodes, to make it easier for php-ast callers |
33 |
| - to process multiple similar Decl definitions (e.g. closures) on the same line. |
| 35 | + - `ast\Node\Decl` nodes are no longer generated. AST kinds `AST_FUNCTION`, `AST_METHOD`, |
| 36 | + `AST_CLOSURE` and `AST_CLASS` now also use the normal `ast\Node` class. The `name` and |
| 37 | + `docComment` properties are now represented as children. The `endLineno` is still represented as |
| 38 | + an (undeclared) property. |
| 39 | + - An integer `__declId` has been added to declaration nodes of kind `AST_FUNCTION`, `AST_METHOD`, |
| 40 | + `AST_CLOSURE` and `AST_CLASS`. The `__declId` uniquely identifies a declaration within the |
| 41 | + parsed code and will remain the same if the code is parsed again. This is useful to distinguish |
| 42 | + closures declared on the same line, or multiple conditional declarations using the same name. |
| 43 | + The ID is not unique across different codes/files. |
34 | 44 | - `\ast\parse_file` will now consistently return an empty statement list (similar to
|
35 | 45 | `\ast\parse_code`) if it is was passed a zero-byte file. Previously, it would return `null`.
|
36 | 46 | </notes>
|
|
0 commit comments