Commit 8d23f1b
committed
refactor(#127): fix Rider/Unity background generator crashes and caching issues
- Convert the `Generate` method to `static` in both Sync and Async source generators. This prevents the incremental compilation delegates from capturing the generator instance, which was breaking Rider's background incremental updates.
- Introduce a 100-iteration depth safety net to all recursive `BaseType` traversal loops in `GetClassData` to prevent infinite analyzer hangs and freezes when typing incomplete or cyclic inheritance hierarchies.
- Add null-safety guards to the `GetNonNullableType`, `FullyQualifyTypeWithoutNullable`, and `IsNullableTypeSymbol` helpers to prevent compiler crashes on unresolved types during background analysis.1 parent fc89e23 commit 8d23f1b
2 files changed
Lines changed: 52 additions & 16 deletions
File tree
- ManualDi.Async/ManualDi.Async.Generators
- ManualDi.Sync/ManualDi.Sync.Generators
Lines changed: 26 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
| 97 | + | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
103 | 104 | | |
104 | | - | |
| 105 | + | |
| 106 | + | |
105 | 107 | | |
106 | 108 | | |
107 | 109 | | |
| |||
121 | 123 | | |
122 | 124 | | |
123 | 125 | | |
124 | | - | |
| 126 | + | |
| 127 | + | |
125 | 128 | | |
126 | 129 | | |
127 | 130 | | |
| |||
394 | 397 | | |
395 | 398 | | |
396 | 399 | | |
397 | | - | |
| 400 | + | |
398 | 401 | | |
399 | 402 | | |
400 | 403 | | |
| |||
692 | 695 | | |
693 | 696 | | |
694 | 697 | | |
695 | | - | |
| 698 | + | |
696 | 699 | | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
697 | 705 | | |
698 | 706 | | |
699 | 707 | | |
| |||
703 | 711 | | |
704 | 712 | | |
705 | 713 | | |
706 | | - | |
| 714 | + | |
707 | 715 | | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
708 | 721 | | |
709 | 722 | | |
710 | 723 | | |
711 | 724 | | |
712 | | - | |
| 725 | + | |
713 | 726 | | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
714 | 732 | | |
715 | 733 | | |
716 | 734 | | |
| |||
Lines changed: 26 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
| 96 | + | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
103 | | - | |
| 104 | + | |
| 105 | + | |
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
| |||
120 | 122 | | |
121 | 123 | | |
122 | 124 | | |
123 | | - | |
| 125 | + | |
| 126 | + | |
124 | 127 | | |
125 | 128 | | |
126 | 129 | | |
| |||
374 | 377 | | |
375 | 378 | | |
376 | 379 | | |
377 | | - | |
| 380 | + | |
378 | 381 | | |
379 | 382 | | |
380 | 383 | | |
| |||
591 | 594 | | |
592 | 595 | | |
593 | 596 | | |
594 | | - | |
| 597 | + | |
595 | 598 | | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
596 | 604 | | |
597 | 605 | | |
598 | 606 | | |
| |||
602 | 610 | | |
603 | 611 | | |
604 | 612 | | |
605 | | - | |
| 613 | + | |
606 | 614 | | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
607 | 620 | | |
608 | 621 | | |
609 | 622 | | |
610 | 623 | | |
611 | | - | |
| 624 | + | |
612 | 625 | | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
613 | 631 | | |
614 | 632 | | |
615 | 633 | | |
| |||
0 commit comments