Skip to content

Next minor released - #100

Merged
rcalicdan merged 25 commits into
mainfrom
next-minor-released
Oct 4, 2026
Merged

rcalicdan merged 25 commits into
mainfrom
next-minor-released

Conversation

@rcalicdan

Copy link
Copy Markdown
Member

No description provided.

… their

return statements wrapped in ternary expressions, converting the return value
into an rvalue and emitting 'Notice: Only variable references should be returned
by reference'. Now emits a pre-return guard statement, keeping the return
expression intact while preserving runtime type contract validation.
…tten into

`isset(checkStaticProperty(...))`. Marks variables inside `Isset_`, `Empty_`, and
`AssignRef` as write/reference context so they are not replaced with call expressions.
Also adds support for `static-closure` identifier types on static properties.
…rue one read early, and PharData emits a warning
- Renamed `createPathCheckCall` to `createMemberAssignCheckCall` in NodeBuilder for clarity.
- Introduced `MemberAssignChecker` to handle member mutation assignments, improving separation of concerns.
- Added `validateCollectionElementMutation` method in InlineChecker for direct validation of mutated collection elements in hybrid mode.
- Updated `RuntimeTypeChecker` to utilize `MemberAssignChecker` for member assignment checks.
- Implemented `PathMutator` and `StructureMutator` for efficient data structure mutation along paths and chains.
- Enhanced unit tests for `MemberAssignChecker`, `StructureMutator`, and `RuntimeTypeChecker` to cover various scenarios including hybrid validation.
- Added tests for array dimension assignment validation in hybrid and full modes.
@rcalicdan
rcalicdan merged commit 9c42c15 into main Oct 4, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment