407 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

Author SHA1 Message Date
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 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
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 2 months ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 10 months 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
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
Siegfried Pammer 70616b301c Implement support for C# 11 switch on (ReadOnly)Span<char>. 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 cb62cac9d3 Add support for nullable int const patterns 2 years ago
Siegfried Pammer e475af7822 Support null check without type check in sub patterns. 2 years ago
Siegfried Pammer 4e62fea07a Fix pattern matching with fields and value types. 2 years ago
Siegfried Pammer 3218a06396 Add support for string constant patterns. 2 years ago
Daniel Grunwald b80d20b15d Add support for calling `operator checked`. 2 years ago
Daniel Grunwald 8b9ba20847 Builtin unsigned right shift operator. 2 years ago
Daniel Grunwald 6d671071c1 Fix #2851: assertion after cloning a block with expected result type 2 years ago
ElektroKill b110d5c2dc
Implement support for Visual Basic yield return state machines 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
Daniel Grunwald 3c847b56a2 Fix decompilation of async streams compiled with Roslyn 4.2 3 years ago
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 3 years ago
Siegfried Pammer 5f73bfbb01 Fix Deconstruction for Deconstruct instance methods of value-types. 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
Daniel Grunwald 77dcbbee86 Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment 4 years ago
Daniel Grunwald f104233e78 Fix #2388: Add support for branch from catch-block to try-block (VB `On Error Resume Next`) 4 years ago
Daniel Grunwald 040ab41c69 Initial implementation of the pattern matching transform. 4 years ago
Daniel Grunwald 245261a1e5 #nullable enable for Instructions.tt 4 years ago
Daniel Grunwald 0414e7f8e9 Fix potential NRE in ILFunction.RegisterVariable() 4 years ago
Daniel Grunwald 5fb2f7a22f #nullable enable for ILAst (except for generated code) 4 years ago
Daniel Grunwald 6757295b3b Fix #2379: Keep `return` statements around in original form for ConditionDetection, only transform to fall-through block-exit at the end of the transform pipeline. 4 years ago
Siegfried Pammer ba39dd5c55 Fix #2354: decompilation of unary and binary operators with nullable value types. 4 years ago
Siegfried Pammer e20ace0098 Fix build. 4 years ago
Siegfried Pammer d54016ce8f #2390: Add support for generic object initializers. 4 years ago
Daniel Grunwald bd9aabeae2 Update to dotnet-format 5.1.225507. 4 years ago
Daniel Grunwald f726a0b73e #nullable enable for typesystem and ILInstruction base class 4 years ago
Siegfried Pammer 3df82cf33b Add support for 'with' expressions 4 years ago
Daniel Grunwald 3831b42197 Properly support `calli` instruction and its interaction with function pointer types. 5 years ago
Siegfried Pammer 549f7fb44d Fix #2143: Missing `this.` qualification in lambda 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer dab70964a5 Add support for C# 8.0 disposable ref structs 5 years ago
Siegfried Pammer 1ecf489597 Add support for deconstruction to fields 5 years ago
Siegfried Pammer a549b03bea Implement ref local assignments 5 years ago
Siegfried Pammer 7f4653c274 Add support for tuple deconstruction 5 years ago
Siegfried Pammer 442f6f90b7 Implement deconstruction discards 5 years ago
Siegfried Pammer 9cb3fe3484 Add support for basic deconstruction conversions 5 years ago
Siegfried Pammer b435c07f4d Added support for deconstruction assignments to properties 5 years ago
Daniel Grunwald b6b5f1e8e6 #2092: ILFunction.Parameters / ILFunction.ReturnType should never be null. 5 years ago
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 5 years ago
Siegfried Pammer b01e9484d5 Fix bugs in ILAst 5 years ago
Siegfried Pammer 6bb6097ad4 Extended DeconstructInstruction.CheckInvariant 5 years ago