Repository navigation
Commit 12c052a
committed
fix(extractor): close two soundness holes in the #228 app-scoped gate (Codex review)
Both Codex P2s verified real, both fixed:
- Handler target must be `this`: a method group qualified with ANOTHER
instance of the same App-derived type (`_twin!.OnTheme`) has the right
ContainingType but pins that other instance, not the process-lived
singleton. IsOwnMethodGroupHandler now accepts only a bare identifier
(implicit this) or an explicit `this.X` receiver.
- Stale resolver binding: `var tm = helper.GetThemeManager(); tm =
injectedBus; tm.ThemeChanged += H` passed on the declaration-site
initializer alone. IsNeverReassigned kills the proof on ANY assignment
to the local or ref/out escape anywhere in the enclosing member —
conservative (order-insensitive), worst case keeps today's warning.
Two new flagged controls in AppScopedSourceSample.cs (TwinApp, ReassignApp)
+ CI assertions. Verified with the real extractor: all five controls warn,
both positives silent; full-sample-set output still byte-identical to main.
Refs #228
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsWw4Ay8KLTHFom1HvRu3U1 parent f403bdb commit 12c052a
3 files changed
Lines changed: 92 additions & 2 deletions
File tree
- .github/workflows
- frontend/roslyn
- OwnSharp.Extractor
- samples
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
853 | 853 | | |
854 | 854 | | |
855 | 855 | | |
856 | | - | |
| 856 | + | |
857 | 857 | | |
858 | 858 | | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
859 | 867 | | |
860 | 868 | | |
861 | 869 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
929 | 929 | | |
930 | 930 | | |
931 | 931 | | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
932 | 937 | | |
933 | 938 | | |
934 | 939 | | |
| |||
946 | 951 | | |
947 | 952 | | |
948 | 953 | | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
949 | 982 | | |
950 | 983 | | |
951 | 984 | | |
| |||
955 | 988 | | |
956 | 989 | | |
957 | 990 | | |
958 | | - | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
959 | 1004 | | |
960 | 1005 | | |
961 | 1006 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
105 | 142 | | |
0 commit comments