Siegfried Pammer
77d9ee73e9
Fix IDE2000 globally
3 days ago
Siegfried Pammer
17016c7beb
Fix #3611 : Update test cases to reflect original test
2 weeks ago
Siegfried Pammer
c0a9afc4ad
Fix #3616 : local variable naming conflict with primary constructor parameters.
3 weeks ago
Siegfried Pammer
e42ee2428f
Remove warnings in test cases.
1 month ago
ds5678
83df0ab9b9
Handle multiple calling conventions at once
1 month ago
ds5678
a04c0e4cab
Improve decompilation of unmanaged function pointers
...
This improves how function pointers are decompiled.
* ExpressionBuilder::VisitLdFtn now properly constructs the calling conventions.
* FunctionPointerType::FromSignature now checks whether a modopt type affects the calling convention.
1 month ago
Siegfried Pammer
d70a5e7fb2
Fix #3626 : Do not emit named arguments for bool constants, if it causes the call to become ambiguous.
1 month ago
Siegfried Pammer
3fd9981535
Fix #3621 : Fix multiple uses of primary ctor parameter in initializer of record.
1 month ago
Siegfried Pammer
c34cc100b6
Records: Exclude static members from copy constructor check
1 month ago
Siegfried Pammer
2271229b23
Fix #3618 : Extend validation of declared members and ctor parameters
1 month ago
mmusu3
22ceb6e7d1
Fix remaining cases with changes to IntroduceUsingDeclarations.
1 month ago
Siegfried Pammer
94050a4aca
Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body.
1 month ago
ds5678
ad4a87b9a3
Improve inlining of boxed values
2 months ago
Siegfried Pammer
cb48768b6d
Fix #3610 : Add more primary constructor test cases.
2 months ago
Siegfried Pammer
46c99f1a21
Fix #3452 : More bugs with primary constructors.
2 months ago
Siegfried Pammer
9c8d1e48d9
Many thanks to @sonyps5201314 for providing the test cases and a suggested fix, which inspired these changes.
...
Various improvements regarding primary constructor decompilation, including:
- introduce `HasPrimaryConstructor` property in the AST, as there is a difference between no primary constructor and a parameterless primary constructor
- improved support for inherited records and forwarded ctor calls
- exclude non-public fields and properties in IsPrintedMember
- introduce an option to always make the decompiler emit primary constructors, when possible
2 months ago
Siegfried Pammer
588c243929
#3593 : ObjectInitializers: allow castclass instructions wrapping the init instruction to support the pattern used for covariant returns on non-supporting platforms such as .NET 4.x.
2 months ago
Siegfried Pammer
126e870a5a
Fix #3577 : Properly infer the switch governing type and preserve conversions
3 months ago
Siegfried Pammer
c075f7b9c8
Fix out var for expressions appearing in a lambda and not in a statement.
3 months ago
Daniel Grunwald
d13835e2cc
Add test for "params scoped Span'.
3 months ago
ds5678
dc3ed43dd8
Do not create object initializers for tuples
3 months ago
Siegfried Pammer
7b03606402
Fix #3575 : Uses of compiler-generated events getting swapped with non-generated events of same type
3 months ago
ds5678
fafc434133
Formatting
3 months ago
ds5678
d793781eea
Remove obsolete tests
3 months ago
ds5678
c54318173b
Fix lower case type name conflicting with variable name
3 months ago
ds5678
1d964bce8e
Fix regression in decompiling local functions with default parameters
4 months ago
Siegfried Pammer
3442fad4a0
Fix #3545 : Covariant return not detected for abstract override property
4 months ago
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
4 months ago
Daniel Grunwald
5fb2385671
Fix compiler warnings.
4 months ago
ds5678
f860777206
Add preprocessor directive
5 months ago
ds5678
15223daabd
WIP preincrement improvements
5 months ago
Maximilian Schmöcker
43bfaba7e0
Add ExpandParamsArguments DecompilerSettings
5 months ago
Maximilian Schmöcker
850ffe593d
Fix methods with mandatory arguments ignore disabled OptionalArguments setting
5 months ago
Siegfried Pammer
685f21edb5
C# 14 extensions: Add initial test case
5 months ago
Siegfried Pammer
f97e59760b
Fix #3512 : Local function name collides with local variable name
5 months ago
Jan Jones
2357d00939
Support `allows ref struct` constraint
5 months ago
Siegfried Pammer
8834c02eb7
Improve naming of delegate-typed variables.
6 months ago
ds5678
586c04d081
Support params keyword on non-array collections
6 months ago
Siegfried Pammer
f673b7caa2
Add support for using different editions of .NET in unit tests
6 months ago
Siegfried Pammer
101ddf8783
Add support for constant slices of InlineArrays
7 months ago
Siegfried Pammer
667036c54e
Add support for InlineArrayConversion
7 months ago
Siegfried Pammer
79f7a188b0
Add support for C# 12 inline array expressions
7 months ago
ds5678
361bb17618
Add configuration option to check for overflow and underflow
7 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>
8 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`
8 months ago
Siegfried Pammer
e7a6e27820
Fix #3464 : Missing cast in string interpolation
8 months ago
Siegfried Pammer
6c72d1c5f0
Add transform to remove unconstrained generic reference type check.
9 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.
9 months ago
ds5678
8de6585ba4
Add another int-guid pair test
9 months ago
ds5678
8c29144811
Add struct to struct tests
9 months ago