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
Adds OP_OBJECT_DYN_COMPOUND_ASSIGN and OP_INC_DEC_OBJ_DYN_PROP. Both
pop the receiver and name from the stack rather than the const pool,
reusing the existing objectGet/objectSet helpers + compoundOp/DoInc.
Covers two PHP source shapes:
$obj->$x OP= rhs (objectVarNode, name starts with $)
$obj->{$x} OP= rhs (objectDynVarReadNode, curly braces)
$obj->$x++ / ++$obj->$x
$obj->{$x}++ / ++$obj->{$x}
Receiver-warning semantics differ between the two shapes (mirrors AST):
runObjectVar.WriteValue suppresses the undef-var warning via
SetWriteContext; runObjectDynVar does not. The new helpers take a
recvSilent flag to match.
Smoke test covers all 28 assertions across +=, -=, *=, .=, postfix/
prefix inc/dec in both stmt and expr context, both shapes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments