Commit Graph
15 Commits
Author SHA1 Message Date
Siegfried Pammer 3cb27b0dcc Fix #3510: keep exporting a project when a member cannot be decompiled
One member the decompiler could not handle aborted the whole export, so a
single unsupported method in a large assembly left the user with nothing: no
sources, no .csproj, no way around it. Recovering silently would trade that
for a worse outcome - broken output nobody knows is broken - so every failure
is recorded, written where the content would have gone, and pointed at the
issue tracker.

The recovery has to hold for anything the export touches, not just method
bodies: a file that cannot be created, a resource that cannot be decoded, an
output visitor that throws mid-type. Each of those costs its own unit and
nothing else, and the units behind a failure are still produced - dropping
them would make the export look complete when it is not.

Consumers that relied on the exception keep their failure signal: ilspycmd
exits non-zero and lists the failures, the PowerShell cmdlets raise an error
record per failure, and the round-trip suite asserts the export reported none
- otherwise a crash on a method its own tests never call would ship green.

Assisted-by: Claude:claude-opus-5[1m]:Claude Code
2026-08-10 21:00:47 +02:00
Siegfried Pammer 07d5a01d2b Add license headers to source files that lacked them
Backfills the standard MIT X11 header on hand-written files that never
got one, attributing each to its first-commit author and year from git
history. Code vendored from dotnet/runtime and Humanizr/Humanizer gets
its origin's license lines and a provenance note instead. Generated
files (Resources.Designer.cs, the version-info template), tool-managed
suppression files, and BAML test-case fixtures intentionally stay
header-less.

Assisted-by: Claude:claude-fable-5:Claude Code
2026-07-05 21:09:46 +02:00
Peter Crabtree e1e16b64f5 dev: Strip BOM mark from text files 2025-08-28 20:56:19 -04:00
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 2024-03-24 15:35:13 +01:00
Siegfried Pammer 343694c549 Generalize progress reporting for decompilation and PDB generation. 2022-10-21 10:18:05 +02:00
Siegfried Pammer 1b51c9830d Fix build. 2022-03-22 22:21:28 +01:00
Siegfried Pammer d2b3abb276 #2516: Add ILSpy.AddIn.slnf, ILSpy.Wpf.slnf and ILSpy.XPlat.slnf; replaces Frontends.sln 2021-10-15 13:30:34 +02:00
dymanoid b492a20442 Move assembly resolution logic to better place
WholeProjectDecompiler shall not care about checking whether an assembly
is in GAC.
2020-06-08 19:07:04 +02:00
dymanoid a952cda502 Create dedicated namespace for project decompiler 2020-06-07 11:46:46 +02:00
Siegfried Pammer 350c54d575 GetDecompiledProjectCmdlet: remove unnecessary use of ConcurrentQueue 2020-02-02 09:18:59 +01:00
Siegfried Pammer d051e3aca4 Fix #1923: Add progress reporting to PowerShell GetDecompiledProjectCmdlet 2020-01-31 14:55:38 +01:00
Siegfried Pammer 7a58b8e6d5 Fix #1257 for GetDecompiledProjectCmdlet 2018-08-13 10:02:05 +02:00
Siegfried Pammer 728d7c1442 Remove references to non-existent Rebracer.xml and apply .editorconfig formatting to projects in Frontends.sln. 2018-08-13 09:46:11 +02:00
Siegfried Pammer e134396912 Update ICSharpCode.Decompiler.PowerShell to 4.0.0.4201-alpha1 2018-07-18 21:36:24 +02:00
Christoph Wille bb286b3cfc PowerShell cmdlets for ILSpy 2017-10-31 17:07:43 +01:00