67 Commits (eae6e21ee5c434c5ed4837f70dbe5f0013b33712)

Author SHA1 Message Date
apmoskevitz 30421e7309 added notnullwhen annotations 10 months ago
apmoskevitz ef8e709ecc applied fixer for drect assignment from null 10 months ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 1 year ago
Siegfried Pammer d5cec0ab37 Fix #3103: unaligned.stobj cannot be transformed into inline assignment 2 years ago
Daniel Grunwald b80d20b15d Add support for calling `operator checked`. 2 years ago
Daniel Grunwald 3c46271a11 Add support for unsigned right shift. 2 years ago
Daniel Grunwald f04acbdd74 Simplify `IsImplicitTruncation` by using an enum with 3 options instead of a pair of bools. 2 years ago
ElektroKill ea1f6e7c25
Fixed compound assignment and post/pre increment for pointer dereference 2 years ago
ElektroKill 25873a68e0
Improve support for post-increment/decrement on pointers 3 years ago
Siegfried Pammer c5ff0cafc5 TransformInlineAssignmentStObjOrCall: Make sure no dead store is produced by the transform. 3 years ago
Daniel Grunwald bd9aabeae2 Update to dotnet-format 5.1.225507. 4 years ago
Siegfried Pammer d2fc380e0e Fix #2349: Use proper ExpressionType with DynamicCompoundAssign. 4 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Daniel Grunwald 1d684102ac Support compound assignment for native integers. 5 years ago
Daniel Grunwald 93806b46fa Fix compound assignments with type `bool`. 6 years ago
Chicken-Bones 661acdfc08 Transform post-increment on float/double. Fixes #1764 6 years ago
Daniel Grunwald 752f0de978 Further adjustments to transforms now that copy propagation no longer runs. 6 years ago
Daniel Grunwald 97d490a3df Slightly generalize the post-increment transform so that it no longer depends on copy propagation. 6 years ago
Daniel Grunwald 539e3a906d Fix #1552: user-defined and decimal increments 6 years ago
Daniel Grunwald 33c7425fa2 Fix several bugs with compound assignments on indexers. 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
Daniel Grunwald a6def4cdf5 Fix incorrect type for numeric.compound.assign when the pointer type is incompatible with the store type. 6 years ago
Siegfried Pammer 00d6c6175a #1049: Check decompiler settings in TransformAssignment.HandleCompoundAssign as well. 7 years ago
Siegfried Pammer 087cb2489d Fix #1049: Unimplemented decompiler settings 7 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 7 years ago
Siegfried Pammer 667e04462a Fix #1325: Do not perform inline assignment transform on setter calls, that belong to parameterized properties. 7 years ago
Daniel Grunwald 12e74daf48 Handle Comp in InferType(). 7 years ago
Daniel Grunwald ba0a3af3c4 #1195: Fix several issues decompiling SharpSvn.dll (C++/CLI) 7 years ago
Daniel Grunwald 066da1ea16 Fix #1200: assertion in TransformInlineAssignmentLocal when reconstructed stack slot (after async-await transform) has small integer type. 7 years ago
Daniel Grunwald 4580eab7ab Disable ref inline assignments. 7 years ago
Daniel Grunwald 33ef82f75c Fix #1082: Add support for compound assignment with string.Concat(). 7 years ago
Siegfried Pammer c4f41f459f Add support for more dynamic binary operators. 7 years ago
Siegfried Pammer 273a1c24ff Add dynamic compound assignment transforms 7 years ago
Daniel Grunwald f021ec4383 NumericCompoundAssign: implement ILiftableInstruction 7 years ago
Daniel Grunwald 3956fa685d Refactor TransformAssignment to reduce code duplication. 7 years ago
Siegfried Pammer 9ebfbe57dd Add transforms for userdef compound assignment 7 years ago
Daniel Grunwald 25706f2a39 Support logic.and/etc. in IsImplicitTruncation(). 7 years ago
Daniel Grunwald 75a627d40b Don't use compound assignment when the RHS value does not fit into the LHS type. 7 years ago
Daniel Grunwald 0a1921ff67 Fix #1007: post-increment transform incorrect due to variable splitting. 8 years ago
Siegfried Pammer 349183544a Rename BlockType to BlockKind 8 years ago
Daniel Grunwald a82430fc78 Add missing safety checks to inline assignment transforms. 8 years ago
Daniel Grunwald 11631d6cf0 Remove redundant code from TransformAssignment. 8 years ago
Daniel Grunwald 7847a69d69 Fix compound assignment and post-increment. 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
Daniel Grunwald 248a9ad76f Fix #954: don't use invalid compound assignments on enums 8 years ago
Daniel Grunwald b0bf6326ad Allow inline assignments to short integers when we can tell that there's no truncation. 8 years ago
Daniel Grunwald c7e60a9b3c Avoid using inline assignments if they truncate the input value. 8 years ago
Daniel Grunwald 385005b2e5 More strictly test the inline assignment pattern. 8 years ago