194 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

Author SHA1 Message Date
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 2 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 9548a11d37 Use ILSpyHelper_AsRefReadOnly to ensure that overload resolution can pick the correct overload using 'in'. 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
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
Siegfried Pammer 5f324de10b Add support for ref fields. 3 years ago
Siegfried Pammer 5f73bfbb01 Fix Deconstruction for Deconstruct instance methods of value-types. 3 years ago
Daniel Grunwald 2419c2641a StatementBuilder.TransformToForeach: allow both `break;` and `return;` within the using body 4 years ago
Siegfried Pammer 8fc64669c2 Add annotations on local function parameter declarations 4 years ago
Siegfried Pammer bf8166d045 Fix #2291: block container end labels should be unique as well. 4 years ago
Siegfried Pammer f29205448b Fix #2283: Disallow all implicit conversions in switch on string. 4 years ago
Siegfried Pammer 63ca748b9a Fix #2283: string.to.int instruction entails a conversion to string of the input value 4 years ago
Daniel Grunwald 54231edb4b Fix #2189: Invalid C# generated when pinning an unmanaged pointer. 5 years ago
Siegfried Pammer b7d2eec41d #2199: Add support for VB cached delegate initialization 5 years ago
Siegfried Pammer d3b0e4cd72 Fix #2196: Add support for extern local functions. 5 years ago
Siegfried Pammer 4e07c952ab Fix #2195: foreach loop conversion accidentally removes end container label. 5 years ago
Siegfried Pammer e7cb27a134 Fix #2182: Ensure that all labels generated by StatementBuilder are unique. 5 years ago
Siegfried Pammer 813cd1842f #2156: Enforce string type of string.to.int argument. 5 years ago
Siegfried Pammer 13636c89cc Add support for C# 9: foreach with GetEnumerator extension methods. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer 562699fc94 Add support for C# 8.0 await foreach 5 years ago
Siegfried Pammer b1b49b5a56 Fix bugs in foreach deconstruction and deconstruction declaration, if the same variable is used multiple times. 5 years ago
Siegfried Pammer 3390d3849d Added support for `var (a, b, _) = ...;` syntax in deconstruction. 5 years ago
Siegfried Pammer dab70964a5 Add support for C# 8.0 disposable ref structs 5 years ago
Siegfried Pammer c9f5e5dd33 Refactor ForeachStatement to support deconstruction 5 years ago
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 5 years ago
Siegfried Pammer 18ace00266 Refactor LocalFunctionDeclarationStatement + LocalFunctionMethod 5 years ago
Daniel Grunwald 35c405b973 Translate the initializer of a `fixed` statement as managed reference and only apply the ref-to-pointer conversion at the end. 5 years ago
Siegfried Pammer 9f0ca09e56 Fix #2033: Wrong place for variable declaration. 5 years ago
Siegfried Pammer 8925b4ff7b Inline variable declarations/modernize parts of our code base. 5 years ago
Siegfried Pammer ba5c645257 Add TryCatchHandler annotation to CatchClause 5 years ago
Siegfried Pammer e748e71b56 Implement workaround for #1961 5 years ago
Siegfried Pammer 5d622056a1 Add TranslatedStatement: require that C# statements must be annotated with their corresponding ILInstructions. 5 years ago
Siegfried Pammer b953d6e8d0 Fix potential NRE in StatementBuilder.TryCatch 5 years ago
Siegfried Pammer 9e89384916 Make NumberOfCompilerGeneratedGenerics immutable and rename to NumberOfCompilerGeneratedTypeParameters 5 years ago
Daniel Grunwald eb2a9e6b94 #1852: Rename array.to.pointer opcode to get.pinnable.reference. 6 years ago
SilverFox 5e6fecebf5 Rework support for generic local function, and fix tests `LocalFunctions.Generic.Test_CaptureT` and `LocalFunctions.Generic.TestGenericArgs` 6 years ago
SilverFox 6409fe945c Add support for static local function 6 years ago
SilverFox f039705704 Add support for generic local function 6 years ago
Siegfried Pammer 64b9511aca #1749: Represent multi-instruction BlockContainers in expression-context as inlined delegate invocation. 6 years ago
David Wengier e30e08a59d The resource expression is always needed regardless of the setting. 6 years ago
David Wengier 3aebec96f5 Fix NullReferenceException when foreach decompilation is turned off 6 years ago
Daniel Grunwald 80cb24d180 Fix #1709: NullPropagationTransform.IsGetter on generic types 6 years ago
Siegfried Pammer c7f98a4db7 Add support for await using statements. 6 years ago
Daniel Grunwald c56714c607 Fix assertion with async lambdas; fix async local functions. 6 years ago
Daniel Grunwald 0a54a93be0 Relax foreach transform to allow stack slots as foreach-variable again. 6 years ago