mirror of https://github.com/icsharpcode/ILSpy.git
Tree:
3f32d4a5e9
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 (3f32d4a5e943d7ef869f22ae9fcb5814d84537da)
| 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 |
|
|
0826bae4a5 |
Record fast distinct navigations instead of collapsing them
NavigationHistory.Record's 0.5s debounce collapsed ANY two selections inside the window -- including two DIFFERENT nodes -- so a navigation whose decompile finished quickly (cheap targets, or a fast machine) never pushed the previous node onto the back stack, silently losing history. Its real purpose is only to swallow the double-fire a single click produces (SelectedItems.CollectionChanged + SelectedItem PropertyChanged, same node) and tree-refresh re-selects, so gate the collapse on the rapid entry being equal to the current one; a distinct node now records normally. The view-state/navigation tests navigate between two cheap namespace nodes (a C# namespace decompiles to just its "// Some.Name.Space" line) instead of decompiling CoreLib types in full -- fast enough for the headless 15s budget on slow CI runners, and a direct regression test for the collapse bug above. Assisted-by: Claude:claude-opus-4-8:Claude Code |
4 weeks ago |
|
|
96d50e2b5b |
Run long operations in their own frozen tab
Project/solution export, PDB generation, Create Diagram and Extract Package all ran via RunWithCancellation on the active preview tab -- whose cancellation token tree-node navigation cancels. So selecting any node while one of these ran killed it: you couldn't browse while an export was in progress. Add DockWorkspace.RunInNewTabAsync, which opens a new frozen document tab (its own decompile/cancellation scope, never the navigation target), runs the work there, and shows the report in it. Route the long-running command sites through it. A frozen tab is immune to the selection-driven re-decompile, so navigation can no longer cancel the work -- and the report opens in its own tab instead of replacing the current view. The single-node Save Code path intentionally stays on the active tab (matches the prior version and is quick). Assisted-by: Claude:claude-opus-4-8:Claude Code |
4 weeks ago |