416 Commits (master)

Author SHA1 Message Date
Siegfried Pammer 77d9ee73e9 Fix IDE2000 globally 3 days ago
Peter Crabtree e1e16b64f5 dev: Strip BOM mark from text files 4 months ago
Daniel Grunwald ec58d57875 #3465: Fix bugs in `comp.o` handling. 4 months ago
Daniel Grunwald f826037acc Protect IsInst against multi-step inlining -- we can only allow `Box` as the top-level argument, not anywhere within the argument tree. 4 months ago
Daniel Grunwald dd4bf7d8a4 Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction. 4 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) 5 months ago
Siegfried Pammer 2461f520ab Move LocalFunctionDecompiler.GetStatement to Block.GetContainingStatement 6 months ago
Daniel Grunwald 7fc9025500 Fix nullability of Extract return type 8 months ago
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 9 months 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. 9 months ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 10 months ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 1 year 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`. 3 years ago
Daniel Grunwald 8b9ba20847 Builtin unsigned right shift operator. 3 years ago
Daniel Grunwald 6d671071c1 Fix #2851: assertion after cloning a block with expected result type 3 years ago
ElektroKill b110d5c2dc
Implement support for Visual Basic yield return state machines 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
Daniel Grunwald 3c847b56a2 Fix decompilation of async streams compiled with Roslyn 4.2 4 years ago
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 4 years ago
Siegfried Pammer 5f73bfbb01 Fix Deconstruction for Deconstruct instance methods of value-types. 4 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. 5 years ago
Daniel Grunwald 245261a1e5 #nullable enable for Instructions.tt 5 years ago
Daniel Grunwald 0414e7f8e9 Fix potential NRE in ILFunction.RegisterVariable() 5 years ago
Daniel Grunwald 5fb2f7a22f #nullable enable for ILAst (except for generated code) 5 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. 5 years ago
Siegfried Pammer ba39dd5c55 Fix #2354: decompilation of unary and binary operators with nullable value types. 5 years ago
Siegfried Pammer e20ace0098 Fix build. 5 years ago
Siegfried Pammer d54016ce8f #2390: Add support for generic object initializers. 5 years ago
Daniel Grunwald bd9aabeae2 Update to dotnet-format 5.1.225507. 5 years ago
Daniel Grunwald f726a0b73e #nullable enable for typesystem and ILInstruction base class 5 years ago
Siegfried Pammer 3df82cf33b Add support for 'with' expressions 5 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