Siegfried Pammer
783c934bfd
Transform RequiresLocationAttribute to 'ref readonly' on function pointers.
10 months ago
Siegfried Pammer
02d2a8c1f8
Add metadata processing for C# 12 'ref readonly' parameters
10 months ago
Siegfried Pammer
5d36732fcf
Remove ApplyPdbLocalTypeInfoTypeVisitor (merge it into ApplyAttributeTypeVisitor)
10 months ago
Siegfried Pammer
4bf9487ecd
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
10 months ago
Daniel Grunwald
ce8fb83c52
Forgot to commit some files
10 months ago
Daniel Grunwald
d48df11133
Remove unused transforms: DecimalConstantTransform and ParameterNullCheckTransform
10 months ago
Daniel Grunwald
fa19470435
Fix #3218 : Avoid exceptions when IL is invalid due to unexpected end-of-method-body.
11 months ago
Siegfried Pammer
6c08851cb0
#3209 : Only add imports for extension methods.
11 months ago
Siegfried Pammer
972354913e
Fix #3209 : Ensure using directives are added for extension methods in higher level patterns such as: foreach -> GetEnumerator(), collection initializer -> Add() and deconstruction -> Deconstruct().
11 months ago
Siegfried Pammer
401cb77ae3
Fix #3189 : Support primitive types in Expression.Constant(object) pattern.
12 months ago
Siegfried Pammer
77b237d5a4
Fix mysteriously deleted issue #3197 : Skip file formats that currently can only be loaded from a file when dealing with a file from a bundle or package.
12 months ago
Christoph Wille
f996283233
Update NuGet packages
12 months ago
Christoph Wille
b1a4ab15c4
Fix NETCORE to NET8(or newer) directive
1 year ago
Daniel Grunwald
38e7ab4373
Fix #3110 : Add support for MCS 2.6.4 pinned region with array variable
...
* Added additional code to remove the conv instruction present in the initialization part of the pinned region.
* Extended the code responsible for removing the unpin stloc to correctly match the inverted condition found in MCS 2.6.4 compiled code.
* Enabled already present correctness test to run for MCS 2.6.4.
This is a more generalized version of the fix on PR #3110 proposed by @ElektroKill .
1 year ago
Siegfried Pammer
1fca3da27b
Fix #3072 : Ignore resources have the same name as a namespace.
1 year ago
Siegfried Pammer
963ff7cb3d
Fix #3151 : Make IProjectFileWriter API public
1 year ago
Siegfried Pammer
969e3e546a
Add support for switch on (ReadOnly)Span<char> using a compiler-generated hash function.
1 year ago
Siegfried Pammer
9ba47db69b
Add new a.GetValueOrDefault(b) -> a ?? b transform for side-effect-free default values.
1 year ago
Siegfried Pammer
2d90c457c8
Lift some artificial restrictions to PEFile in WholeProjectDecompiler and ReflectionDisassembler.
1 year ago
Siegfried Pammer
921bf36261
Add WebCIL support
1 year ago
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
1 year ago
Siegfried Pammer
3e9e7a3b55
Add intentation level to make it easier to see custom attributes belonging to interface implementations.
1 year ago
Siegfried Pammer
89d97b99a0
#3177 : Print metadata token of custom attribute in IL output.
1 year ago
Siegfried Pammer
2e777201f3
Fix bug in UnknownType: FullName of nested unknown types did not contain the outer type name(s), but only namespace and nested type name.
1 year ago
James May
63224425fe
Add ModuleReferences
1 year ago
Siegfried Pammer
514551ef9f
Add exported types
1 year ago
Siegfried Pammer
dbb834022f
Add treenode for MemberReferences.
1 year ago
James May
2a6e141465
add "Referenced Types" under References
1 year ago
Siegfried Pammer
cfb4f0f312
Fix #3153 : Always use SHA1 for public key tokens. According to ECMA-335, the hash algorithm stored in the assembly metadata is intended for file content verification purposes, not identification purposes.
1 year ago
Siegfried Pammer
1370b999fe
Fix #2893 : Add option to disable automatic assembly loading.
...
This setting is honored by all functionality that triggers a decompilation run. It is ignored by features that load assemblies as their primary function. For example, using the "Load Dependencies" feature will still resolve and load assemblies from the file-system. The same happens when you double-click on an assembly reference in the tree view. It will be resolved and loaded.
Note that disabling automatic assembly load will cause the decompiler to potentially not be able to resolve types from references that have not been added manually and the quality of the decompiled code will be inferior as a result.
1 year ago
Siegfried Pammer
12cbf14106
Clean up node classes.
1 year ago
Siegfried Pammer
942131f487
#3068 : Introduce MetadataFile for pure ECMA-335 streams and as base class for PEFile
1 year ago
ElektroKill
38019ad5bf
Introduce `PdbExtraTypeInfo` struct and adjusted `IDebugInfoProvider`
1 year ago
Siegfried Pammer
566af5c2fb
Fix #3113 : Remove GetAlternativeName and instead reuse existing names, if there are no conflicts.
1 year ago
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
2 years ago
Christoph Wille
abce1a5ae9
Go to latest version where applicable (ics.d stays on v6 for SRM) ( #3120 )
2 years ago
Christoph Wille
a25c1dba33
Due to fx change next version will be major 9
2 years ago
ElektroKill
5b526cfeac
Read and use tuple element names and dynamic type information from PDBs
2 years ago
Siegfried Pammer
95108c967a
Fix #3108 : illegal nested classes in enums throw off EnumValueDisplayMode handling.
2 years ago
James May
0bab8a01ef
Reduce "unsafe" by replacing byte* pointer usage with ReadOnlySpan<byte> ( #3106 )
2 years ago
Siegfried Pammer
eae54ddf24
Fix #3014 : Missing type information in lambda expressions.
2 years ago
Daniel Grunwald
c12187277c
Also use GraphTraversal.DepthFirstSearch for dominance calculation.
2 years ago
Daniel Grunwald
d58576f409
Fix #3075 : eliminate recursion in TopologicalSort and BlockTransform.
2 years ago
Daniel Grunwald
e84df3ff20
Move BitOperations to namespace System.Numerics.
2 years ago
Siegfried Pammer
d5cec0ab37
Fix #3103 : unaligned.stobj cannot be transformed into inline assignment
2 years ago
Siegfried Pammer
26c9df5d03
Fix #3090 : add support for the NUGET_PACKAGES environment variable
2 years ago
Daniel Grunwald
18666d8d5d
Fix additionalReturnTypeAttributes not being applied.
2 years ago
Daniel Grunwald
5a5be026d0
Avoid reference count temporarily dropping to zero while ConditionDetection moves instructions to other blocks.
...
This avoids recursively un-registering e.g. all LdLocs from their ILVariable.LoadInstructions, etc. (all the ILInstruction.Disconnected logic). This speeds up the example from #1193 by another factor 2.
2 years ago
Siegfried Pammer
ee160b4e2a
#3075 : Improve performance of CSharpResolver.LookupSimpleNameOrTypeName in cases with a large number of local variables.
2 years ago
Siegfried Pammer
5a3c6e0872
Remove some unused variable management methods in CSharpResolver.
2 years ago