1597 Commits (null-coalescing-assignment)

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