482 Commits (cedad6d5e8134c1579fdb48a5b23dde67dd889fc)

Author SHA1 Message Date
Siegfried Pammer 9fff0438c0 Fix #1675: Emit __ldftn/__ldvirtftn pseudo expressions, if delegate construction is not supported. 6 years ago
Siegfried Pammer d2f7258347 Fix #1681: Use discard assignment, if possible. 6 years ago
Daniel Grunwald 57b725df79 Fix #1655: Incorrect pointer cast when calling method on integer constant 6 years ago
Siegfried Pammer 84b9f1c4f4 Fix #1514: Allow StackType.I8 and StackType.I4 in HandleManagedPointerArithmetic (ref [+-] int). 6 years ago
Siegfried Pammer f49cc11c76 Fix #1627: Allow constants as targets of dynamic calls. 6 years ago
Daniel Grunwald 62a0046043 Fix #1371: assertion on invalid I4->O conversion. 6 years ago
Siegfried Pammer ec18094c65 Implement transformation of delegate construction with ldvirtftn. 6 years ago
Siegfried Pammer 2e6a4988d3 Fix #1594: Use Equals to compare generic IMethods. 6 years ago
Daniel Grunwald 5c18c9e945 Floating-point arithmetic isn't affected by checked/unchecked blocks; so avoid forcing it into an unchecked block. 6 years ago
Siegfried Pammer 7d4b4c6433 Implement NullCoalescingTransform with value types. 6 years ago
Siegfried Pammer 2b6c0c3892 Fix formatting in ExpressionBuilder. 6 years ago
Daniel Grunwald 60422a0f7e Fix ResolveResult on typeof() expression. 6 years ago
Daniel Grunwald d99f6c81a5 Fix #1595: preserve C# type for field and tuple element access 6 years ago
Siegfried Pammer 9c1bf7fbdf Introduce ReferenceKind in IParameter and ByReferenceResolveResult. 6 years ago
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