copilot-swe-agent[bot]
b28281c890
Refactor semi-auto properties to simplify simple accessors to get; and set;
...
Co-authored-by: christophwille <344208+christophwille@users.noreply.github.com>
1 month ago
copilot-swe-agent[bot]
382ee0fcad
Merge latest master with firstClassSpanTypes feature
...
Co-authored-by: christophwille <344208+christophwille@users.noreply.github.com>
1 month ago
copilot-swe-agent[bot]
4cbf5af09a
Address code review feedback: add annotation for field keyword detection
...
Co-authored-by: christophwille <344208+christophwille@users.noreply.github.com>
1 month ago
copilot-swe-agent[bot]
750e6a9c4a
Implement field keyword support for semi-auto properties in C# 14
...
Co-authored-by: christophwille <344208+christophwille@users.noreply.github.com>
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
2bb06709e9
RecordDecompiler: nullable enable
1 month ago
Siegfried Pammer
2271229b23
Fix #3618 : Extend validation of declared members and ctor parameters
1 month ago
mmusu3
88b2c437a7
Address PR review feedback
1 month ago
Siegfried Pammer
45efc732a7
#3614 : Use correct number of type arguments when adding type annotations to generic types with nested types.
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
Siegfried Pammer
7a5a2a00a9
#3452 : Transform field initializers in structs only if no record and no primary ctor.
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
sonyps5201314
b63b515a27
Exclude `System.Runtime.CompilerServices.RefSafetyRulesAttribute` from the `module` attribute in the generated `AssemblyInfo.cs`, because including it causes the compiler error: `error CS8335: Do not use 'System.Runtime.CompilerServices.RefSafetyRulesAttribute'. This is reserved for compiler usage.`. ( #3606 )
2 months ago
Siegfried Pammer
f6c763e7bb
Add tests for ExtensionEncodingV1 and ExtensionEncodingV2.
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
Siegfried Pammer
d11c40719d
#3569 : Don't move out variable declarations out of lambdas.
3 months ago
Siegfried Pammer
d736b02e2b
Fix #3480 : assert at ExpressionBuilder.BuildArrayInitializerExpression with properties that are not C# indexers, but parameterized properties.
3 months ago
Siegfried Pammer
b403b7bb3d
Fix #3542 : Invalid explicit cast for implicit conversion to generic struct with interface type constraint
3 months ago
ds5678
c54318173b
Fix lower case type name conflicting with variable name
3 months ago
Siegfried Pammer
732f285c41
Rename KnownAttributes.RequiredAttribute to KnownAttributes.Required
4 months ago
Siegfried Pammer
e34db06a67
Fix #3543 : Missing parentheses around field assignment expression in list initializers
4 months ago
Siegfried Pammer
48ff85178d
#3545 : Properties must have a getter for covariant returns to be applicable.
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
bd9ee28552
Fix #1789 : missing hyperlink for `MethodGroupResolveResult`.
4 months ago
Daniel Grunwald
ec58d57875
#3465 : Fix bugs in `comp.o` handling.
4 months ago
Daniel Grunwald
89083eaf48
Fix #3344 : Add support for the `ckfinite` opcode.
4 months ago
Daniel Grunwald
dd4bf7d8a4
Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction.
...
This way we avoid having to extract later, as we will never inline if the `isinst` argument if this could result in it being unrepresentable in C#.
This commit also refactors inlining restrictions to avoid requiring special cases in ILInlining itself.
But when making this change, I discovered that this broke our pattern-matching tests, and that the weird IL with double `isinst` is indeed generated by the C# compiler for `if (genericParam is StringComparison.Ordinal)` style code. So instead we also allow `isinst` with a `box(expr-without-side-effects)` argument to be represented with the `expr is T ? (T)expr : null` emulation.
4 months ago
Jan Kučera
9d11f523b1
Always move initializer decompilation setting
5 months ago
Siegfried Pammer
6c00c138eb
Fix #3465 : Translate comp.o(a op b) if op not in (==, !=) into Unsafe.As<object, UIntPtr>(ref a) op Unsafe.As<object, UIntPtr>(ref b)
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
f8dcd95b31
Add support for extensions in CSharpDecompiler
5 months ago
Siegfried Pammer
9157122462
Add ExtensionDeclaration syntax node
5 months ago
Siegfried Pammer
29bd78a9c9
Add DecompilerSettings.ExtensionMembers and Language version 14
5 months ago
Siegfried Pammer
68ae8ae833
Rename ITypeDefinition.HasExtensionMethods to ITypeDefinition.HasExtensions
5 months ago
Siegfried Pammer
7ea2c8f32f
Remove dead code
5 months ago
Siegfried Pammer
c642678f7f
Remove ToTypeReference: Implement ParseReflectionName with SRM TypeName.
5 months ago
lordmilko
9498c8d3d9
Allow specifying an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler
5 months ago
Siegfried Pammer
9dde97414a
Rename ResolvedUsingScope to UsingScope
5 months ago
Siegfried Pammer
c9e3790adc
Remove UnresolvedUsingScope
5 months ago
Siegfried Pammer
d2d9281072
Move CanTransformToExtensionMethodCall to CSharpResolver
5 months ago
Siegfried Pammer
e56f12cf93
Fix #2165 : DeclareVariables step must update ResolveResult annotation when using out var.
5 months ago
Siegfried Pammer
6955704172
Updated CSharpConversions according to https://github.com/dotnet/csharpstandard/blob/draft-v9/standard/conversions.md
5 months ago
Daniel Grunwald
235ae52756
Always attempt standard implicit conversions before user-defined conversions.
5 months ago