Siegfried Pammer
396b58031b
Add support for C# 14 first-class span types in the type system.
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
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
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
4 months ago
Jan Kučera
9d11f523b1
Always move initializer decompilation setting
5 months ago
Maximilian Schmöcker
43bfaba7e0
Add ExpandParamsArguments DecompilerSettings
5 months ago
Siegfried Pammer
29bd78a9c9
Add DecompilerSettings.ExtensionMembers and Language version 14
5 months ago
Siegfried Pammer
49368caf1c
Rename option to "UseObjectCreationOfGenericTypeParameter"
6 months ago
DoctorKrolic
47eeacd7aa
Add an option to not transform `Activator.CreateInstance<T>()` to `new T()`
6 months ago
ds5678
586c04d081
Support params keyword on non-array collections
6 months ago
Siegfried Pammer
79f7a188b0
Add support for C# 12 inline array expressions
7 months ago
Siegfried Pammer
82e461be8c
Change return type of Clone method in derived class.
7 months ago
ds5678
361bb17618
Add configuration option to check for overflow and underflow
7 months ago
Siegfried Pammer
6c72d1c5f0
Add transform to remove unconstrained generic reference type check.
9 months ago
Siegfried Pammer
96caa4ecb7
Fix : #3407 Add "private protected" feature for 7.2 decompiler options
10 months ago
Siegfried Pammer
8b76879493
Fix #2716 : Add an option to allow sorting custom attributes
11 months ago
Siegfried Pammer
2043e5dd6f
Add support for C# 12 primary constructors.
1 year ago
Siegfried Pammer
02d2a8c1f8
Add metadata processing for C# 12 'ref readonly' parameters
1 year ago
Daniel Grunwald
d48df11133
Remove unused transforms: DecimalConstantTransform and ParameterNullCheckTransform
1 year ago
Siegfried Pammer
1370b999fe
Fix #2893 : Add option to disable automatic assembly loading.
...
This setting is honored by all functionality that triggers a decompilation run. It is ignored by features that load assemblies as their primary function. For example, using the "Load Dependencies" feature will still resolve and load assemblies from the file-system. The same happens when you double-click on an assembly reference in the tree view. It will be resolved and loaded.
Note that disabling automatic assembly load will cause the decompiler to potentially not be able to resolve types from references that have not been added manually and the quality of the decompiled code will be inferior as a result.
2 years ago
Siegfried Pammer
70616b301c
Implement support for C# 11 switch on (ReadOnly)Span<char>.
2 years ago
Siegfried Pammer
688474facd
Add missing DecompilerSettings for new language features
2 years ago
Daniel Grunwald
99d5e94a62
Allow inlining value type temporaries into constrained call.
2 years ago
Daniel Grunwald
32fafeb9a1
Add support for user-defined checked operators.
3 years ago
Daniel Grunwald
3c46271a11
Add support for unsigned right shift.
...
Only for user-defined operators so far; builtin right shifts still cast to the appropriate type.
3 years ago
Daniel Grunwald
3dc2f3d5b6
Rename lifetime annotation to `ScopedRef`
3 years ago
Daniel Grunwald
f568123704
Add support for UTF8 string literals
3 years ago
Daniel Grunwald
9359d47c0b
Add support for ScopedRefAttribute
3 years ago
Daniel Grunwald
efeaf1356f
Add feature: C#11 nint without NativeIntegerAttribute
...
Because it is no longer possible to distinguish IntPtr from nint, this required a lot of testcase adjustment.
3 years ago
Daniel Grunwald
f3013010cd
Add support for C# 11 required members.
3 years ago
hexafluoride
fc6ae4c645
Add option to always fully qualify type names with global::
3 years ago
Daniel Grunwald
a06de7171c
Fix comments
3 years ago
Siegfried Pammer
2ed9ad6b51
Add support for C# 11 scoped parameter modifier.
4 years ago
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
4 years ago
Siegfried Pammer
68b388bc36
Disable DecompilerSettings.ParameterNullCheck
4 years ago
Siegfried Pammer
9e462b53ad
Add support for C# 11 parameter null checks
4 years ago
Siegfried Pammer
a48f0d311c
Fix #2330 : Add conditional sub directory support
4 years ago
Siegfried Pammer
d8bb40b45b
Generate file-scoped namespace declarations, if possible.
4 years ago
Siegfried Pammer
30f9a82fbe
Add Roslyn 3.11.0 as separate test configuration. Update RoslynLatest to 4.0.0. Use LanguageVersion.CSharp9_0 instead of Preview. Add LanguageVersion.CSharp10_0.
4 years ago
Siegfried Pammer
84704a7452
Adds support for C# 9 covariant return types in methods and getter-only properties and indexers.
4 years ago
Siegfried Pammer
cd787c5549
Fix DecompilerSettings.PatternMatching should only be active in case >= CS70.
5 years ago
Siegfried Pammer
c641072685
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
5 years ago
Siegfried Pammer
afa4db00b6
Fix #2297 : Add an option to disable decompilation of getter-only auto properties.
5 years ago
Siegfried Pammer
a5858f1694
Add support for primary constructor syntax.
5 years ago
Siegfried Pammer
cc19e9043e
Fix #603 : Single element arrays should not span multiple lines
...
Fix #1079 : CSharpFormattingOptions.AutoPropertyFormatting has no effect
5 years ago
Siegfried Pammer
3df82cf33b
Add support for 'with' expressions
5 years ago
Daniel Grunwald
f3a65c7672
Remove `(experimental)` label from C# 9.0 settings.
5 years ago
Daniel Grunwald
f869756fed
Use "record" instead of "class" for C# 9 record class types.
5 years ago
Daniel Grunwald
6bcb26db70
Add option for `string.Concat` decompilation.
5 years ago
Siegfried Pammer
13636c89cc
Add support for C# 9: foreach with GetEnumerator extension methods.
5 years ago