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 |
|---|---|---|---|
|
|
51aafa0fd9 |
Move ILSpy UI code back to the ICSharpCode.ILSpy root namespace
The Avalonia port had placed the UI app in an ILSpy.* namespace tree, while the csproj RootNamespace and every prior release (through 10.1) use ICSharpCode.ILSpy.*. Restoring the historical namespace reduces the public API diff against release/10.1 for plugin authors and removes the shadowing that forced global:: qualifiers in the test project. The Images class and AccessOverlayIcon enum move back into the root namespace (as in 10.1), since an ICSharpCode.ILSpy.Images namespace would shadow the Images class for all code inside ICSharpCode.ILSpy. Assisted-by: Claude:claude-fable-5:Claude Code |
4 weeks ago |
|
|
93db1041b1 |
Decompile a single method in the slow Options tests
Two Options tests selected the whole System.Linq.Enumerable type and then awaited WaitForDecompiledTextAsync. That decompile takes >15 s in headless and overran the 60 s wait on a loaded CI runner, so the suite flaked intermittently (green in one run of a commit, red in another). The behaviours under test -- that a re-decompile setting refreshes the active tab, and that the refresh does not steal focus from the Options tab -- fire on whatever the tab shows, so a single small method exercises them just as well and decompiles near-instantly. Assisted-by: Claude:claude-opus-4-8:Claude Code |
4 weeks ago |
|
|
4ab76f47e7 |
Re-decompile the active tab on output display-setting changes
The Options page is non-modal and live-apply, so -- unlike the WPF host, which ran a full assembly-list Refresh() when its modal Options dialog closed -- a setting that changes the decompiler/disassembler output (brace folding, member/using expansion, debug info, IL detail, indentation) had nothing to make it take effect; toggling it did nothing until the user re-navigated. Classify every DisplaySettings property in one table (DisplaySettingReactions: editor-live / tree-text / tree-shape / re-decompile / none), grounded in the actual consumers (ApplyDisplaySettings, GetIndentationString, the IL/mixed languages). OnSettingsChanged dispatches on it, and a coverage test asserts the table spans every settable property so a newly-added one can't silently fall through. Fixing the re-decompile case exposed that ForceRefreshActiveTab was itself a no-op for an unchanged node -- ShowSelectedNode re-sets CurrentNodes, whose setter dedups -- so RefreshDecompiledView (also used after dependency resolution) never actually re-ran. Add DecompilerTabPageModel.Redecompile() to force past the dedup and call it from ForceRefreshActiveTab. Also drop the EnableSmoothScrolling setting: it drove TomsToolbox's AdvancedScrollWheelBehavior in WPF, which the Avalonia port doesn't use and never replaced, so the checkbox persisted a value nothing read. Assisted-by: Claude:claude-opus-4-8:Claude Code |
4 weeks ago |