Commit 2b9316b
committed
Add incremental invalidation engine
Introduces a worklist-based invalidation engine that cascades changes
through the graph when documents are updated or deleted. Uses
ChildName/NestedName edges from the name_dependents index to propagate
invalidation with two distinct modes:
- Structural cascade (UnresolveName): declaration removed or scope broken
- Ancestor cascade (UnresolveReferences): ancestor chain changed
Replaces the has_unresolved_dependency runtime check with explicit
invalidation variants determined at queue time.1 parent 13ca67a commit 2b9316b
6 files changed
Lines changed: 1416 additions & 135 deletions
File tree
- rust
- rubydex-sys/src
- rubydex/src
- model
- test_utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
614 | | - | |
| 614 | + | |
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
482 | 482 | | |
483 | 483 | | |
484 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
485 | 489 | | |
486 | 490 | | |
487 | 491 | | |
| |||
0 commit comments