197 Commits (d0fc0411fb71b36465da303f5cd51f672b15c02a)

Author SHA1 Message Date
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 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. 2 years ago
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 2 years 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. 3 years ago
Daniel Grunwald 94d2ce0fcf Fix crash when control flow reaches end of method. 3 years ago
Daniel Grunwald b9ce8490f5 Remove hack that prevented inlining of the first instruction in each block. 3 years ago
Daniel Grunwald b93e65cdad Fix #901: Refactor ILReader: only read reachable code + support reimports 3 years ago
Daniel Grunwald 72a895f64f #nullable enable for ILReader 3 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 6 years ago
Daniel Grunwald 2c0554f129 Fix #1963: Support decompiling `calli` instructions into C# 9 function pointer syntax. 6 years ago
Jackson Davis 6ab1f98fa3 Expand the range of sequence points out the closest empty ilstack 6 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. 7 years ago
Daniel Grunwald 8117dfff4a Fix #1242: Discard unreachable code. 7 years ago
Daniel Grunwald c366235246 #1349: Fix type substitution for members of unknown generic types (due to unresolved references) 7 years ago
Siegfried Pammer d50b8d66d1 Fix #1373, fix #1541: add support for instance calls to CallIndirect. 7 years ago
Siegfried Pammer bd77b8301f Basic implementation of local functions. 7 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. 8 years ago
Daniel Grunwald ba0a3af3c4 #1195: Fix several issues decompiling SharpSvn.dll (C++/CLI) 8 years ago
Daniel Grunwald 0006330c1a Fix #1235: Insert StackType conversion when filling in Leave target. 8 years ago