Commit 504414a
Fix reference type propagation for subsequent assignments
When $b = &$a creates a bidirectional reference link, assigning to either
variable should propagate the type to the other for ALL subsequent
assignments, not just the first one. The issue was that
invalidateExpression() removed the reverse-direction intertwined entries
when a variable was assigned, because the entries' sub-nodes contained
the assigned variable. This fix preserves those entries by collecting
them before invalidation and restoring reverse-direction entries after
propagation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 9ac8874 commit 504414a
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2647 | 2647 | | |
2648 | 2648 | | |
2649 | 2649 | | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
2650 | 2654 | | |
2651 | | - | |
| 2655 | + | |
2652 | 2656 | | |
2653 | 2657 | | |
2654 | 2658 | | |
| |||
0 commit comments