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
e34db06a67
Fix #3543 : Missing parentheses around field assignment expression in list initializers
4 months ago
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
4 months ago
Siegfried Pammer
9157122462
Add ExtensionDeclaration syntax node
5 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
96caa4ecb7
Fix : #3407 Add "private protected" feature for 7.2 decompiler options
10 months ago
Siegfried Pammer
a599aae54d
#1572 : Do not generate variable names that match C# keywords.
10 months ago
Siegfried Pammer
3c70224441
Fix detection and display of explicitly implemented operators.
10 months ago
Siegfried Pammer
fa50e8d8b3
Add non-embedded attributes to all tests that use older framework versions.
11 months ago
Siegfried Pammer
43f602211b
Fix #3159 : CSharpAmbience.ConvertSymbol output incorrect for record structs and init properties.
1 year ago
Siegfried Pammer
065e7eca1d
Fix #3227 : Only call NewLine() in case no property initializer is present.
1 year ago
Daniel Grunwald
8e7e4ba856
Revert "Add support for C# 11 parameter null checks"
...
This reverts commit 9e462b53ad .
1 year ago
Siegfried Pammer
4bf9487ecd
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
1 year ago
Siegfried Pammer
591ab6b75d
Implement support for explicit interface implementation of operators and operator uses.
2 years ago
Siegfried Pammer
8cb3a67c0c
Support recursive pattern for value types
2 years ago
Siegfried Pammer
f7343c75d0
Add support for simple recursive patterns where the sub pattern is a simple type pattern.
2 years ago
Daniel Grunwald
b80d20b15d
Add support for calling `operator checked`.
3 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
ElektroKill
628a804864
Add support for record structs in `CSharpAmbience` ( fixes #2910 )
3 years ago
Siegfried Pammer
f2da255200
Fix #2825 : Missing whitespace after new()
3 years ago
Siegfried Pammer
2ed9ad6b51
Add support for C# 11 scoped parameter modifier.
4 years ago
Daniel Grunwald
21c3ec046f
Output attributes on lambda expressions
4 years ago
Daniel Grunwald
08ceffc3ad
Upgrade dotnet-format from version 5 to the version included with the .NET (6) SDK.
4 years ago
Siegfried Pammer
5078796b17
Add support for string format alignment.
4 years ago
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
4 years ago
Siegfried Pammer
73f2493644
Fix #2629 : Indentation of method-call chains.
4 years ago
Siegfried Pammer
9e462b53ad
Add support for C# 11 parameter null checks
4 years ago
Siegfried Pammer
d8bb40b45b
Generate file-scoped namespace declarations, if possible.
4 years ago
Siegfried Pammer
c641072685
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
5 years ago
Daniel Grunwald
710c17fee2
switch expressions: use same brace style as object initializers
5 years ago
Siegfried Pammer
e6c351c43d
Do not use single-line formatting for auto properties/indexers if there are attributes.
5 years ago
Siegfried Pammer
b6ed312bdb
Fix tooltips of record classes and init accessors.
5 years ago
Siegfried Pammer
a5858f1694
Add support for primary constructor syntax.
5 years ago
Siegfried Pammer
b63da5d37d
Fix property formatting
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
f869756fed
Use "record" instead of "class" for C# 9 record class types.
5 years ago
Daniel Grunwald
6010757d22
Add support for .NET 5 custom calling conventions.
5 years ago
Daniel Grunwald
03787bfc70
Avoid parentheses around lambdas where possible.
5 years ago
Siegfried Pammer
8e9ecf6c36
Fix #2162 : handle VariableInitializers like AssignmentExpressions in InsertParenthesesVisitor
5 years ago
Daniel Grunwald
6d3239678c
Function pointers: add support for the builtin unmanaged calling conventions.
5 years ago
Daniel Grunwald
cabb02b5fd
Add support for decoding function pointer types in signatures.
5 years ago
Siegfried Pammer
f245d93fef
#2128 : Adjust formatting settings used in tests to match our new style.
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
Siegfried Pammer
9e0e8d1cbc
Add basic support for C# 8.0 enhanced using statements.
5 years ago
Siegfried Pammer
562699fc94
Add support for C# 8.0 await foreach
5 years ago