197 Commits (e0e73cb36e3b77ad82331557499f84c6321d1aae)

Author SHA1 Message Date
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 4 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. 4 months ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 4 months ago
Siegfried Pammer 5d36732fcf Remove ApplyPdbLocalTypeInfoTypeVisitor (merge it into ApplyAttributeTypeVisitor) 1 year ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 1 year ago
Daniel Grunwald fa19470435 Fix #3218: Avoid exceptions when IL is invalid due to unexpected end-of-method-body. 1 year ago
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 1 year ago
ElektroKill 38019ad5bf
Introduce `PdbExtraTypeInfo` struct and adjusted `IDebugInfoProvider` 2 years ago
ElektroKill 5b526cfeac
Read and use tuple element names and dynamic type information from PDBs 2 years ago
Daniel Grunwald d2d1c3326f Fix #3070 stack order on block reimport 2 years ago
Daniel Grunwald 5206aef4ce Fix #3071 BlockBuilder assertion for unreachable try-block 2 years ago
Siegfried Pammer 0fc003459f Fix #3079: Replace parameter names that consist of only whitespace 2 years ago
Daniel Grunwald 9becae2de7 Fix #3051: "InvalidOperationException: Stack empty" when decompiling reference assembly with empty method bodies 2 years ago
Daniel Grunwald 768cb02f0b Fix #2964: Better error message when a method only contains a single ret instruction. 2 years ago
Daniel Grunwald 94d2ce0fcf Fix crash when control flow reaches end of method. 2 years ago
Daniel Grunwald b9ce8490f5 Remove hack that prevented inlining of the first instruction in each block. 2 years ago
Daniel Grunwald b93e65cdad Fix #901: Refactor ILReader: only read reachable code + support reimports 2 years ago
Daniel Grunwald 72a895f64f #nullable enable for ILReader 2 years ago
Siegfried Pammer 9f6f7a03ac Fix #2788: Handling of cpobj in ILReader was missing the stobj special case for the target pointer. 3 years ago
Siegfried Pammer 81f575e9ce Use PopStObjTarget in ILReader, if a call instruction has the same semantics as initobj. 3 years ago
Daniel Grunwald 9254abcf88 Fix StObj.CheckTargetSlot assertion 3 years ago
Daniel Grunwald c36c6efb2a ILReader: don't create stack slots if we can directly created inlined ILAst 3 years ago
Siegfried Pammer af56bb10d0 Determine isBranchTarget in a separate pass. We will need it for an optimization to ILReader in a future commit. 3 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
Siegfried Pammer e1ca4db851 Fix #2527: Support skip locals init 4 years ago
Siegfried Pammer 1568aeca3e Fix #2506: NamedArgumentTransform loses information, if the original variable is of StackType.Ref 4 years ago
Daniel Grunwald 6e8c1b3117 ILReader: support comparison between StackType.Ref and StackType.I 5 years ago
Daniel Grunwald 80cf72e498 #2182: Move "Transform call to struct constructor" from EarlyExpressionTransforms to ILReader. 5 years ago
Daniel Grunwald 47685c4b57 Fix weird casts to `nint` when writing to fields of unknown type. 5 years ago
Daniel Grunwald 3831b42197 Properly support `calli` instruction and its interaction with function pointer types. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Daniel Grunwald bdea1950a8 Add `#if !NETCORE` around extension methods that are included with .NET Core 3 5 years ago
Daniel Grunwald 2c0554f129 Fix #1963: Support decompiling `calli` instructions into C# 9 function pointer syntax. 5 years ago
Jackson Davis 6ab1f98fa3 Expand the range of sequence points out the closest empty ilstack 5 years ago
SilverFox f039705704 Add support for generic local function 6 years ago
Daniel Grunwald a1c211f326 Fix #1794: Avoid extra cast to double for ulong -> float conversion 6 years ago
Daniel Grunwald ae32913aca Add IMethod.ThisIsRefReadOnly 6 years ago
Siegfried Pammer 9190515d8b #1151: Support for ref readonly locals. 6 years ago
Daniel Grunwald 57b725df79 Fix #1655: Incorrect pointer cast when calling method on integer constant 6 years ago
Siegfried Pammer 6b075326f0 Fix #1615: Handle nil tokens gracefully. 6 years ago
Daniel Grunwald 8117dfff4a Fix #1242: Discard unreachable code. 6 years ago
Daniel Grunwald c366235246 #1349: Fix type substitution for members of unknown generic types (due to unresolved references) 6 years ago
Siegfried Pammer d50b8d66d1 Fix #1373, fix #1541: add support for instance calls to CallIndirect. 6 years ago
Siegfried Pammer bd77b8301f Basic implementation of local functions. 6 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 7 years ago
Daniel Grunwald 47ca51a769 Clarify the meaning of ILVariable.Index 7 years ago
Daniel Grunwald 70138fa63d #1336: Use delayed exceptions for Array.Get/Set. 7 years ago
Daniel Grunwald 2f54eee5db #1195: Fix comparison of object reference with ldc.i4 0. 7 years ago
Daniel Grunwald ba0a3af3c4 #1195: Fix several issues decompiling SharpSvn.dll (C++/CLI) 7 years ago
Daniel Grunwald 0006330c1a Fix #1235: Insert StackType conversion when filling in Leave target. 7 years ago