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