Expose product-owned accessibility facets - #3880
Conversation
e359d26 to
2328254
Compare
|
Restacked onto the updated #3877 head after the lower stack integrated
The slice content is unchanged; only its base moved. |
2328254 to
394a06d
Compare
|
A newer
The slice content remains unchanged; only its base moved. |
394a06d to
2e6e05c
Compare
|
Restacked onto the adapted #3877 head after
This slice is content-identical; only its base moved. The new head passes its full Release solution build and all six query contract tests. |
2e6e05c to
022c417
Compare
|
Restacked once more after
The slice is content-identical. The new head passes the full Release solution build and all six query contract tests. |
022c417 to
24ccfbf
Compare
|
Restacked onto #3877 head |
24ccfbf to
5c5c8bc
Compare
|
Final restack after #3875 moved the stack base. This range-diff shows the #3880 slice itself is unchanged: |
|
Resolved the PrivateScope classification finding in Method and field |
5c5c8bc to
5a1735a
Compare
|
Restacked onto #3877 head
The restack changed only the parent. The accessibility query class remains 8/8 passing and the full Release solution build passes at the new head. |
5a1735a to
3fd20ae
Compare
|
Restacked onto #3877 head The accessibility implementation remains unchanged. Conflict resolution composes its At stack tip, the query suite passes 10/10, the Source Locations no-acquisition regression passes, and the full Release solution build succeeds. |
3fd20ae to
397c26e
Compare
|
Restacked onto #3877 head
The restack changed only the parent. At stack tip, query tests pass 10/10, descriptor tests pass 15/15, and the full Release build succeeds. |
397c26e to
d26fe9e
Compare
|
Restacked onto #3877 head
|
d26fe9e to
66bd99b
Compare
Preserve abstraction and init-only accessor semantics, keep setter-only explicit properties compileable, and recognize nullable and extern-alias aggregate display forms without weakening structural MethodImpl identity. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Require interface and generic-shape coherence, restrict nullable aliases to platform identities, reject hostile init markers, aggregate event sealing per accessor, and emit legal explicit indexer bodies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Fail closed for incomplete or inconsistent explicit aggregates, validate row/accessor signatures, account MethodImpl projection against extraction budgets, and preserve valid sections beside inapplicable body Facts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Index MethodImpl rows without eager structural decoding, charge projection only for admitted members, and commit its decode credit with the retained type. Add a finite-bound CoreLib canary and preserve init-accessor structural identities across the restack. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Cache repeated MethodImpl signatures and TypeSpec blobs, preserve generic-context identity, and impose a fixed per-type projection budget for distinct or numerous hostile rows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Keep malformed accessibility visible in summary extraction and defer focused-query MethodImpl projection until a method survives admission. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Discard canonical accessors owned by EditorBrowsable(Never) properties and events before target projection across full, summary, bounded, and focused metadata paths while preserving noncanonical explicit implementations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Preserve bounded MethodImpl certainty, effective nested visibility, independent slot facts, and unspellable accessor evidence across strict source and human inventory projections. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Count retained undetermined interface targets like proven targets so valid external inherited-interface evidence can finance its bounded decode work without weakening pending-candidate limits. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Committed MethodImpl projection text represents an interface identity and two decoded method signatures, so give it a distinct bounded decode-work credit. Pending projection remains unable to finance its own expansion, preserving hostile-input failure behavior while allowing Windows CoreLib extraction to complete. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Cap committed MethodImpl decode credit relative to retained model text and charge inherited-interface closure decoding. Preserve structured nested-generic interface names and MethodImpl resolution evidence across full, summary, and focused aggregate projections. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Contain artifact-authored metadata fallback text, use canonical metadata-name arity for explicit-interface identities, and reject aggregates whose virtual accessors claim incompatible slots while preserving legitimate CoreLib companion accessors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
Bound init-only modifier decoding, validate focused type visibility and abstract accessor shape, preserve default-interface MethodImpl C# projection, keep strict errors free of artifact names, and make metadata accessor fallback identity-complete. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 877c41d4-8130-4747-be53-7f86c1825f59
|
Round 36 replacement attempt |
|
Round 36 is complete for PR 3880.
Fix description: Six metadata/C# defects were fixed: bounded init-modifier decoding, contained strict errors, focused visibility validation, identity-complete accessor fallback, abstract-accessor validation, and valid default-interface MethodImpl projection. The child was then exactly restacked across the parent CI fix, preserving all 43 commits. Exact head |
Superseded by migration coordinator #4649Per #4649's documented plan, this PR is closed without merge. Round 36's reviews were converging but the branch has had no activity since 2026-08-21, and its parent slice #3877 is now closed as superseded. #4649 explicitly directs: "do not resolve or cascade-restack the old stack merely to make it mergeable... we plan to supersede and close #3877/#3880 after their useful work has been assigned to replacement slices." The branch, exact head, and review/range-diff evidence remain preserved as implementation evidence per #4649 — this closure does not discard that work, it stops treating this head as a merge candidate. The outstanding disposition-matrix harvest (behavioral claim → destination slice → retain/relocate/replace/drop) is tracked in #4649. |
Summary
s_, compiler-generated, or generated-looking namesStack
Slice 3 of 3 for #3863, #3864, and #3865.
ACCESS_ORDER,accessBucket, client-side defaulting/filtering, lens catalogs, and body-kind inference onprototype/wasm-command-ui; the prototype is intentionally outside thismain-based product stackValidation
dotnet run --project src/DotnetInspector.Queries.Tests -c Release: 6 passeddotnet build dotnet-inspect.slnx -c Release