Commit b179382
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 98399e4 commit b179382
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2577 | 2577 | | |
2578 | 2578 | | |
2579 | 2579 | | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
2580 | 2584 | | |
2581 | | - | |
| 2585 | + | |
2582 | 2586 | | |
2583 | 2587 | | |
2584 | 2588 | | |
| |||
0 commit comments