545 Commits (44cb31abaed9bc46d673d21107fe8faa37c1595d)

Author SHA1 Message Date
Sebastien Lebreton 44cb31abae Fix #3820: decompile dynamic ~ as ~x instead of an unsupported-opcode error 2 weeks ago
Siegfried Pammer 0c23009b3e Fix #3799: keep stackalloc initializer element type when the hint is not a pointer 2 weeks ago
Siegfried Pammer f5b00ac234 Model optional AST names as nullable; fold [NameSlot] into [Slot] 2 weeks ago
Siegfried Pammer ed7bfbf85a Guard null-object regressions in lambda body and token decorator 2 weeks ago
Siegfried Pammer 2ea569b005 Enable nullable reference types across the C# AST consumers 2 weeks ago
Siegfried Pammer 30f070558f Remove redundant AnonymousMethodExpression.HasParameterList 2 weeks ago
Siegfried Pammer 1f4fd68b3f Make optional AST slots nullable 2 weeks ago
Siegfried Pammer 77d57b91dc Drop token nodes and move comments and directives to trivia 2 weeks ago
Siegfried Pammer 63757ead3b Fix #3382: Support compiler-generated throw-helper invocations in switch-expression implicit default-case. 3 weeks ago
nikitalita 7d88d43a92 Fix `in` erroneously being applied to `this` 4 months ago
Siegfried Pammer 77d9ee73e9 Fix IDE2000 globally 6 months ago
ds5678 83df0ab9b9 Handle multiple calling conventions at once 7 months ago
ds5678 a04c0e4cab Improve decompilation of unmanaged function pointers 7 months ago
Siegfried Pammer 126e870a5a Fix #3577: Properly infer the switch governing type and preserve conversions 9 months ago
Siegfried Pammer d736b02e2b Fix #3480: assert at ExpressionBuilder.BuildArrayInitializerExpression with properties that are not C# indexers, but parameterized properties. 9 months ago
Daniel Grunwald ec58d57875 #3465: Fix bugs in `comp.o` handling. 11 months ago
Daniel Grunwald dd4bf7d8a4 Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction. 11 months ago
Siegfried Pammer 6c00c138eb Fix #3465: Translate comp.o(a op b) if op not in (==, !=) into Unsafe.As<object, UIntPtr>(ref a) op Unsafe.As<object, UIntPtr>(ref b) 11 months ago
Siegfried Pammer c9e3790adc Remove UnresolvedUsingScope 11 months ago
Siegfried Pammer d2d9281072 Move CanTransformToExtensionMethodCall to CSharpResolver 11 months ago
Siegfried Pammer 101ddf8783 Add support for constant slices of InlineArrays 1 year ago
Siegfried Pammer 79f7a188b0 Add support for C# 12 inline array expressions 1 year ago
Siegfried Pammer e7a6e27820 Fix #3464: Missing cast in string interpolation 1 year ago
ds5678 ceed9eb01a Dont call GetPointerArithmeticOffset twice unnecessarily 1 year 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 year ago
ds5678 8c29144811 Add struct to struct tests 1 year ago
ds5678 d75da053a8 Use type hint in pointer arithmetic when appropriate 1 year ago
Siegfried Pammer ffcd468d22 Fix #1572: parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions. 1 year ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 1 year ago
Siegfried Pammer ae776716dd Fix #3181: missing type information on NullReferenceExpression used with nullable value types. 2 years ago
Siegfried Pammer 7c6f7fea05 Make sure that there is only one applicable implicit conversion when dealing with switch, otherwise use an explicit cast. 2 years ago
Siegfried Pammer e4285b751b Fix build. 2 years ago
Siegfried Pammer efbefd0d3b Fix #3361: switch-value conversion was losing its target type. 2 years ago
Siegfried Pammer 8c440f42a8 Fix #2166: Unnecessary uint casts/conversions for certain bitwise operations 2 years ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 2 years ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 2 years ago
Siegfried Pammer 02d2a8c1f8 Add metadata processing for C# 12 'ref readonly' parameters 2 years ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 2 years 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(). 2 years ago
Siegfried Pammer eae54ddf24 Fix #3014: Missing type information in lambda expressions. 3 years ago
Siegfried Pammer 70616b301c Implement support for C# 11 switch on (ReadOnly)Span<char>. 3 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. 3 years ago
Siegfried Pammer bf96482d56 Support decimal constants in pattern matching 3 years ago
Siegfried Pammer 688474facd Add missing DecompilerSettings for new language features 3 years ago
Siegfried Pammer 8cb3a67c0c Support recursive pattern for value types 3 years ago
Siegfried Pammer 51a8eb28f1 Add support for var sub patterns. 3 years ago
Siegfried Pammer 3218a06396 Add support for string constant patterns. 3 years ago
Siegfried Pammer 65b4c928c0 Add support for simple constant patterns. 3 years ago
Siegfried Pammer f7343c75d0 Add support for simple recursive patterns where the sub pattern is a simple type pattern. 3 years ago
Siegfried Pammer 3d8cda5f88 Fix #2613: Detect pattern matching on variables of generic type with value types. 3 years ago