Siegfried Pammer
79f7a188b0
Add support for C# 12 inline array expressions
10 months ago
Siegfried Pammer
647475fce5
Fix threading issue in TestFriendlyProjectDecompiler
10 months ago
ds5678
4e21aedce7
Emit property in project file
10 months ago
ds5678
361bb17618
Add configuration option to check for overflow and underflow
10 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>
11 months ago
Jeremy Pritts
0261ca3ae8
Fix stack overflow exception in CSharpResolver ( #3471 )
...
* Fix stack overflow exception in CSharpResolver
* lhs and rhs
11 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`
11 months ago
Siegfried Pammer
e7a6e27820
Fix #3464 : Missing cast in string interpolation
11 months ago
ds5678
fb180b0010
Add tests
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
ds5678
8de6585ba4
Add another int-guid pair test
1 year ago
ds5678
8c29144811
Add struct to struct tests
1 year ago
ds5678
437bd5656c
Fix unit test
1 year ago
ds5678
daa7f7879d
Add uint pointer method
1 year ago
ds5678
d75da053a8
Use type hint in pointer arithmetic when appropriate
1 year ago
Siegfried Pammer
485ca1d69a
Fix #3353 : Normal method is decompiled as lambda expression.
1 year ago
Siegfried Pammer
453fc06e02
Fix #3406 : Wrong decompilation of record struct without primary constructor.
1 year ago
ds5678
7f024de786
Don't include generic constraints in generated explicit overrides
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
355a039b59
Sightly improve variable naming of known types such as EventArgs and Exceptions
1 year ago
Siegfried Pammer
ffcd468d22
Fix #1572 : parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions.
1 year ago
Siegfried Pammer
03aecf047d
Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future.
1 year ago
Siegfried Pammer
a599aae54d
#1572 : Do not generate variable names that match C# keywords.
1 year ago
ElektroKill
16600fa633
Addressed feedback
1 year ago
ElektroKill
012f5812e9
Fix #3423
1 year 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`.
1 year ago
ds5678
a1b3b14b0b
Add test
1 year ago
ds5678
3a13d5a698
Allow explicit null termination character
1 year ago
ds5678
b0d6fa2276
Add support for array initialization based on RuntimeHelpers.CreateSpan<T>
1 year ago
Siegfried Pammer
3c70224441
Fix detection and display of explicitly implemented operators.
1 year ago
Siegfried Pammer
5b90dbdabf
Fix #3385 : Allow address uses of structs in using transform, if the reference is passed to an in parameter.
1 year ago
Siegfried Pammer
202c5e22e3
Fix #3383 : more aggressively transform object initializers on structs
1 year ago
Siegfried Pammer
2c419f68cf
Fix #3322 : Add missing checks for equality comparison
1 year ago
Siegfried Pammer
d7d0f82418
Fix #3384 : add special case for null-literal conversions in optional argument handling.
1 year ago
Siegfried Pammer
906d248403
Fix #3392 : uses of init-setters must use object-initializer syntax.
1 year ago
Siegfried Pammer
fa50e8d8b3
Add non-embedded attributes to all tests that use older framework versions.
1 year ago
Christoph Wille
4137a04569
Switch from FA to Shouldly
1 year ago
Christoph Wille
dee50f4be0
NuGet updates for January 25 Patch Tuesday ( #3369 )
1 year ago
Siegfried Pammer
b9f50901a4
Fix #3367 : Add extra validation to TransformDecimalCtorToConstant to prevent crashes with obfuscated assemblies.
1 year ago
Siegfried Pammer
ae776716dd
Fix #3181 : missing type information on NullReferenceExpression used with nullable value types.
1 year ago
Siegfried Pammer
e1e2f739f6
Fix switch-on-string transform for optimized Roslyn.
1 year ago
Siegfried Pammer
efbefd0d3b
Fix #3361 : switch-value conversion was losing its target type.
1 year ago
Christoph Wille
8373ac752e
v9.0 RC Designation ( #3357 )
...
* v9.0 RC designation
* Ambiguous reference errors fixed
1 year ago
Siegfried Pammer
62cdf38e9b
Fix #3349 : Get rid of version string manipulation in UniversalAssemblyResolver.ParseTargetFramework.
1 year ago
Siegfried Pammer
c478ccc2e0
Fix #3319 : KeyDownEvent field reference was replaced with KeyDown event reference.
1 year ago
Siegfried Pammer
3746337d37
Fix ToolsetSetup not running before Roundtrip tests due to changed namespace.
1 year ago
Siegfried Pammer
e96605ca87
Fix #3310 : Filter out copy-constructor only if it's an actual record type.
1 year ago
Siegfried Pammer
8c440f42a8
Fix #2166 : Unnecessary uint casts/conversions for certain bitwise operations
1 year ago