250 Commits (3892762e70f7c364cf0e99caf93bb52a97d3dfda)

Author SHA1 Message Date
Siegfried Pammer 3892762e70 Fix #1053: virtual protected base method with 'out', invalid cast-to-base on use. 7 years ago
Daniel Grunwald 36035de5fa Improve decompilation of ?. in generic code. 7 years ago
Daniel Grunwald 937b86be68 Fix type of ref-locals when there's ref-assignment involved. 7 years ago
Daniel Grunwald ca0fa55af8 Implement null propagation transform. 7 years ago
Daniel Grunwald 97efc7b7f5 Fix some value type stack slots incorrectly being decompiled to a variable of type "object". 7 years ago
Daniel Grunwald ae819526eb Fix assertion when call has unknown target type (due to missing assembly reference). 8 years ago
Daniel Grunwald 87a03bde70 Add test case for #981, and fix decompilation of ?: operator on StackType.Ref (necessary to make the testcase compile). 8 years ago
Siegfried Pammer df04b40951 Fix #990: Invalid object cast for virtual call through pointer 8 years ago
Siegfried Pammer 33c5e2d3ed Add StackType.F4 and StackType.F8, and instructions LdcF4 and LdcF8. 8 years ago
Siegfried Pammer 25eecb90e1 Rename ExpressionTreeType to DelegateType and use ILFunction.DelegateType instead of the NewObj(LdNull, ILFunction) pattern in DelegateConstruction and ExpressionTrees 8 years ago
Siegfried Pammer 049cff2324 Add unit tests, directly use ILFunction instead of NewObj(ILFunction) for expression trees. 8 years ago
Siegfried Pammer 21dfa43dab Add ExpressionTreeCast instruction 8 years ago
Siegfried Pammer 29a2d3ec34 Refactoring of ILFunction: allow Method and CecilMethod to be null for expression trees. 8 years ago
Siegfried Pammer 70e56c4b4d Always use hex in flags enums and in bit-wise operations. 8 years ago
Daniel Grunwald 9a829a2820 ILReader: handle implicit O->Ref conversions 8 years ago
Daniel Grunwald 02db362838 Ensure that StLoc.Value.ResultType == StLoc.Variable.StackType 8 years ago
Daniel Grunwald d45d65e1e4 Type analysis for ternary ?: don't use GetBestCommonType if it doesn't match the stack type 8 years ago
Siegfried Pammer bacb293db8 Fix #971: Anonymous method with missing parameter name 8 years ago
Daniel Grunwald 73420102a6 Fix reference comparisons on strings. 8 years ago
Daniel Grunwald 76c68e4ed4 Fix decompilation of "unsafePtr[1].Field = ...;" 8 years ago
Siegfried Pammer 349183544a Rename BlockType to BlockKind 8 years ago
Daniel Grunwald 7f7e6564b3 Fix #948: fix assertion when accessing fixed-size fields where StackType.Ref is expected. 8 years ago
Siegfried Pammer fba6f3bdc4 Fix #932: Hex numbers in bitwise (non-logical) statements 8 years ago
Daniel Grunwald 4c5f0b7e9c Convert TransformAssignment into a statement transform and add support for inline property assignments. 8 years ago
Daniel Grunwald 40a4f08a8d Add support for compound assignment of short integers. 8 years ago
Siegfried Pammer 2ca7ea87f1 Fix #955: Ambiguous decompilation of anonymous delegates 8 years ago
Siegfried Pammer 23c7a8a46e Fix #953: Missing nullable specifier for array initializer 8 years ago
Siegfried Pammer a7e3aeab47 Improve type inference for conditional operator; 8 years ago
Daniel Grunwald f2b47b4bc1 Allow direct int->char casts without casting int->ushort->char. 8 years ago
Daniel Grunwald b1bf5cf268 Fix decompilation of `stackalloc`. 8 years ago
Siegfried Pammer c683567a8c Add BinaryOperatorType.IsBitwise extension. 8 years ago
Daniel Grunwald 255fab7bd6 Fix short-circuiting operators when the rhs is a comparison with 0. 8 years ago
Siegfried Pammer 14448071a3 Fix #939: Enum values in bitwise operations are not properly decompiled 8 years ago
Siegfried Pammer d783fc68ef Fix #918: Conversion of bool literals to bool? not pretty 8 years ago
Daniel Grunwald 159cc29032 Fix incorrect cast to small integer type when comparing IntPtr with short. 8 years ago
Daniel Grunwald 0c6d6742fe Add support for fixed-size buffers. 8 years ago
Daniel Grunwald bab93ee990 Fix pointer arithmetic involving pointer to structs and long offsets. 8 years ago
Daniel Grunwald 74eb0d8d63 Avoid unnecessary casts in pointer comparisons. 8 years ago
Siegfried Pammer 381bd42599 Fix bug mentioned in #909 8 years ago
Daniel Grunwald dc995b15c6 Add support for 'ptr - ptr'. 8 years ago
Daniel Grunwald 19a7d8f7ff Add support for pointer arithmetic (ptr + offset, offset + ptr, ptr - offset). 8 years ago
Daniel Grunwald b2c18fcc95 Avoid casting pointer prior to dereference if the existing pointer type performs the same kind of memory access. 8 years ago
Daniel Grunwald 9e3fbe68f3 #907: Avoid unnecessary casts in delegate comparisons. 8 years ago
Siegfried Pammer c2a7c806f0 Add missing annotations after TranslateFunction 8 years ago
Daniel Grunwald 63493f1fee #912: add setting for turning off implicit method group conversions 8 years ago
Daniel Grunwald 236c7c28b4 Remove redundant lambda casts. 8 years ago
Siegfried Pammer 3f886414b0 Do not add parentheses to AnonymousMethodExpression if there are no parameters. 8 years ago
Daniel Grunwald 30aa3bd42f Fix missing cast in signed uint<int comparison. 8 years ago
Daniel Grunwald 8533eda92b Use unary negation '-a' instead of '0 - a'. 8 years ago
Daniel Grunwald 8e634bc23c [nullables] Fix unnecessary casts in nullable compound assignments. 8 years ago