74 Commits (2f14cde050fc89d7bad78c024e1fc69add402f86)

Author SHA1 Message Date
Daniel Grunwald 6951ccb1a2 Fix #2260: switch(string) transform: handle empty cases where the C# compiler optimizes out the `if` 5 years ago
Siegfried Pammer a5858f1694 Add support for primary constructor syntax. 5 years ago
Siegfried Pammer cc19e9043e Fix #603: Single element arrays should not span multiple lines 5 years ago
Daniel Grunwald 411457c4c7 #1240: Add support for Unsafe comparison intrinsics: `AreSame`, `IsAddressLessThan`, `IsAddressGreaterThan` 5 years ago
Daniel Grunwald 6e8c1b3117 ILReader: support comparison between StackType.Ref and StackType.I 5 years ago
Daniel Grunwald 782e4ae88c Fix #2215: Use `Unsafe` intrinsics for `ldobj`/`stobj` instructions. 5 years ago
Daniel Grunwald 54231edb4b Fix #2189: Invalid C# generated when pinning an unmanaged pointer. 5 years ago
Siegfried Pammer be57dc454c Run tests with different versions of Roslyn 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 6010757d22 Add support for .NET 5 custom calling conventions. 5 years ago
Daniel Grunwald 836bc37050 Upgrade ilasm.exe version. This allows us to write tests for the new function pointer calling conventions. 5 years ago
Siegfried Pammer 8e9ecf6c36 Fix #2162: handle VariableInitializers like AssignmentExpressions in InsertParenthesesVisitor 5 years ago
Daniel Grunwald 63d1f5bb09 Adjust old `calli` test case to new function pointer syntax 5 years ago
Daniel Grunwald 9381be2280 #2158: Fix decompilation of arithmetic on managed pointers after ConversionKind.StartGCTracking. 5 years ago
Siegfried Pammer 1b47acfde7 Fix build. 5 years ago
Daniel Grunwald 0e1c24464f Fix #2148: Don't attempt to detect `fixed` statement for pinned value types 5 years ago
Siegfried Pammer f245d93fef #2128: Adjust formatting settings used in tests to match our new style. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer 15028b3669 Fix #2104: Check field name of backing field when attempting to transform to an auto property. 5 years ago
Daniel Grunwald f5409ebe31 Fix re-pinning getting confused about which variant of the pinned local to use when the new re-pinned reference depends on the old pinned reference. 5 years ago
Daniel Grunwald 3e6e628483 Fix missing conversion on ref-reassignment. 5 years ago
Daniel Grunwald ddff831cf0 #1292: Fix some more problems with pinned locals. 5 years ago
Daniel Grunwald c6b10d3ec3 Fix #2094: ByteOffset() arguments passed in wrong order 5 years ago
Daniel Grunwald 3a4db502bc Add support for arithmetic using C# 9 native integer types. 5 years ago
Daniel Grunwald a0b144d332 Use `Unsafe.AsPointer()` for `ConversionKind.StopGCTracking`. 5 years ago
Daniel Grunwald 35c405b973 Translate the initializer of a `fixed` statement as managed reference and only apply the ref-to-pointer conversion at the end. 5 years ago
Daniel Grunwald a9d643b208 Emit a call to `ref Unsafe.As<TFrom, TTo>(ref TFrom)` when the IL code contains a mismatch of managed reference types. 5 years ago
Daniel Grunwald 2c0554f129 Fix #1963: Support decompiling `calli` instructions into C# 9 function pointer syntax. 5 years ago
Daniel Grunwald 65fe59e393 #1918: Fix a bunch of issues with pinned region detection. 5 years ago
Daniel Grunwald ad5ba9295e Fix #1924: preserve hexadecimal format when converting literal to wider type 5 years ago
Daniel Grunwald 7326a69823 Fix #1795: `InvalidCastException: Cast from Boolean to Int64 not supported` when decompiling enum with bool constants 6 years ago
Daniel Grunwald 5847d87651 Adjust tests: test runner now adds+removes TargetFramework attribute 6 years ago
Daniel Grunwald 0465cc8475 Adjust expected output in ILPretty tests 6 years ago
Siegfried Pammer d2f7258347 Fix #1681: Use discard assignment, if possible. 6 years ago
Daniel Grunwald 8117dfff4a Fix #1242: Discard unreachable code. 6 years ago
Daniel Grunwald 42eafb587f Fix #684: Improve detection of variable type for stack slots. 6 years ago
Daniel Grunwald 7e3b36aaa7 #1563: Where possible, replace an explicit interface implementation call with a call to the interface member. 6 years ago
Daniel Grunwald 961923f4fd #1499, #1240: Translate pointer arithmetic on managed pointers (ref T) using the System.Runtime.CompilerServices.Unsafe intrinsics 6 years ago
Siegfried Pammer 3abb548e1e Fix #1479: Unable to cast object of type 'System.Int32' to type 'System.Single' 6 years ago
Siegfried Pammer 61b170463e Add missing files. 6 years ago
Daniel Grunwald ae2824af99 Fix #617: Incorrect C# translation when `callvirt` is used to invoke base constructor 6 years ago
Daniel Grunwald 67124b3b9d Adjust tests to sorted top-level-types. 6 years ago
Siegfried Pammer 5962d4675f Add IL tests for basic isinst patterns. Undo change mentioned in 54ff546221 (commitcomment-32359757) 6 years ago
Siegfried Pammer 8dffec24b9 Add SequenceOfNestedIfs test. 6 years ago
Siegfried Pammer 667e04462a Fix #1325: Do not perform inline assignment transform on setter calls, that belong to parameterized properties. 7 years ago
Siegfried Pammer 64e1bb6f4d Add missing files. 7 years ago
Daniel Grunwald 4e9121bd28 Add test case for #1304. 7 years ago
Eugene 57cea66ee1 Fix new line 7 years ago
Eugene a80672ba42 Change rules for VisitUnboxAny & fix issue https://github.com/icsharpcode/ILSpy/issues/1256 7 years ago