Siegfried Pammer
49368caf1c
Rename option to "UseObjectCreationOfGenericTypeParameter"
2 weeks ago
Siegfried Pammer
51a26180bb
Fix #3492 : Do not crash, if field used by RuntimeHelpers.InitializeArray is malformed.
3 weeks ago
Siegfried Pammer
8834c02eb7
Improve naming of delegate-typed variables.
1 month ago
Siegfried Pammer
fecb10f109
Generalize ILInlining special cases for in arguments of ROS<T> ctors.
1 month ago
Siegfried Pammer
2461f520ab
Move LocalFunctionDecompiler.GetStatement to Block.GetContainingStatement
3 months ago
Siegfried Pammer
298c247355
InlineArrayTransform: Add more bounds checking
1 month ago
Siegfried Pammer
47dd905ad0
Make InlineArrayTransform post-order
2 months ago
Siegfried Pammer
79f7a188b0
Add support for C# 12 inline array expressions
3 months ago
Siegfried Pammer
cb790c6d38
Allow variable splitting of compiler-generated temporaries for Span<T>/ROS<T>
3 months 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
5 months ago
Siegfried Pammer
8a67f48e4e
Fix #1956 : Adapt previous fix for variable names that have a number as suffix.
5 months ago
Siegfried Pammer
ffcd468d22
Fix #1572 : parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions.
5 months ago
Siegfried Pammer
03aecf047d
Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future.
5 months ago
Siegfried Pammer
a599aae54d
#1572 : Do not generate variable names that match C# keywords.
6 years 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
- Updated `Issue3421.cs`.
- Updated `MatchLegacySwitchOnStringWithDict` to check for `leaveContainer` and handle null sections accordingly.
- Introduced an overload for `AddNullSection` to accept `ILInstruction` as the body, improving flexibility.
- Modified existing `AddNullSection` to utilize the new overload, allowing for varied body types in `SwitchSection`.
4 months ago
ds5678
cbe8dd43d7
Fix null check in MatchLegacySwitchOnStringWithDict
Updated the condition for `nullValueCaseBlock` to ensure it is not null and not equal to `defaultBlock`.
5 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:
- extract common code
- reduce nesting
5 months ago
ds5678
b0d6fa2276
Add support for array initialization based on RuntimeHelpers.CreateSpan<T>
6 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.
6 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.
7 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
11 months ago
Siegfried Pammer
6cee0cdc4b
Fix #3258 : Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo.
12 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"
This reverts commit 9e462b53ad
.
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