You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Block AST node and StmtKind::Block; always-braced bodies (function, method, closure, try/catch/finally, braced namespace, property-hook block) now hold a Block, so "this body is a block" is enforced by the type rather than an out-of-band invariant (php-ast).
ClassBody/EnumBody/SwitchBody wrappers and brace/keyword offset fields (else_kw_start, finally_kw_start, match brace, trait-use adaptations brace). Position data is #[serde(skip)] and Block is #[serde(transparent)], so serialized AST is unchanged (php-ast).
visit_block, fold_block, owned_block, and av_block to thread Block through both visitors, both folds, and the owned↔arena conversions (php-ast).
Fixed
Printer preserves a comment that sits immediately before {, else, finally, or the while of a do-while (and other braced/keyword positions) instead of dropping or misplacing it (php-printer).
Multiline @tag bodies now join continuation lines with a newline instead of a space, so a type expression and its description stay on separate lines (e.g. @var T followed by an indented description) and consumers of body_text/text_content can split them on the boundary (phpdoc-parser).