mirror of https://github.com/icsharpcode/ILSpy.git
Tree:
c79aefb325
christophwille/closedhierarchies
christophwille/contributing
christophwille/decompilerdocs
christophwille/membench
claude/ilspy-pr-3839-review-uo8q7r
collection-expression-tests
copilot/add-field-keyword-auto-properties
deconstruction-fixes
fix-3475-anonymous-type-null
fix-3860-outvar-explicit-type
fix/3465
fix/3518
gh-pages
issue1638
master
natural-type-lambdas-methods
null-coalescing-assignment
release/10.1
release/6.2
release/7.1
release/7.2
release/8.1
stash/beautify-enum-member-declarations
stash/dynamic-await
1.0-Beta
1.0-M1
1.0-M2
1.0-M3
1.0.0
2.0.0
2.1
2.2
2.3
2.3.1
3.0-Preview1
3.0-Preview2
3.0.2
v10.0
v10.0-preview1
v10.0-preview2
v10.0-preview3
v10.0.1
v10.1
v2.3.2
v2.4
v3.0
v3.0-beta1
v3.0-beta2
v3.0-beta2a
v3.0-beta3
v3.0-beta4
v3.0.1
v3.1-beta1
v3.1-final
v3.1-rc
v3.2-beta
v3.2-rc
v3.2.0
v4.0
v4.0-alpha1
v4.0-beta1
v4.0-beta2
v4.0-beta3
v4.0-rc1
v4.0-rc2
v4.0.1
v5.0
v5.0-preview1
v5.0-preview2
v5.0-preview3
v5.0-preview4
v5.0-rc1
v5.0.1
v5.0.2
v6.0
v6.0-preview1
v6.0-preview2
v6.0-preview3
v6.0-preview4
v6.0-rc1
v6.1
v6.2
v6.2-preview1
v6.2-preview2
v6.2.1
v7.0
v7.0-preview1
v7.0-preview2
v7.0-preview3
v7.0-rc1
v7.0-rc2
v7.1
v7.2
v7.2-preview1
v7.2-preview2
v7.2-preview3
v7.2-preview4
v7.2-rc
v7.2.1
v8.0
v8.0-preview1
v8.0-preview2
v8.0-preview3
v8.0-preview4
v8.0-rc1
v8.1
v8.1.1
v8.2
v9.0
v9.0-preview1
v9.0-preview2
v9.0-preview3
v9.0-rc
v9.1
${ noResults }
3 Commits (c79aefb325c6ee9dd4ac347a576c637fdc8461a6)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
853220dba9 |
Cover more constructs in the PDB sequence-point tests
Extends the breakpoint-map comparison to hidden sequence points, anchoring each hidden point to the visible point it follows so the descriptor stays independent of the IL offsets the decompiler reconstructs. Adds PdbGen cases spanning try/catch/finally, switch, async/await, yield, loops, LINQ, pattern matching and more, pinning the known residuals where the decompiler folds a compiler-hidden branch into an adjacent point. Assisted-by: Claude:claude-opus-4-8:Claude Code |
2 weeks ago |
|
|
182fb4e814 |
Compare PDB sequence points against the compiler's breakpoint map
The PdbGen tests compared the reconstructed PDB to the C# compiler's byte-for-byte, so any non-trivial method failed on reconstructed IL ranges, hidden sequence points and local scopes - none of which the decompiler can reproduce exactly. That left four of seven fixtures [Ignore]d and the suite with almost no coverage. Compare only what a debugging user actually feels: the visible (non-hidden) breakpoint map, parsed straight from the sequence-point blobs and keyed by method-definition row (shared between the PDB and the PE it describes). IL offsets, hidden points, local scopes and the embedded source are dropped. The compiler's own PDB is the oracle, so the tests assert correct debugging behavior rather than the decompiler's past output. Methods where the decompiler legitimately diverges pin an auto-derived residual snapshot, the same accept-the-diff workflow as the pretty tests; a separate oracle-free check rejects duplicate or overlapping sequence points. Un-ignores ForLoopTests, LambdaCapturing and Members (its source is regenerated to match the decompiler's per-type output, collapsing ~50 lines of indentation-induced coordinate noise to two genuine differences). Assisted-by: Claude:claude-opus-4-8:Claude Code |
2 weeks ago |
|
|
fcedb8980b |
Document the decompiler test suite in ICSharpCode.Decompiler.Tests/CLAUDE.md
Captures the compiler-matrix model, the test kinds and their pipelines, how to add tests per kind, the #if/preprocessor-symbol comparison rules, and the probe-a-construct-across-all-compilers workflow, so this no longer has to be reverse-engineered from the runners. Assisted-by: Claude:claude-fable-5:Claude Code |
4 weeks ago |