1204 Commits (7970c2f1b3d19441b7d2b8ef982616e09881167f)

Author SHA1 Message Date
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 19a7898786 Add addressof(ldloc) => ldloca transform to EarlyExpressionTransforms 6 years ago
Siegfried Pammer 01e42b772c Fix local functions inside lambdas. 6 years ago
Siegfried Pammer b83cb41f2e Add pretty tests for local functions. 6 years ago
Siegfried Pammer 6f98ed5415 Fix unit tests. 6 years ago
Siegfried Pammer 305b47245e Refactor representation of local functions in ILAst. 6 years ago
Siegfried Pammer b42d4963e7 Fix assertions in TransformExpressionTrees. 6 years ago
Siegfried Pammer 16d6e16da7 Add support for local function references and recursive local functions. 6 years ago
Siegfried Pammer d50b8d66d1 Fix #1373, fix #1541: add support for instance calls to CallIndirect. 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
Daniel Grunwald ed5d71b365 Fix #1537: KeyNotFoundException in ReduceNestingTransform.ReduceSwitchNesting() 6 years ago
Siegfried Pammer ab892a603b Disassembler: Refactor InstructionOutputExtensions.WriteTo: Reduce code duplication; Add support for unmanaged calling conventions 6 years ago
Siegfried Pammer cd8dd7af9f Disassembler: Fix output of calling convention and flags in standalone method signature 6 years ago
Siegfried Pammer 119c679fad Add addressof(ldloc V) => ldloca V transform for read access on value types. 6 years ago
Siegfried Pammer 8d1522f387 Transform display classes used in local functions. 6 years ago
Daniel Grunwald 3314f3f37a Fix #1571: Expression transforms not running for values of inline assignments. 6 years ago
Siegfried Pammer 15488acdc7 Fix #1559: switch on string inside try block. 6 years ago
Siegfried Pammer 6d05f36821 Fix #1562: Do not transform display class initialization to object initializer. 6 years ago
Siegfried Pammer b4a59ae4dd Remove obsolete code from DelegateConstruction.cs 6 years ago
Siegfried Pammer c1ac461c26 Enable MCS yield return pretty tests. 6 years ago
Siegfried Pammer 7f8856b10f Fix #1026: Improve support for mcs in TransformDisplayClassUsage 6 years ago
Siegfried Pammer 6a1229028c Only try to inline stackalloc Span<T> if the next statement is a plain assignment. 6 years ago
Siegfried Pammer 9590cfbf59 Update tests to latest Roslyn implementation. 6 years ago
Siegfried Pammer 5a2302089b Refactor TransformDisplayClassUsage into separate transform. 6 years ago
Siegfried Pammer bd77b8301f Basic implementation of local functions. 6 years ago
Siegfried Pammer cf7deca7e1 Fix build. 6 years ago
Siegfried Pammer 34098b16e8 Fix #1548: Detection of lambdas. 6 years ago
Daniel Grunwald ab4e05f783 Don't perform DetectCatchWhenConditionBlocks transform when catchBlock.Variable.Type setter would throw an exception due to differing stack types. 6 years ago
Daniel Grunwald 877780beb5 Fix ReduceNestingTransform bug introduced in commit 7f27768ff9 6 years ago
Daniel Grunwald 7f27768ff9 Fix #1391, #1393, #1458: Fix ReduceNestingTransform modifying the Blocks collection while iterating over it. 6 years ago
Siegfried Pammer f7641037a2 Fix #1526: Roslyn-optimized switch at end of method uses leave instead of br. 6 years ago
Siegfried Pammer 0e638dcb28 Fix #1524: Adjust expression trees transform to work with async code as well. 6 years ago
Siegfried Pammer c6f4f77b57 Reorder code in NullCoalescingTransform.cs 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 7a976f197f Fix #1500: anonymous type creation expression cannot have an object initializer. 6 years ago
Siegfried Pammer edcf4931d0 Fix #1489: ArgumentNullException in SwitchOnStringTransform.SimplifyCascadingIfStatements 6 years ago
Siegfried Pammer 8dc80583ec #1485: Fix decompilation of TypeAs with Nullable<T> in expression trees 6 years ago
Siegfried Pammer b03aa488aa Performance: Cache ChainedConstructorCallILOffset in ILFunction to avoid having to scan the method body in every inlining step. Take a shortcut for static ctors, as there cannot be chained ctor calls in static ctors. 6 years ago
Siegfried Pammer 63646b0ace Fix #1472: Apply ExpressionTransforms after CombineExitsTransform to "canonicalize logic and/or" 6 years ago
Daniel Grunwald 8d99af14c5 Add support for 'ref readonly' return type. 6 years ago
Daniel Grunwald 416425b681 Readonly struct method calls on readonly lvalues don't generate temporaries. 6 years ago
Daniel Grunwald 52e6717faf Fix #1452: Avoid NullReferenceException when accessing SlotInfo property on the root node 7 years ago
Daniel Grunwald f18ed5a418 Fix #1453: Incorrect assert in IL Conv for R4 -> R8 7 years ago
Siegfried Pammer d4d647bbad Fix #1455: NRE in MatchRoslynSwitchOnNullable 7 years ago
Daniel Grunwald 4ad4f6a232 Fix #882: Don't inline value-type temporaries for setter calls. 7 years ago
Daniel Grunwald a5505ab00d Expose IMethod.AccessorKind. This makes it easier to determine if a method is a setter, particular in generic classes where "m.AccessorOwner?.Setter == m" ended up being wrong. 7 years ago
Siegfried Pammer eed690a0fc Fix #1449: Fix error message typo. 7 years ago
Siegfried Pammer d83f6e6ec0 Remove unused code. 7 years ago
Daniel Grunwald 40b6f0c7bf Use appropriate type for helper variables introduced for named arguments. 7 years ago
Siegfried Pammer b0309ca9e3 Fix #1180: Fix generation of Windows Forms InitializeComponent. 7 years ago