Siegfried Pammer
79b0cbb719
Fix #3703 : Do not transform to a primary constructor if it's not public (or protected in abstract classes)
3 weeks ago
Siegfried Pammer
b100ddc077
Fix missing Space() in from clause
3 weeks ago
Siegfried Pammer
f987a6b041
Fix typo
3 weeks ago
Christoph Wille
067680e3de
Set next version (final)
1 month ago
Siegfried Pammer
fae6f57b1c
Fix #3671 : TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization.
1 month ago
Siegfried Pammer
faeae3f083
Fix #1682 , fix #1949 , fix #2394 and fix #3684 : Added basic algorithm of IsAccessorInterfaceImplementationRuntimeHelper
1 month ago
Siegfried Pammer
ade13f848e
Apply suggestions from Claude code review
1 month ago
Siegfried Pammer
91d7a76b94
Fix typo in MetadataModule.GetDefinition
1 month ago
Christoph Wille
5eebf1408a
One single approach to using SHA*. Fixes #3673 . ( #3679 )
1 month ago
Christoph Wille
c0d26255fa
.NET Update 10.0.4 to 10.0.5 ( #3681 )
1 month ago
Nikita
9ed96224b8
Update TransformCollectionAndObjectInitializers to check for init-only properties ( #3678 )
1 month ago
nikitalita
7d88d43a92
Fix `in` erroneously being applied to `this`
1 month ago
Siegfried Pammer
98d764a169
Add a treenode and decompiler APIs for extensions.
1 month ago
Christoph Wille
2f311c233d
Roslyn 5.3.0 ( #3665 )
...
NuGet updates 4/26 including Roslyn 5.3.0
2 months ago
Matt Parker
69659450a1
Replace FileVersionInfo.GetVersionInfo with DecompilerVersionInfo.Version constant ( #3667 )
2 months ago
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
2 months ago
Christoph Wille
4a29de5a4e
Preview 3 Designation
4 months ago
Siegfried Pammer
77d9ee73e9
Fix IDE2000 globally
4 months ago
Siegfried Pammer
d3e12d0ebf
Migrate from .ruleset to .editorconfig
4 months ago
Siegfried Pammer
5f32b6d7ea
Fix folding of extension declarations
4 months ago
Siegfried Pammer
5f0e767c7d
Fix crash in TryEncodingV2, if there are multiple extension groups with the same target type, but different extension parameter name.
4 months ago
Siegfried Pammer
0cd53418ad
Add ILAmbience
4 months ago
Siegfried Pammer
1579a1698c
Fix #3612 : WholeProjectDecompiler.CleanUpName does not count bytes on Unix.
4 months ago
sonyps5201314
45081a6c4e
Fix the issue where PDBs generated by ILSpy do not match certain assemblies.
5 months ago
Siegfried Pammer
3a27cbef06
Fix #3617 : Order of XML comments in types with primary constructors
5 months ago
Siegfried Pammer
c0a9afc4ad
Fix #3616 : local variable naming conflict with primary constructor parameters.
5 months ago
Christoph Wille
1070b03468
NuGet December 2025 Updates ( #3634 )
5 months ago
ds5678
83df0ab9b9
Handle multiple calling conventions at once
5 months ago
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.
5 months ago
Siegfried Pammer
d70a5e7fb2
Fix #3626 : Do not emit named arguments for bool constants, if it causes the call to become ambiguous.
5 months ago
Siegfried Pammer
0ed123af07
#3621 : Fix NRE when switching language version to C# 8.0 or lower.
5 months ago
Siegfried Pammer
3fd9981535
Fix #3621 : Fix multiple uses of primary ctor parameter in initializer of record.
5 months ago
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.
5 months ago
Siegfried Pammer
c34cc100b6
Records: Exclude static members from copy constructor check
5 months ago
Siegfried Pammer
2bb06709e9
RecordDecompiler: nullable enable
5 months ago
Siegfried Pammer
2271229b23
Fix #3618 : Extend validation of declared members and ctor parameters
5 months ago
Siegfried Pammer
396b58031b
Add support for C# 14 first-class span types in the type system.
5 months ago
mmusu3
88b2c437a7
Address PR review feedback
5 months ago
Siegfried Pammer
45efc732a7
#3614 : Use correct number of type arguments when adding type annotations to generic types with nested types.
5 months ago
mmusu3
22ceb6e7d1
Fix remaining cases with changes to IntroduceUsingDeclarations.
5 months ago
Siegfried Pammer
94050a4aca
Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body.
5 months ago
ds5678
b9d6ba7dff
Remove flags from `box` that indicate memory access and ability to throw
6 months ago
ds5678
ad4a87b9a3
Improve inlining of boxed values
6 months ago
Siegfried Pammer
7a5a2a00a9
#3452 : Transform field initializers in structs only if no record and no primary ctor.
6 months ago
Siegfried Pammer
cb48768b6d
Fix #3610 : Add more primary constructor test cases.
6 months ago
Siegfried Pammer
46c99f1a21
Fix #3452 : More bugs with primary constructors.
6 months ago
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
6 months ago
Christoph Wille
ac8503c005
.NET 10 RTM Package Update ( #3609 )
6 months ago
sonyps5201314
b63b515a27
Exclude `System.Runtime.CompilerServices.RefSafetyRulesAttribute` from the `module` attribute in the generated `AssemblyInfo.cs`, because including it causes the compiler error: `error CS8335: Do not use 'System.Runtime.CompilerServices.RefSafetyRulesAttribute'. This is reserved for compiler usage.`. ( #3606 )
6 months ago
Siegfried Pammer
1fe8771bc6
Fixed issue described in PR #3596 : Derived record classes do not necessarily declare a ToString override, as the core logic is in PrintMembers.
6 months ago