Siegfried Pammer
101ddf8783
Add support for constant slices of InlineArrays
1 month ago
Siegfried Pammer
667036c54e
Add support for InlineArrayConversion
1 month ago
Siegfried Pammer
79f7a188b0
Add support for C# 12 inline array expressions
1 month ago
ds5678
361bb17618
Add configuration option to check for overflow and underflow
2 months ago
Jeremy Pritts
c1ecf1ae9c
Handle explicit optional parameter after default parameter ( #3470 )
...
* Handle explicit optional parameter after default parameter
* Rename and add documentation
* Move extension method
* Add unit test for lamba function
* Apply suggestions from code review
Co-authored-by: Siegfried Pammer <siegfried@pammer.io>
---------
Co-authored-by: Siegfried Pammer <siegfried@pammer.io>
2 months ago
Jeremy Pritts
0261ca3ae8
Fix stack overflow exception in CSharpResolver ( #3471 )
...
* Fix stack overflow exception in CSharpResolver
* lhs and rhs
2 months ago
Jeremy Pritts
aff9649711
Parenthesize interpolations containing `global::` ( #3463 )
...
* Parenthesize interpolations containing global::
* Improvements:
* Cleaner output
* More unit testing
* More efficient tree search
* Implement revisions
* Update Lambda1 to be invariant
* Visit descendents before deciding whether or not to parenthesize an interpolation expression
* Rename local function
* Remove branch for conditional expressions
* Handle Lambda expressions without a block body
* Check for parenthesized expressions
* `NET60` instead of `!NET40`
3 months ago
Siegfried Pammer
e7a6e27820
Fix #3464 : Missing cast in string interpolation
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
ds5678
8de6585ba4
Add another int-guid pair test
4 months ago
ds5678
8c29144811
Add struct to struct tests
4 months ago
ds5678
437bd5656c
Fix unit test
4 months ago
ds5678
daa7f7879d
Add uint pointer method
4 months ago
ds5678
d75da053a8
Use type hint in pointer arithmetic when appropriate
4 months ago
Siegfried Pammer
485ca1d69a
Fix #3353 : Normal method is decompiled as lambda expression.
4 months ago
Siegfried Pammer
453fc06e02
Fix #3406 : Wrong decompilation of record struct without primary constructor.
4 months ago
ds5678
7f024de786
Don't include generic constraints in generated explicit overrides
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
355a039b59
Sightly improve variable naming of known types such as EventArgs and Exceptions
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
ElektroKill
16600fa633
Addressed feedback
4 months ago
ElektroKill
012f5812e9
Fix #3423
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
a1b3b14b0b
Add test
4 months ago
ds5678
3a13d5a698
Allow explicit null termination character
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
2c419f68cf
Fix #3322 : Add missing checks for equality comparison
5 months ago
Siegfried Pammer
d7d0f82418
Fix #3384 : add special case for null-literal conversions in optional argument handling.
5 months ago
Siegfried Pammer
906d248403
Fix #3392 : uses of init-setters must use object-initializer syntax.
5 months ago
Siegfried Pammer
fa50e8d8b3
Add non-embedded attributes to all tests that use older framework versions.
5 months ago
Siegfried Pammer
b9f50901a4
Fix #3367 : Add extra validation to TransformDecimalCtorToConstant to prevent crashes with obfuscated assemblies.
6 months ago
Siegfried Pammer
ae776716dd
Fix #3181 : missing type information on NullReferenceExpression used with nullable value types.
7 months ago
Siegfried Pammer
e1e2f739f6
Fix switch-on-string transform for optimized Roslyn.
7 months ago
Siegfried Pammer
efbefd0d3b
Fix #3361 : switch-value conversion was losing its target type.
7 months ago
Siegfried Pammer
c478ccc2e0
Fix #3319 : KeyDownEvent field reference was replaced with KeyDown event reference.
8 months ago
Siegfried Pammer
e96605ca87
Fix #3310 : Filter out copy-constructor only if it's an actual record type.
9 months ago
Siegfried Pammer
8c440f42a8
Fix #2166 : Unnecessary uint casts/conversions for certain bitwise operations
9 months ago
Siegfried Pammer
c6e3752977
Fix #3089 : Add comment regarding .constraint prefix expressed as cast in C#
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
2043e5dd6f
Add support for C# 12 primary constructors.
12 months 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