524 Commits
Author SHA1 Message Date
Siegfried Pammer 8b76879493 Fix #2716: Add an option to allow sorting custom attributes 2025-02-20 22:23:57 +01:00
Christoph Wille 1263f48dc0 Use Microsoft.Sbom.Targets in Decompiler, BamlDecompiler and ILSpyX NuGets (#3346)
https://github.com/microsoft/sbom-tool/tree/main/src/Microsoft.Sbom.Targets to embed SBOM

* GeneratePackageOnBuild removed, build action now has a new step for dotnet pack
* Decompiler, BamlDecompiler and ILSpyX include SBOM
2025-01-10 20:44:36 +01:00
Christoph Wille 1048cd9557 Enable repeatable package restores (#3359)
Locking restricted to projects that create NuGet packages
    ICSharpCode.Decompiler
    ICSharpCode.ILSpyX
    ILSpyCmd
    ICSharpCode.BamlDecompiler
2025-01-03 14:30:08 +01:00
Siegfried Pammer 6cee0cdc4b Fix #3258: Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo. 2024-08-13 11:43:04 +02:00
Siegfried Pammer 5d36732fcf Remove ApplyPdbLocalTypeInfoTypeVisitor (merge it into ApplyAttributeTypeVisitor) 2024-07-19 18:40:07 +02:00
Daniel Grunwald ce8fb83c52 Forgot to commit some files 2024-07-19 09:39:59 +02:00
Siegfried Pammer 921bf36261 Add WebCIL support 2024-03-24 15:35:13 +01:00
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 2024-03-24 15:35:13 +01:00
James May 63224425fe Add ModuleReferences 2024-03-16 15:44:38 +01:00
Siegfried Pammer 514551ef9f Add exported types 2024-03-16 15:44:31 +01:00
Siegfried Pammer dbb834022f Add treenode for MemberReferences. 2024-03-16 15:33:29 +01:00
James May 2a6e141465 add "Referenced Types" under References 2024-03-16 15:14:31 +01:00
Siegfried Pammer 760e7e0c23 Merge pull request #3114 from ElektroKill/pdb-extra-local-type-info
Read and use tuple element names and dynamic type information from PDBs
2023-12-24 19:32:55 +01:00
Christoph Wille 084d02a447 Apply Central package management (requires package source mapping) (#3124)
* Apply Central package management https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management (requires package source mapping https://learn.microsoft.com/en-us/nuget/consume-packages/package-source-mapping)

* Microsoft.DiaSymReader.Converter.Xml from dotnet-tools, Microsoft.DiaSymReader.Native from nuget.org feed

* Trying to sort what is on which feed for previews of Diasymreader packages

* Parse the Roslyn version from Directory.packages.props

* Use specific versions for Diasymreader from nuget.org to allow VS2022 addin to restore properly

* Tests needs also locked references
2023-11-23 07:25:23 +01:00
Christoph Wille abce1a5ae9 Go to latest version where applicable (ics.d stays on v6 for SRM) (#3120) 2023-11-20 12:42:30 +01:00
ElektroKill 5b526cfeac Read and use tuple element names and dynamic type information from PDBs 2023-11-07 21:39:16 +01:00
Daniel Grunwald d58576f409 Fix #3075: eliminate recursion in TopologicalSort and BlockTransform. 2023-10-21 16:38:21 +02:00
Siegfried Pammer 09691bd27e #3075: Add NextSetBit operation to BitSet to avoid looking at every store bit individually in ReachingDefinitionsVisitor.GetStores() 2023-10-14 21:08:00 +02:00
Siegfried Pammer f7343c75d0 Add support for simple recursive patterns where the sub pattern is a simple type pattern. 2023-08-04 16:28:13 +02:00
tom-englertandSiegfried Pammer 3248657d2b Add filtering/sorting capabilities to ReflectionDisassembler (#2835)
Co-authored-by: Siegfried Pammer <[email protected]>
2022-11-20 20:35:43 +01:00
Siegfried Pammer 51c7c45b14 Fix build. 2022-11-02 08:02:30 +01:00
Christoph Wille 01b27084e8 Fix package generation - exclude content files, include PackageIcon 2022-10-27 18:37:54 +02:00
Siegfried Pammer 343694c549 Generalize progress reporting for decompilation and PDB generation. 2022-10-21 10:18:05 +02:00
Siegfried Pammer ed02b2eb9e Add MemberNotNullWhenAttribute to IMethod, IProperty and IEvent. Make sure that it's guaranteed that AccessorOwner is non-null, when IsAccessor is true. 2022-10-02 22:46:37 +02:00
Christoph Wille 571ae3b5fd ICS.D is used downstream with specific version requirements re:dependencies. ILSpy itself can use newer version, thus ICS.D.csproj is no longer using version vars from packages.props (#2776) 2022-09-03 15:13:43 +02:00
Siegfried Pammer 6d4c5f3273 Fix #2757: Inject ILSpyUpdateAssemblyInfo into GetPackageVersionDependsOn so Pack uses the generated version when evaluating project references. (#2769) 2022-08-27 18:31:03 +02:00
Siegfried Pammer 5046e4cf60 Fix #2718, Fix #2719, Fix #2725: Remove WPF compiler-generated code. 2022-07-15 18:17:27 +02:00
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 2022-07-15 11:43:51 +02:00
Siegfried Pammer 8dd721aee3 Fix #2706: Filenames and directories truncated to 30 characters.
With the built-in support for long paths in .NET 6.0, we no longer need to check for the registry key. The only limitation that remains is maxSegmentLength, which seems to be 255 on all commonly used file systems/all platforms. Also there is no need to differentiate between Windows and other platforms.

- Windows Explorer in Windows 10 seems to be fine with files generated by ILSpy that have names longer than 260 characters.
- Notepad++ and other applications seem to use 8.3 path syntax to access the file.
- Visual Studio 2022 does not like the long path names, affected users should raise an issue with MS. ILSpy generates proper paths.
2022-06-15 23:04:56 +02:00
Siegfried Pammer 702a7da2c3 Fix #2714: Force inlining of call targets in ctor initializers. 2022-06-15 22:03:02 +02:00
Siegfried Pammer 9e462b53ad Add support for C# 11 parameter null checks 2022-04-16 20:42:48 +02:00
Siegfried Pammer f72e0a866b Turn on WarningsAsErrors for nullable warnings in ICSharpCode.Decompiler 2022-04-15 13:32:08 +02:00
Christoph Wille 4b8e6a421a Remove "HACK: Disable package generation on Unix due to tooling issues." (#2670) 2022-04-14 08:43:59 +02:00
Christoph Wille a0fece6f5f Add PackageReadmeFile 2022-04-12 16:56:39 +02:00
Siegfried Pammer 93dcba3426 * Rename Metadata.GenericContext to MetadataGenericContext to avoid conflicts with TypeSystem.GenericContext
* Change MetadataGenericContext to readonly struct
* Rearrange types in Dom.cs
2022-04-12 09:38:58 +02:00
Siegfried Pammer 6a6e82c372 Use ReferenceAssemblyAnnotator in ICSharpCode.Decompiler.csproj 2022-04-10 23:01:27 +02:00
Siegfried Pammer 7019e1c02f Make sure that update-assemblyinfo.ps1 fails if PowerShell >= 5.0 is not installed. 2022-04-10 11:09:43 +02:00
Siegfried Pammer f28749ebe0 Fix build. 2022-04-02 14:38:52 +02:00
Siegfried Pammer b3f8e4fe3c Simplify update-assemblyinfo.ps1 and introduce public DecompilerVersionInfo class. 2022-03-20 18:37:00 +01:00
Siegfried Pammer 8cc0bf8b49 Generalize FindTypeDecoder 2022-03-07 17:14:04 +01:00
Siegfried Pammer 406f537fbe Ditch nuspec.template 2022-03-07 09:19:25 +01:00
Christoph Wille 5ff81c25f8 Update (c) for 2022 2022-01-29 12:13:55 +01:00
Christoph Wille 963a99d330 Update NuGet packages 2021-12-25 10:10:20 +01:00
Christoph Wille 1b3a73d9e9 Add ETW for event + property decompilation as PoC 2021-10-12 11:24:48 +02:00
Siegfried Pammer 6290e2f016 Merge branch 'master' into pattern-matching 2021-10-04 18:23:02 +02:00
Siegfried Pammer 07199e2ecf Fix #2038: Add proper support for Long paths on Windows 10 and limit path segments to 255 characters (with long path support) or 30 characters. If a PathTooLongException is thrown display a better error message on project export. 2021-09-06 21:02:31 +02:00
Siegfried Pammer dbbcbb87fe Make pattern matching transform a simple ILTransform for both reference and value types. Check that the true branch dominates all uses of the pattern variable. 2021-09-05 18:46:03 +02:00
Siegfried Pammer 83727ea4b0 Add support for value type patterns 2021-07-25 13:58:23 +02:00
Siegfried Pammer c641072685 Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern. 2021-07-18 20:57:33 +02:00
Daniel Grunwald 040ab41c69 Initial implementation of the pattern matching transform. 2021-07-17 15:01:12 +02:00