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
Daniel Grunwald
a14cc0234e
Fix #3094 : look for `[NullableAttribute]` both on the property getter and property itself
2 years ago
Daniel Grunwald
ea5adf8e01
Make `ILVariableEqualityComparer.GetHashCode` structurally more similar to the Equals implementation
2 years ago
Siegfried Pammer
cef99dc140
#3075 : Fix ILVariableEqualityComparer.GetHashCode
2 years ago
Siegfried Pammer
09691bd27e
#3075 : Add NextSetBit operation to BitSet to avoid looking at every store bit individually in ReachingDefinitionsVisitor.GetStores()
2 years ago
Siegfried Pammer
0a2037ae1f
#3075 : Avoid processing already-transformed blocks by introducing BlockTransformContext.IndexOfFirstAlreadyTransformedInstruction, which allows us to track already transformed instructions after a block has been merged into another by ConditionDetection.
2 years ago
Daniel Grunwald
a9eccdb654
Fix #3004 : MetadataModule.ResolveEntity() returning null for System.IntPtr when C# 11 native integers are enabled.
2 years ago
Siegfried Pammer
9e168224dd
Fix #3091 : extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable.
2 years ago
Daniel Grunwald
d2d1c3326f
Fix #3070 stack order on block reimport
2 years ago
Daniel Grunwald
5206aef4ce
Fix #3071 BlockBuilder assertion for unreachable try-block
2 years ago
Christoph Wille
6d8647bb33
Set next version to 8.2
2 years ago
Siegfried Pammer
0fc003459f
Fix #3079 : Replace parameter names that consist of only whitespace
2 years ago
Siegfried Pammer
4ca9fddd6f
Fix #3069 : Reuse SwitchAnalysis instead of MatchIfElseOnCharBlock
2 years ago
Siegfried Pammer
32242c54a1
Fix #3056 : WriteParameterReference was using the wrong parameter definition in static methods.
2 years ago
Siegfried Pammer
7414aaeeeb
Fix #3061 : Handler blocks of exception filter blocks do not have a header.
2 years ago
Siegfried Pammer
70616b301c
Implement support for C# 11 switch on (ReadOnly)Span<char>.
2 years ago
Daniel Grunwald
03bceed0c1
Fix #2397 : Introduced calls to Unsafe.Read or Unsafe.Write when we would otherwise cause "Cannot declare a pointer to a managed type T" errors.
2 years ago
Daniel Grunwald
9becae2de7
Fix #3051 : "InvalidOperationException: Stack empty" when decompiling reference assembly with empty method bodies
2 years ago
Siegfried Pammer
591ab6b75d
Implement support for explicit interface implementation of operators and operator uses.
2 years ago