1578 Commits (fecb10f109be74a4789d843c91b1d37e4e8c3b79)

Author SHA1 Message Date
Siegfried Pammer fecb10f109 Generalize ILInlining special cases for in arguments of ROS<T> ctors. 3 weeks ago
Siegfried Pammer 2461f520ab Move LocalFunctionDecompiler.GetStatement to Block.GetContainingStatement 3 weeks ago
Siegfried Pammer 298c247355 InlineArrayTransform: Add more bounds checking 1 month ago
Siegfried Pammer 47dd905ad0 Make InlineArrayTransform post-order 1 month ago
Siegfried Pammer 79f7a188b0 Add support for C# 12 inline array expressions 1 month ago
Siegfried Pammer cb790c6d38 Allow variable splitting of compiler-generated temporaries for Span<T>/ROS<T> 1 month ago
Daniel Grunwald 7fc9025500 Fix nullability of Extract return type 2 months ago
Siegfried Pammer b1a617c827 AssignVariableNames: Fix ArgumentException 3 months ago
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 4 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. 4 months ago
Siegfried Pammer 485ca1d69a Fix #3353: Normal method is decompiled as lambda expression. 4 months ago
Siegfried Pammer 7d0262d779 Fix #3439: Regressed decompilation of variables in lambda scope 4 months ago
Siegfried Pammer 349a89c1fa Fix #3436: Duplicate naming of local functions 4 months ago
Siegfried Pammer 51522c4487 Fix #3190: NRE in YieldReturnDecompiler 4 months ago
Siegfried Pammer 355a039b59 Sightly improve variable naming of known types such as EventArgs and Exceptions 4 months ago
Siegfried Pammer 8a67f48e4e Fix #1956: Adapt previous fix for variable names that have a number as suffix. 4 months ago
Siegfried Pammer ffcd468d22 Fix #1572: parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions. 4 months ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 4 months ago
Siegfried Pammer a599aae54d #1572: Do not generate variable names that match C# keywords. 4 months ago
Siegfried Pammer 73e9771d3c Fix #2269: LocalFunctionDecompiler misplaces nested local functions in ctors 4 months ago
Siegfried Pammer 49942382d1 Fix #3432: Do not include delegate construction use-sites in DetermineCaptureAndDeclarationScopes. 4 months ago
ds5678 e4000c8a5c Enhance null handling in switch transformations 4 months ago
ds5678 cbe8dd43d7 Fix null check in MatchLegacySwitchOnStringWithDict 4 months ago
Siegfried Pammer f0f95efa05 Fix StateRangeAnalysis to handle changes in yield return codegen in Roslyn 4.13. 5 months ago
ds5678 3a13d5a698 Allow explicit null termination character 5 months ago
Siegfried Pammer 38cdf6d50a Avoid transforming sub pattern of cpblk stackalloc initializer 5 months ago
Siegfried Pammer bd0fd8db1f Small refactorings: 5 months ago
ds5678 b0d6fa2276 Add support for array initialization based on RuntimeHelpers.CreateSpan<T> 5 months ago
Siegfried Pammer 5b90dbdabf Fix #3385: Allow address uses of structs in using transform, if the reference is passed to an in parameter. 5 months ago
Siegfried Pammer 202c5e22e3 Fix #3383: more aggressively transform object initializers on structs 5 months ago
Siegfried Pammer 906d248403 Fix #3392: uses of init-setters must use object-initializer syntax. 5 months ago
Siegfried Pammer 7218a63a46 #3367: Extend range check to support negative integers. 6 months ago
Siegfried Pammer b9f50901a4 Fix #3367: Add extra validation to TransformDecimalCtorToConstant to prevent crashes with obfuscated assemblies. 6 months ago
Siegfried Pammer e1e2f739f6 Fix switch-on-string transform for optimized Roslyn. 7 months ago
Siegfried Pammer f66ccea9ef Fix #3296: Ensure unknown types are wrapped properly in "Convert Expression Tree" 10 months ago
Siegfried Pammer 966b99a7f9 Fix #3278: Missing variable declaration in nested for-loop after many other loops 10 months ago
Siegfried Pammer 58e993d71d Fix #3272: Missing variable declarations in repeated nested for-loops 10 months ago
Siegfried Pammer 6cee0cdc4b Fix #3258: Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo. 11 months ago
Siegfried Pammer 2e7991eee3 TransformDisplayClassUsage: Fix #3233 by ignoring nullability annotations, when trying to find a variable to reuse/propagate. 1 year ago
Siegfried Pammer 2ca5b5affe Rewrite AssignVariableNames algorithm to use variable usages instead of the list of variables. 1 year ago
Daniel Grunwald 8e7e4ba856 Revert "Add support for C# 11 parameter null checks" 1 year ago
Siegfried Pammer c67d086e2f Add test cases for naming conflicts related to foreach, using and fixed variables. Remove unnecessary ConflictWithLocal check in AssignVariableNames. 1 year ago
Siegfried Pammer 3fb153940b AssignVariableNames: Handle fixed statement special cases 1 year ago
Daniel Grunwald aa914058ce Fix #3237: Use `ref readonly` locals for `readonly.ldelema` 1 year ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 1 year ago
Siegfried Pammer 1c71f6ad46 Support concatenation involving arguments of type ReadOnlySpan<char>. 1 year ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 1 year ago
Siegfried Pammer 28aa88bfb8 Make NullableLiftingTransform handle the case where ExpressionTransforms.VisitComp already lifted a nullable comparison with constant. 1 year ago
Siegfried Pammer 9d22e3ab41 NullableLiftingTransform: Undo new compiler optimization (omitting get_HasValue for comparisions with constants) 1 year ago
Siegfried Pammer 427fbcd8c0 Fix general using statement pattern 1 year ago