521 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

Author SHA1 Message Date
Daniel Grunwald 42eafb587f Fix #684: Improve detection of variable type for stack slots. 6 years ago
Daniel Grunwald 856cedc95e #1456: add test case; add additional checks to ensure we only transform normal locals into using/foreach-locals 6 years ago
Siegfried Pammer f10ab69328 Improve local-function detection to minimize false positives. 6 years ago
Siegfried Pammer a109b77858 Refactor LocalFunctionDecompiler to allow mutually recursive local functions to be decompiled correctly. 6 years ago
Siegfried Pammer 37e14f43e3 Refactor/Clean up local functions representation in type system. 6 years ago
Daniel Grunwald b32cae412a Eliminate BlockKind.PostfixOperator. 6 years ago
Daniel Grunwald f2151972a0 Redesign CompoundAssignmentInstruction to support an 'Address' mode where we don't implicitly turn an LdObj into an StObj, but instead directly operate on an address. 6 years ago
Siegfried Pammer 305b47245e Refactor representation of local functions in ILAst. 6 years ago
Siegfried Pammer 8d1522f387 Transform display classes used in local functions. 6 years ago
Siegfried Pammer 03e45fc80a Fix #1568: Mimic behavior of ILReader.CreateILVariable in case of empty parameter names of anonymous methods. 6 years ago
Siegfried Pammer 09ea089d8a Fix #1499, fix #1502 6 years ago
Siegfried Pammer 983b7e5280 Add test-case for #1462 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
MCpiroman 5b41cc2b60
Fix TryUniteEqualityOperandType 6 years ago
MCpiroman ff4812dda8
Fix #1462: Inconsistent enum flag check 6 years ago
Daniel Grunwald f7f657204e Fix #1447: Assertion on `numeric.compound.add.old(..., ldc.i8 1)` 6 years ago
Siegfried Pammer 859eb623b8 Fix #1439: Add DecompilerSettings.UseLambdaSyntax 6 years ago
Daniel Grunwald 72508b5777 Add test for C# 8 nullable reference types; and fix some bugs. 6 years ago
Siegfried Pammer 27efe1b61c Fix #1429: Optimize ExpressionBuilder.TranslateArrayInitializer by applying optimizations suggested in #1202. 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 54ff546221 Fix deactivated Generics pretty tests: remove redundant boxing conversion from is-expressions. 6 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 6 years ago
Daniel Grunwald 2eafa0c695 Fix #1389: Translation of "isinst" was incorrect for value types was causing an assertion. 6 years ago
Daniel Grunwald 976565264f Don't use casts for implicit conversions to bool in conditional contexts. 6 years ago
Daniel Grunwald 7a058f6262 First attempt at integrating C# nullable reference types into the type system. 6 years ago
Siegfried Pammer eb873e65d0 Update InitializerTests after merge. 6 years ago
Siegfried Pammer 2a571bef1a Exclude whole numbers from "constant unfolding" for floating point literals. 6 years ago
Siegfried Pammer 640964cb0a #1314: do not use special constants, if literal is inside array initializer. 6 years ago
Siegfried Pammer ac149414eb Fix links inside object initializer. 7 years ago
Siegfried Pammer d1ef913fc0 ExpressionBuilder: Use TSAB.ConvertConstantValue in VisitLdcF4 and VisitLdcF8 7 years ago
Siegfried Pammer 589dde4ed3 Fix redundant casts on constant expressions. 7 years ago
Siegfried Pammer 7919ce8dd7 TSAB: Add option to display integral literals as hexadecimal numbers. 7 years ago
Siegfried Pammer 00194f8c03 Fix unit tests. 7 years ago
Siegfried Pammer 0dac55d584 Add transformation for stackalloc to Span<T>. 7 years ago
Daniel Grunwald e990d5ac00 Revert the 'unwrapBoxingConversion' addition to TranslateTarget(), I ended up solving the boxing issue directly in HandleDelegateConstruction() 7 years ago
Daniel Grunwald b455286ad3 Fix #1333: Ensure we convert to the correct type when calling instance methods on value types 7 years ago
Daniel Grunwald b307fc0a81 Fix VisitLdcI4 when HintType=bool. 7 years ago
Siegfried Pammer b18653ba82 Fix #1319: Property name collides with variable name 7 years ago
Daniel Grunwald 29e69e46ef Revert "#1252: Do not accidentally create casts to object?." 7 years ago
Daniel Grunwald b33d338558 Fix #1308: Consider type hint in ldc.i8 translation. 7 years ago
Daniel Grunwald 35a0ee2263 Fix #1309: Decompilation of dynamic casts. 7 years ago
Eugene a80672ba42 Change rules for VisitUnboxAny & fix issue https://github.com/icsharpcode/ILSpy/issues/1256 7 years ago
Siegfried Pammer a9c1b9d515 Fix #1250: Missing enum to int cast in object initializer 7 years ago
Siegfried Pammer 27b075ae7a #1252: Do not accidentally create casts to object?. 7 years ago
Siegfried Pammer 772b529d16 Add support for stackalloc initializer pattern that uses initblk. 7 years ago
Siegfried Pammer 057ab82534 Add basic stackalloc initializer transforms. 7 years ago
Daniel Grunwald ba0a3af3c4 #1195: Fix several issues decompiling SharpSvn.dll (C++/CLI) 7 years ago
Daniel Grunwald 99f0841dd6 Fix TypeUtils for modopt types. 7 years ago
Daniel Grunwald dd5845e83d Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) 7 years ago
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago