521 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

Author SHA1 Message Date
ds5678 ceed9eb01a Dont call GetPointerArithmeticOffset twice unnecessarily 1 month ago
Siegfried Pammer 9f77f8a919 Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt. 1 month ago
ds5678 8c29144811 Add struct to struct tests 1 month ago
ds5678 d75da053a8 Use type hint in pointer arithmetic when appropriate 1 month ago
Siegfried Pammer ffcd468d22 Fix #1572: parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions. 2 months ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 2 months ago
Siegfried Pammer ae776716dd Fix #3181: missing type information on NullReferenceExpression used with nullable value types. 4 months ago
Siegfried Pammer 7c6f7fea05 Make sure that there is only one applicable implicit conversion when dealing with switch, otherwise use an explicit cast. 4 months ago
Siegfried Pammer e4285b751b Fix build. 4 months ago
Siegfried Pammer efbefd0d3b Fix #3361: switch-value conversion was losing its target type. 4 months ago
Siegfried Pammer 8c440f42a8 Fix #2166: Unnecessary uint casts/conversions for certain bitwise operations 7 months ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 10 months ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 10 months ago
Siegfried Pammer 02d2a8c1f8 Add metadata processing for C# 12 'ref readonly' parameters 10 months ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 10 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 eae54ddf24 Fix #3014: Missing type information in lambda expressions. 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
Siegfried Pammer bf96482d56 Support decimal constants in pattern matching 2 years ago
Siegfried Pammer 688474facd Add missing DecompilerSettings for new language features 2 years ago
Siegfried Pammer 8cb3a67c0c Support recursive pattern for value types 2 years ago
Siegfried Pammer 51a8eb28f1 Add support for var sub patterns. 2 years ago
Siegfried Pammer 3218a06396 Add support for string constant patterns. 2 years ago
Siegfried Pammer 65b4c928c0 Add support for simple constant patterns. 2 years ago
Siegfried Pammer f7343c75d0 Add support for simple recursive patterns where the sub pattern is a simple type pattern. 2 years ago
Siegfried Pammer 3d8cda5f88 Fix #2613: Detect pattern matching on variables of generic type with value types. 2 years ago
Siegfried Pammer 13227e433e Fix compound assignments with local variables. 2 years ago
Daniel Grunwald b80d20b15d Add support for calling `operator checked`. 2 years ago
Daniel Grunwald a2019c5d78 Avoid using `>>>` operator when the context expects a cast to unsigned anyway. 2 years ago
Daniel Grunwald 8b9ba20847 Builtin unsigned right shift operator. 2 years ago
Daniel Grunwald 3c46271a11 Add support for unsigned right shift. 2 years ago
Daniel Grunwald f568123704 Add support for UTF8 string literals 2 years ago
Siegfried Pammer 4d6c5322e9 Fix #2888: Tuple syntax cannot be used in is-expressions, use underlying type instead. 2 years ago
Daniel Grunwald 747d4c8178
Improve assertion to apply to the C# type instead of the ILAst type 2 years ago
ElektroKill 25873a68e0
Improve support for post-increment/decrement on pointers 2 years ago
Standa Lukeš 93eecf93a5
Add more asserts and ToStrings around the FakeProperty.Setter problem 3 years ago
Siegfried Pammer a3191f19e2 Fix #2763: Improve decompilation of switch-on-enum by preserving enum type information when inlining local variables into SwitchInstruction.Value. 3 years ago
hexafluoride fc6ae4c645 Add option to always fully qualify type names with global:: 3 years ago
Siegfried Pammer 48a8351e27 Use Unsafe.SizeOf when taking the size of a managed type. 3 years ago
Siegfried Pammer 5f324de10b Add support for ref fields. 3 years ago
Daniel Grunwald 21c3ec046f Output attributes on lambda expressions 3 years ago
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 3 years ago
Siegfried Pammer fbafc0289b Fix #2741: CallBuilder produces invalid invocation target when disambiguating calls to protected methods. 3 years ago
Siegfried Pammer d3f8912d53 Handle special-cases with addressof: 3 years ago
Siegfried Pammer 702a7da2c3 Fix #2714: Force inlining of call targets in ctor initializers. 3 years ago
Siegfried Pammer 6a27959cbc Improve decompilation of delegate references of extension methods. 3 years ago
Siegfried Pammer db034d3048 Remove incomplete/wrong support for null-forgiving operator. 3 years ago
Siegfried Pammer 41c99e4727 #2622: Fix crash in ExpressionBuilder when decompiling object initializer composed of readonly properties. 3 years ago
Daniel Grunwald 787621fb51 Revert "Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment" 4 years ago