382 Commits (22c98016a97bee5d1aee15b019bcd34f2ae51144)

Author SHA1 Message Date
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
Daniel Grunwald cda56e7f7e #2048: Pattern matching: documentation and invariants for MatchInstruction. 5 years ago
Daniel Grunwald bdea1950a8 Add `#if !NETCORE` around extension methods that are included with .NET Core 3 5 years ago
Siegfried Pammer 95f2ae7aef Add ILAst base for Deconstruction and Pattern Matching 5 years ago
Daniel Grunwald e0fd0bba32 Allow inlining constants into expression trees. 5 years ago
Daniel Grunwald c63e14e805 Move some special cases from ILInlining.FindLoadInNext to the individual ILInstructions. 5 years ago
Daniel Grunwald 1d684102ac Support compound assignment for native integers. 5 years ago
Daniel Grunwald b18ed89b67 #2050: Add assertion to check that no transform uses StObj.TargetSlot incorrectly. 5 years ago
Daniel Grunwald 62fcab8d99 #2050: Allow inlining into the StObj target slot when this is possible without changing the program semantics. 5 years ago
Daniel Grunwald d8e837ef47 Fix #1772: Support EnumeratorCancellationAttribute 5 years ago
Daniel Grunwald 925a4e1e65 #2050: Don't put ldflda/ldelema with immediate exceptions into StObj.TargetSlot. 5 years ago
Daniel Grunwald 2c0554f129 Fix #1963: Support decompiling `calli` instructions into C# 9 function pointer syntax. 5 years ago
Siegfried Pammer bcd7219535 Adjust CapturedVariables collection in ReplaceDelegateTargetVisitor and in TransformExpressionTrees 5 years ago
Siegfried Pammer 3436ac3246 Fix #2018: Improve tooltips in IL/IL with C#/R2R view to show full member signatures 5 years ago
Siegfried Pammer 0fa04a5248 Fix build. 5 years ago
Siegfried Pammer 1c7d9705da Add Validation of delegate target instructions. 5 years ago
Siegfried Pammer 6042819117 Implement Block.CheckInvariant for BlockKind.ArrayInitializer, BlockKind.CollectionInitializer and BlockKind.ObjectInitializer 5 years ago
Siegfried Pammer f1cbc7c8db Add AggressiveScalarReplacementOfAggregates option 5 years ago
Siegfried Pammer 4f7ca65408 Fix #1913: Make sure to declare local variables captured by local functions before the first invocation of the local function. 5 years ago
Siegfried Pammer 83e8049114 Add ILVariable.IsDead property 5 years ago
Siegfried Pammer 2601d17919 Add clarifying comment to ExceptionSpecifierILRange 5 years ago
Siegfried Pammer c293613a56 Add ExceptionSpecifierILRange to TryCatchHandler 5 years ago
Jackson Davis 6ab1f98fa3 Expand the range of sequence points out the closest empty ilstack 5 years ago
Siegfried Pammer e4fda5c2e4 Rename HasILRange to ILRangeIsEmpty to properly reflect its implementation. 5 years ago
Daniel Grunwald a1c211f326 Fix #1794: Avoid extra cast to double for ulong -> float conversion 6 years ago
Siegfried Pammer e211b01595 Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory. 6 years ago