1571 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

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