mirror of https://github.com/icsharpcode/ILSpy.git
Branch:
fix/lambda-parameter-syntax
christophwille/closedhierarchies
christophwille/membench
compound-assignment-operators
fix/1982-params-attribute-args
fix/2040-invalid-xml-characters
fix/2093-navigateto-reference-assembly
fix/2362-xalz-references
fix/2372-address-taken-by
fix/3282-indexer-optional-arguments
fix/3568-record-member-order
fix/4059-deconstruct-out-slots
fix/lambda-parameter-syntax
fix/scroll-children-on-expand
gh-pages
ldmembertoken
master
natural-type-lambdas-methods
null-coalescing-assignment
release/10.1
release/6.2
release/7.1
release/7.2
release/8.1
substring-optimizations
tests/829-async-method-builder-override
tests/829-collection-expressions
tests/829-compound-assignment-operators
tests/829-coverage-audit
tests/829-expression-tree-named-optional-args
tests/829-expression-variables-in-initializers
tests/829-extended-property-patterns
tests/829-extension-members
tests/829-extension-operators
tests/829-file-local-types
tests/829-improved-definite-assignment
tests/829-improved-overload-candidates
tests/829-inline-arrays
tests/829-interpolated-string-improvements
tests/829-lambda-param-modifiers
tests/829-list-patterns
tests/829-lock-object
tests/829-mixed-deconstruction
tests/829-null-coalescing-assignment
tests/829-null-conditional-assignment
tests/829-object-initializer-indexer
tests/829-overload-resolution-priority
tests/829-params-collections
tests/829-pattern-matching-improvements
tests/829-primary-constructors
tests/829-ref-unsafe-in-iterators-async
tests/829-sealed-record-tostring
tests/829-target-typed-conditional
tests/829-tuple-comparison
win-a11y-textsize
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
v10.1.1
v11.0
v11.0-preview1
v11.0-rc
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
${ item.name }
${ noResults }
5 Commits (fix/lambda-parameter-syntax)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
b5a605e7a8 |
Honor the user's decompiler settings in all decompilation paths
The Avalonia port gave DecompilationOptions a parameterless constructor that silently defaults to new DecompilerSettings(). Several paths picked it up and decompiled with default settings where the WPF version used the user's current options: tree member filtering (CSharpLanguage. ShowMember), PDB generation, the single-file / project / solution Save Code paths, and the DEBUG decompile-all commands. Promote the live-snapshot logic that was private to DecompilerTabPage- Model (settings clone + Display-option bridge + toolbar language version) to SettingsService.CreateEffectiveDecompilerSettings and use it at every entry point. Remove the parameterless DecompilationOptions constructor and make SolutionWriter require settings, so reaching for defaults is an explicit choice rather than a silent fallback - that default is exactly what masked these regressions. Search deliberately keeps default settings (it only needs a type system to materialise). Assisted-by: Claude:claude-fable-5:Claude Code |
3 months ago |
|
|
f53ca6d080 |
Drop redundant global:: qualifiers on ICSharpCode references
The global:: prefixes existed because the test project's namespace ICSharpCode.ILSpy.Tests used to shadow the app's old top-level ILSpy namespace. With the UI code back under ICSharpCode.ILSpy there is nothing left to shadow, so plain fully qualified names resolve fine. Assisted-by: Claude:claude-fable-5:Claude Code |
3 months ago |
|
|
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 |
3 months ago |
|
|
aa92f27e09 |
Decompile a tiny emitted fixture in the project-export/save/compare tests
The Export Project/Solution, Save Code and Compare tests decompiled whatever the default assembly list seeds -- System.Linq, CoreLib, the Uri assembly -- so each spent ~10s purely on type count (Solution/CreateSolution/SaveCode/ DecompileAssembly ~10s, CompareView ~4.5s). Add FixtureAssembly, which emits a minimal two-type assembly via PersistedAssemblyBuilder, and point these tests at it. They still exercise the full project/solution writer, save-to-file and compare-tree pipelines, but each now runs well under a second (e.g. Solution_Mode 10.8s -> 0.3s, CreateSolution 10.8s -> 0.2s, ShowIdentical 4.5s -> 0.3s). Assisted-by: Claude:claude-opus-4-8:Claude Code |
3 months ago |
|
|
0588da3533 |
Export several selected assemblies as a Visual Studio solution
The single-assembly project save was already wired, but selecting multiple assemblies and choosing Save Code only ever saved one of them: SolutionWriter had never been ported, so there was no path that emitted a .sln with one decompiled project per assembly. Port SolutionWriter UI-agnostically and route both Save Code surfaces (the context-menu entry and the Ctrl+S command) through a shared SolutionExport helper that recognises a multi-assembly selection, prompts for the .sln path, runs the export behind the tab's cancellable progress UI, and reports the result into the active decompiler tab (matching how the other long-running commands surface their output). Unlike the prior app, the project-export path writes the .csproj to disk itself and only returns a breadcrumb through the text output, so each project's on-disk file is located after decompiling rather than captured from the output stream. Assisted-by: Claude:claude-opus-4-8:Claude Code |
3 months ago |