Siegfried Pammer
2f8f753a8c
Allow nullable annotations in ExtensionProperties test case
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
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
ds5678
dc3ed43dd8
Do not create object initializers for tuples
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
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
Jan Jones
2357d00939
Support `allows ref struct` constraint
5 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
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
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
ds5678
d75da053a8
Use type hint in pointer arithmetic when appropriate
9 months ago
Siegfried Pammer
453fc06e02
Fix #3406 : Wrong decompilation of record struct without primary constructor.
9 months ago
ds5678
7f024de786
Don't include generic constraints in generated explicit overrides
9 months ago
Siegfried Pammer
7d0262d779
Fix #3439 : Regressed decompilation of variables in lambda scope
9 months ago
Siegfried Pammer
ffcd468d22
Fix #1572 : parameters of lambdas and local functions are renamed, if there are with names from outer scopes collisions.
10 months ago
Siegfried Pammer
2c419f68cf
Fix #3322 : Add missing checks for equality comparison
11 months ago
Siegfried Pammer
58e993d71d
Fix #3272 : Missing variable declarations in repeated nested for-loops
1 year ago
Christoph Wille
c940cbc1d9
Add TestsAssemblyOutput, keep existing behavior of output assembly locations
1 year ago
Christoph Wille
fba0dbae8d
Migrate to NUnit 4 ( #3132 )
...
* Migrate to NUnit 4 based on https://docs.nunit.org/articles/nunit/release-notes/Nunit4.0-MigrationGuide.html . Needed fix for https://github.com/nunit/nunit/issues/4564
* Test 4.1.0-adev.1 from NUnit MyGet feed (works locally in VS)
* Update to bugfix version adev.2 (works on GH)
* NUnit 4.0.1 final
2 years ago
Daniel Grunwald
eab2534563
Add test case for user defined operators
3 years ago
Daniel Grunwald
475f2b3c28
Fix "ref readonly" fields.
3 years ago
Daniel Grunwald
9abc2b90da
Fix interaction of C# 11 nint==IntPtr with overload resolution.
...
In C# 11+.NET 7 mode, we now always use type nint, never IntPtr, so that overload resolution works as expected.
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
ElektroKill
7c76bc4bc9
Enable Tuple pretty test for Roslyn version
...
DefaultInterpolatedStringHandler is supported since commit f695bbc
3 years ago
Daniel Grunwald
1339eba016
C# 11 is no longer in preview.
3 years ago
Daniel Grunwald
afeeea7cf2
Replace roslynLatestOnlyOptions with roslyn3OrNewerOptions/roslyn4OrNewerOptions.
...
Existing "latest only" markers on old tests becomes unnecessarily restrictive as new roslyn versions are released.
3 years ago
Siegfried Pammer
ae0e83f0c4
Records: Support new EqualityContract pattern.
3 years ago
Siegfried Pammer
b87f3753e2
Fix #2786 : Structs with static reference type fields not recognized as unmanaged
3 years ago
Siegfried Pammer
6139d9d58e
Delete created temp files if test execution was successful.
3 years ago
Siegfried Pammer
f695bbcf3a
Add support for DefaultInterpolatedStringHandler
4 years ago
Siegfried Pammer
e61f46c474
Add MethodCodeType argument to MethodImplAttribute.
4 years ago
Siegfried Pammer
9e462b53ad
Add support for C# 11 parameter null checks
4 years ago
Daniel Grunwald
a9f4694563
Add test for C# 11 generic attribute
4 years ago
Siegfried Pammer
44dee6ecc2
Add additional tests for .NET 4.0
4 years ago
Siegfried Pammer
e4b63f7a35
- Make all tests async.
...
- Use custom test runner for correctness tests.
- Use .NET 6.0 framework for all Roslyn compiler tests.
- Disabled tests involving new string interpolation patterns.
4 years ago
Siegfried Pammer
9e54b44b11
Move ILSpy to net6.0-windows
4 years ago
Siegfried Pammer
15f49c0079
Add basic support for abstract static members in interfaces.
4 years ago
Siegfried Pammer
c987eb66cd
Add struct test case.
4 years ago
Siegfried Pammer
d8bb40b45b
Generate file-scoped namespace declarations, if possible.
4 years ago
Siegfried Pammer
7b3940a818
Add test configuration for mcs 5.23.0
4 years ago
Siegfried Pammer
7418cc3c5f
Ignore failing tests
4 years ago
Siegfried Pammer
b87cdf6bc4
Fix CS73_StackAllocInitializer tests
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