1597 Commits (null-coalescing-assignment)

Author SHA1 Message Date
Daniel Grunwald 71d3120b94 #2552: Initial support for null coalescing assignment (`??=`). 4 months ago
Daniel Grunwald 587a359e8c Fix #1873: Clear ILRange in CopyPropagation 4 months ago
Daniel Grunwald 02d9dc3e85 Fix #3323: Simplify cleanup in AwaitInFinallyTransform, ensuring that we do not miss any containers. 4 months ago
Daniel Grunwald c84605a610 Fix #3468: Try harder to avoid ref locals if `UseRefLocalsForAccurateOrderOfEvaluation` is not enabled. 4 months ago
Daniel Grunwald ec58d57875 #3465: Fix bugs in `comp.o` handling. 4 months ago
Daniel Grunwald f826037acc Protect IsInst against multi-step inlining -- we can only allow `Box` as the top-level argument, not anywhere within the argument tree. 4 months ago
Daniel Grunwald 8ad33f1e13 Fix #3479: If YieldReturnDecompiler.ConvertBody fails, abort transforming the state machine instead of continuing with invalid code. 4 months ago
Daniel Grunwald dd4bf7d8a4 Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction. 4 months ago
ds5678 15223daabd WIP preincrement improvements 5 months ago
Siegfried Pammer 6c00c138eb Fix #3465: Translate comp.o(a op b) if op not in (==, !=) into Unsafe.As<object, UIntPtr>(ref a) op Unsafe.As<object, UIntPtr>(ref b) 5 months ago
Siegfried Pammer 9dde97414a Rename ResolvedUsingScope to UsingScope 5 months ago
Siegfried Pammer c9e3790adc Remove UnresolvedUsingScope 5 months ago
Siegfried Pammer d2d9281072 Move CanTransformToExtensionMethodCall to CSharpResolver 5 months ago
Siegfried Pammer d0fc0411fb Update to C# 13 and fix field keyword 5 months ago
Siegfried Pammer f97e59760b Fix #3512: Local function name collides with local variable name 5 months ago
Siegfried Pammer 49368caf1c Rename option to "UseObjectCreationOfGenericTypeParameter" 6 months ago
Siegfried Pammer 51a26180bb Fix #3492: Do not crash, if field used by RuntimeHelpers.InitializeArray is malformed. 6 months ago
Siegfried Pammer 8834c02eb7 Improve naming of delegate-typed variables. 6 months ago
Siegfried Pammer fecb10f109 Generalize ILInlining special cases for in arguments of ROS<T> ctors. 6 months ago
Siegfried Pammer 2461f520ab Move LocalFunctionDecompiler.GetStatement to Block.GetContainingStatement 6 months ago
Siegfried Pammer 298c247355 InlineArrayTransform: Add more bounds checking 7 months ago
Siegfried Pammer 47dd905ad0 Make InlineArrayTransform post-order 7 months ago
Siegfried Pammer 79f7a188b0 Add support for C# 12 inline array expressions 7 months ago
Siegfried Pammer cb790c6d38 Allow variable splitting of compiler-generated temporaries for Span<T>/ROS<T> 7 months ago
Daniel Grunwald 7fc9025500 Fix nullability of Extract return type 8 months ago
Siegfried Pammer b1a617c827 AssignVariableNames: Fix ArgumentException 9 months ago
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 9 months ago
Siegfried Pammer 9f77f8a919 Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt. 9 months ago
Siegfried Pammer 485ca1d69a Fix #3353: Normal method is decompiled as lambda expression. 9 months ago
Siegfried Pammer 7d0262d779 Fix #3439: Regressed decompilation of variables in lambda scope 9 months ago
Siegfried Pammer 349a89c1fa Fix #3436: Duplicate naming of local functions 9 months ago
Siegfried Pammer 51522c4487 Fix #3190: NRE in YieldReturnDecompiler 10 months ago
Siegfried Pammer 355a039b59 Sightly improve variable naming of known types such as EventArgs and Exceptions 10 months ago
Siegfried Pammer 8a67f48e4e Fix #1956: Adapt previous fix for variable names that have a number as suffix. 10 months ago
Siegfried Pammer ffcd468d22 Fix #1572: parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions. 10 months ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 10 months ago
Siegfried Pammer a599aae54d #1572: Do not generate variable names that match C# keywords. 10 months ago
Siegfried Pammer 73e9771d3c Fix #2269: LocalFunctionDecompiler misplaces nested local functions in ctors 10 months ago
Siegfried Pammer 49942382d1 Fix #3432: Do not include delegate construction use-sites in DetermineCaptureAndDeclarationScopes. 10 months ago
ds5678 e4000c8a5c Enhance null handling in switch transformations 10 months ago
ds5678 cbe8dd43d7 Fix null check in MatchLegacySwitchOnStringWithDict 10 months ago
Siegfried Pammer f0f95efa05 Fix StateRangeAnalysis to handle changes in yield return codegen in Roslyn 4.13. 10 months ago
ds5678 3a13d5a698 Allow explicit null termination character 10 months ago
Siegfried Pammer 38cdf6d50a Avoid transforming sub pattern of cpblk stackalloc initializer 10 months ago
Siegfried Pammer bd0fd8db1f Small refactorings: 10 months ago
ds5678 b0d6fa2276 Add support for array initialization based on RuntimeHelpers.CreateSpan<T> 10 months ago
Siegfried Pammer 5b90dbdabf Fix #3385: Allow address uses of structs in using transform, if the reference is passed to an in parameter. 11 months ago
Siegfried Pammer 202c5e22e3 Fix #3383: more aggressively transform object initializers on structs 11 months ago
Siegfried Pammer 906d248403 Fix #3392: uses of init-setters must use object-initializer syntax. 11 months ago
Siegfried Pammer 7218a63a46 #3367: Extend range check to support negative integers. 12 months ago