Repository navigation
Commit a7d9ff3
committed
fix(visitor): fold, don't drop, definitions past the per-line cap
_add capped each (file, line) bucket at 8 entries and dropped the rest.
When a type appears in many compile units (e.g. BlockType across ~160
CUs), only one copy carries a fully-defined nested type such as
BlockType::NameInfo, and it could fall past the cap and be discarded,
leaving the nested type referenced but never defined.
Now, once the bucket is full, fold the overflow object into an existing
entry it can merge with instead of dropping it, preserving the unique
content it carries. The append + parameter-name sync + merge flow is
otherwise untouched, so parameter names are unaffected.
Also guard TypeDef.merge against a None value, which the extra merges
can now reach.1 parent d2ea23f commit a7d9ff3
2 files changed
Lines changed: 11 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
198 | 200 | | |
199 | 201 | | |
200 | | - | |
201 | | - | |
202 | | - | |
| 202 | + | |
| 203 | + | |
203 | 204 | | |
204 | 205 | | |
205 | 206 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
752 | 752 | | |
753 | 753 | | |
754 | 754 | | |
755 | | - | |
756 | | - | |
| 755 | + | |
757 | 756 | | |
758 | | - | |
759 | | - | |
| 757 | + | |
| 758 | + | |
760 | 759 | | |
761 | 760 | | |
762 | | - | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
763 | 764 | | |
764 | 765 | | |
765 | 766 | | |
| |||
0 commit comments