4598 Commits
Author SHA1 Message Date
Christoph Wille 067680e3de Set next version (final) 2026-03-25 19:20:29 +01:00
Christoph Wille 6db9a02180 Merge pull request #3686 from icsharpcode/custom-signature-decoder-comparer
Hide compiler-generated accessor methods
2026-03-24 19:28:11 +01:00
Siegfried Pammer fae6f57b1c Fix #3671: TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization. 2026-03-23 20:46:15 +01:00
Siegfried Pammer faeae3f083 Fix #1682, fix #1949, fix #2394 and fix #3684: Added basic algorithm of IsAccessorInterfaceImplementationRuntimeHelper 2026-03-21 20:59:56 +01:00
Christoph Wille 29bc5f204b Merge pull request #3680 from icsharpcode/csharp14/extensions
Dedicated UI and Decompiler APIs for C# 14 extensions
2026-03-21 15:37:37 +01:00
Siegfried Pammer 58c4cc9c51 Merge pull request #3682 from nikitalita/fix-in-this
Fix `in` erroneously being applied to `this`
2026-03-20 21:43:23 +01:00
Siegfried Pammer ade13f848e Apply suggestions from Claude code review 2026-03-20 19:39:07 +01:00
Siegfried Pammer 91d7a76b94 Fix typo in MetadataModule.GetDefinition 2026-03-19 21:56:21 +01:00
Christoph Wille 5eebf1408a One single approach to using SHA*. Fixes #3673. (#3679) 2026-03-19 21:35:58 +01:00
Christoph Wille c0d26255fa .NET Update 10.0.4 to 10.0.5 (#3681) 2026-03-18 13:38:11 +01:00
Nikita 9ed96224b8 Update TransformCollectionAndObjectInitializers to check for init-only properties (#3678) 2026-03-18 07:16:45 +01:00
nikitalita 7d88d43a92 Fix in erroneously being applied to this 2026-03-17 14:29:55 -07:00
Siegfried Pammer 98d764a169 Add a treenode and decompiler APIs for extensions. 2026-03-16 22:41:21 +01:00
Christoph Wille 2f311c233d Roslyn 5.3.0 (#3665)
NuGet updates 4/26 including Roslyn 5.3.0
2026-03-11 09:48:40 +01:00
Matt Parker 69659450a1 Replace FileVersionInfo.GetVersionInfo with DecompilerVersionInfo.Version constant (#3667) 2026-02-24 13:37:03 +01:00
Christoph Wille a1e2a4aa91 NuGet Update 02/26 (#3663)
* NuGet Update 02/26
* Update to latest build agent software
* Use Wix 6.0.2, manually install version-locked WixToolset.UI.wixext extension
2026-02-14 09:48:48 +01:00
Christoph Wille 4a29de5a4e Preview 3 Designation 2025-12-30 12:43:54 +01:00
Siegfried Pammer 77d9ee73e9 Fix IDE2000 globally 2025-12-29 19:24:31 +01:00
Siegfried Pammer d3e12d0ebf Migrate from .ruleset to .editorconfig 2025-12-29 19:24:31 +01:00
Siegfried Pammer 5f32b6d7ea Fix folding of extension declarations 2025-12-25 07:59:37 +01:00
Siegfried Pammer 5f0e767c7d Fix crash in TryEncodingV2, if there are multiple extension groups with the same target type, but different extension parameter name. 2025-12-25 07:58:52 +01:00
Siegfried Pammer 0cd53418ad Add ILAmbience 2025-12-21 13:47:18 +01:00
Siegfried Pammer 67bc204589 Merge pull request #3629 from sonyps5201314/fix_pdb_mismatch
Fix the issue where PDBs generated by ILSpy do not match certain asse…
2025-12-21 12:08:39 +01:00
Siegfried Pammer 1579a1698c Fix #3612: WholeProjectDecompiler.CleanUpName does not count bytes on Unix. 2025-12-15 19:26:09 +01:00
Siegfried Pammer 612c5bc032 Merge pull request #3591 from miloush/history
Navigate visible history
2025-12-14 19:48:03 +01:00
sonyps5201314 45081a6c4e Fix the issue where PDBs generated by ILSpy do not match certain assemblies. 2025-12-14 21:24:20 +08:00
Siegfried Pammer 3a27cbef06 Fix #3617: Order of XML comments in types with primary constructors 2025-12-13 10:14:46 +01:00
Siegfried Pammer c0a9afc4ad Fix #3616: local variable naming conflict with primary constructor parameters. 2025-12-12 14:00:19 +01:00
Christoph Wille 1070b03468 NuGet December 2025 Updates (#3634) 2025-12-11 09:11:00 +01:00
ds5678 83df0ab9b9 Handle multiple calling conventions at once 2025-11-30 12:10:04 -08:00
ds5678 a04c0e4cab Improve decompilation of unmanaged function pointers
This improves how function pointers are decompiled.
* ExpressionBuilder::VisitLdFtn now properly constructs the calling conventions.
* FunctionPointerType::FromSignature now checks whether a modopt type affects the calling convention.
2025-11-30 12:10:04 -08:00
Christoph Wille f54955a185 Merge pull request #3588 from icsharpcode/r502
Roslyn 5.0.0
2025-11-30 18:19:13 +01:00
Siegfried Pammer d70a5e7fb2 Fix #3626: Do not emit named arguments for bool constants, if it causes the call to become ambiguous. 2025-11-30 18:16:53 +01:00
Siegfried Pammer 0ed123af07 #3621: Fix NRE when switching language version to C# 8.0 or lower. 2025-11-30 15:31:53 +01:00
Siegfried Pammer 3fd9981535 Fix #3621: Fix multiple uses of primary ctor parameter in initializer of record. 2025-11-26 08:54:31 +01:00
sonyps5201314 193a463766 Support batch PDB generation. (#3619)
* Support batch PDB generation.

* Use `FileMode.Create` for output PDB files to ensure existing files are fully overwritten/truncated.

* Localize the string `Generating portable PDB...`.

* Refine `GeneratePdbForAssemblies` implementation.

* Replace direct calls to `explorer.exe` with the Shell API to prevent spawning an `explorer.exe` process that doesn't exit automatically on every call.

* Batch calls to `ShellHelper.OpenFolderAndSelectItems` instead of looping `OpenFolderAndSelectItem`.

* Localize the string `Open Explorer`.

* Fix `OpenCmdHere` malfunction when ILSpy is running from a different drive than the OS.

* Refine `GeneratePdbForAssemblies` implementation.

* Replace WinForms `FolderBrowserDialog` with WPF `OpenFolderDialog`.

* Add license header

* Exclude duplicate entries entered by the user within `OpenFolderAndSelectItems`.

* Explicitly declare that `ShellHelper.cs` is a module that allows Pinvoke.

* Use `FileMode.Create` for output PDB files to ensure existing files are fully overwritten/truncated.

* Show original filenames when generating PDBs to improve UX during batch processing.
2025-11-25 23:00:21 +01:00
Siegfried Pammer c34cc100b6 Records: Exclude static members from copy constructor check 2025-11-23 15:24:31 +01:00
Siegfried Pammer 2bb06709e9 RecordDecompiler: nullable enable 2025-11-23 15:09:45 +01:00
Siegfried Pammer 2271229b23 Fix #3618: Extend validation of declared members and ctor parameters 2025-11-23 15:09:45 +01:00
Siegfried Pammer 396b58031b Add support for C# 14 first-class span types in the type system. 2025-11-21 21:39:09 +01:00
mmusu3 88b2c437a7 Address PR review feedback 2025-11-20 23:23:35 +10:00
Siegfried Pammer 45efc732a7 #3614: Use correct number of type arguments when adding type annotations to generic types with nested types. 2025-11-20 13:25:39 +01:00
mmusu3 22ceb6e7d1 Fix remaining cases with changes to IntroduceUsingDeclarations. 2025-11-20 10:57:42 +01:00
Siegfried Pammer 94050a4aca Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 2025-11-20 10:19:47 +01:00
ds5678 b9d6ba7dff Remove flags from box that indicate memory access and ability to throw 2025-11-13 23:29:41 -08:00
ds5678 ad4a87b9a3 Improve inlining of boxed values 2025-11-13 23:29:37 -08:00
Siegfried Pammer 7a5a2a00a9 #3452: Transform field initializers in structs only if no record and no primary ctor. 2025-11-13 08:37:48 +01:00
Siegfried Pammer cb48768b6d Fix #3610: Add more primary constructor test cases. 2025-11-12 23:29:54 +01:00
Siegfried Pammer 46c99f1a21 Fix #3452: More bugs with primary constructors. 2025-11-12 22:00:28 +01:00
Siegfried Pammer 9c8d1e48d9 Many thanks to @sonyps5201314 for providing the test cases and a suggested fix, which inspired these changes.
Various improvements regarding primary constructor decompilation, including:
- introduce `HasPrimaryConstructor` property in the AST, as there is a difference between no primary constructor and a parameterless primary constructor
- improved support for inherited records and forwarded ctor calls
- exclude non-public fields and properties in IsPrintedMember
- introduce an option to always make the decompiler emit primary constructors, when possible
2025-11-12 00:29:51 +01:00