Siegfried Pammer
942131f487
#3068 : Introduce MetadataFile for pure ECMA-335 streams and as base class for PEFile
2 years ago
ElektroKill
38019ad5bf
Introduce `PdbExtraTypeInfo` struct and adjusted `IDebugInfoProvider`
2 years ago
Siegfried Pammer
566af5c2fb
Fix #3113 : Remove GetAlternativeName and instead reuse existing names, if there are no conflicts.
2 years 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
Siegfried Pammer
6172d63ff3
Support virtual modifier on static abstract interface members.
2 years ago
Siegfried Pammer
4893c58ac0
#1806 : Use NormalizeTypeVisitor.TypeErasure.EquivalentTypes in DebugInfoGenerator.HandleMethodBody to fix false positives in assertion.
2 years ago
Siegfried Pammer
bf96482d56
Support decimal constants in pattern matching
2 years ago
Siegfried Pammer
e193b838da
Move TransformDecimalCtorToConstant to EarlyExpressionTransforms
2 years ago
Siegfried Pammer
688474facd
Add missing DecompilerSettings for new language features
2 years ago
Siegfried Pammer
8e63d92886
Add null and not null patterns for nullable value types
2 years ago
Siegfried Pammer
800067e488
Pattern Matching: Ensure that we always return a non-null instruction after successfully matching a pattern.
2 years ago
Siegfried Pammer
cb62cac9d3
Add support for nullable int const patterns
2 years ago
Siegfried Pammer
a93731ad3a
Add support for nullable structs
2 years ago
Siegfried Pammer
1cb4e77f06
Refactor sub pattern detection into loop to allow continuations of outer patterns.
2 years ago
Siegfried Pammer
8cb3a67c0c
Support recursive pattern for value types
2 years ago
Siegfried Pammer
e475af7822
Support null check without type check in sub patterns.
2 years ago
Siegfried Pammer
51a8eb28f1
Add support for var sub patterns.
2 years ago