Siegfried Pammer
98d764a169
Add a treenode and decompiler APIs for extensions.
2026-03-16 22:41:21 +01:00
Siegfried Pammer
77d9ee73e9
Fix IDE2000 globally
2025-12-29 19:24:31 +01:00
Siegfried Pammer
3a27cbef06
Fix #3617 : Order of XML comments in types with primary constructors
2025-12-13 10:14:46 +01:00
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.
2025-11-30 12:10:04 -08:00
Siegfried Pammer
45efc732a7
#3614 : Use correct number of type arguments when adding type annotations to generic types with nested types.
2025-11-20 13:25:39 +01:00
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
2025-11-12 00:29:51 +01:00
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
2025-08-28 20:56:19 -04:00
Siegfried Pammer
9157122462
Add ExtensionDeclaration syntax node
2025-08-04 08:53:33 +02:00
Siegfried Pammer
c642678f7f
Remove ToTypeReference: Implement ParseReflectionName with SRM TypeName.
2025-08-02 15:32:11 +02:00
Siegfried Pammer
9dde97414a
Rename ResolvedUsingScope to UsingScope
2025-08-02 11:02:25 +02:00
Daniel Grunwald
2ca6e22384
Merge pull request #3527 from jjonescz/allows-ref-struct
...
Support `allows ref struct` constraint
2025-08-01 08:54:29 +02:00
Siegfried Pammer
ddb7171a2a
Fix #3524 : Property without backing field cannot have an initializer.
2025-07-30 07:28:45 +02:00
Jan Jones
2357d00939
Support allows ref struct constraint
2025-07-27 18:25:08 +02:00
Jeremy Pritts and Siegfried Pammer
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 <[email protected] >
---------
Co-authored-by: Siegfried Pammer <[email protected] >
2025-05-17 17:11:15 +02:00
Siegfried Pammer
96caa4ecb7
Fix : #3407 Add "private protected" feature for 7.2 decompiler options
2025-03-22 12:27:22 +01:00
Siegfried Pammer
29861d7903
Fix #1647 : Add a cast to enum constants where the enum type is not known.
2025-03-21 11:00:11 +01:00
Siegfried Pammer
3c70224441
Fix detection and display of explicitly implemented operators.
2025-02-21 11:59:21 +01:00
Siegfried Pammer
6312ab18ae
#2716 : Fix typo
2025-02-21 07:11:42 +01:00
Siegfried Pammer
8b76879493
Fix #2716 : Add an option to allow sorting custom attributes
2025-02-20 22:23:57 +01:00
Daniel Grunwald
8e7e4ba856
Revert "Add support for C# 11 parameter null checks"
...
This reverts commit 9e462b53ad .
2024-07-23 13:15:53 +02:00
Siegfried Pammer
4bf9487ecd
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
2024-07-19 18:40:07 +02:00
Siegfried Pammer
591ab6b75d
Implement support for explicit interface implementation of operators and operator uses.
2023-08-06 10:15:22 +02:00
Siegfried Pammer
6172d63ff3
Support virtual modifier on static abstract interface members.
2023-08-05 19:28:08 +02:00
Siegfried Pammer
65b4c928c0
Add support for simple constant patterns.
2023-08-04 16:48:02 +02:00
Siegfried Pammer
f7343c75d0
Add support for simple recursive patterns where the sub pattern is a simple type pattern.
2023-08-04 16:28:13 +02:00
Lucas Trzesniewski
bf69531216
Fix #3025 : Annotate nested types
2023-07-02 10:08:18 +02:00
Daniel Grunwald
32fafeb9a1
Add support for user-defined checked operators.
2023-06-03 17:45:14 +02:00
Daniel Grunwald
8b9ba20847
Builtin unsigned right shift operator.
2023-06-03 13:26:09 +02:00
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.
2023-06-02 21:37:42 +02:00
Daniel Grunwald
3dc2f3d5b6
Rename lifetime annotation to ScopedRef
2023-05-30 11:32:25 +02:00
Daniel Grunwald
f568123704
Add support for UTF8 string literals
2023-05-30 11:20:20 +02:00
Daniel Grunwald
9359d47c0b
Add support for ScopedRefAttribute
2023-05-29 18:59:49 +02:00
Daniel Grunwald
475f2b3c28
Fix "ref readonly" fields.
2023-05-29 18:15:18 +02:00
Siegfried Pammer
5c67844500
Fix #2920 : Implement support for DefaultParameterValueAttribute.
2023-05-18 14:10:07 +02:00
Daniel Grunwald
516341a09b
Use "static abstract" instead of "abstract static".
2022-11-10 22:29:55 +01:00
Daniel Grunwald
f3013010cd
Add support for C# 11 required members.
2022-11-10 22:13:12 +01:00
hexafluoride
fc6ae4c645
Add option to always fully qualify type names with global::
2022-08-30 16:15:42 +02:00
Daniel Grunwald
8b906f5c65
Fix unnecessary dict creation in TSAB constructor.
2022-08-24 12:05:09 +02:00
Siegfried Pammer
583f661153
Work on #1204 : Add optimized implementation of HasAttribute and GetAttribute to IEntity.
2022-08-24 12:05:09 +02:00
Siegfried Pammer
2ed9ad6b51
Add support for C# 11 scoped parameter modifier.
2022-07-16 16:20:18 +02:00
Daniel Grunwald
21c3ec046f
Output attributes on lambda expressions
2022-07-16 10:30:02 +02:00
Siegfried Pammer
5078796b17
Add support for string format alignment.
2022-07-13 14:14:09 +02:00
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
2022-05-26 15:18:22 +02:00
Siegfried Pammer
9e462b53ad
Add support for C# 11 parameter null checks
2022-04-16 20:42:48 +02:00
Siegfried Pammer
2e31427d56
Fix nullability warnings in AstNode and XmlDocumentationElement.
2022-04-11 10:15:12 +02:00
Daniel Grunwald
db7d507138
Fix #2615 : Overflow check did not work reliably due to fp rounding error
2022-01-27 22:06:20 +01:00
Siegfried Pammer
01e5e70bf7
'override' is only valid outside of interfaces.
2021-12-05 13:46:42 +01:00
Siegfried Pammer
15f49c0079
Add basic support for abstract static members in interfaces.
2021-12-05 13:44:30 +01:00
Siegfried Pammer
d8bb40b45b
Generate file-scoped namespace declarations, if possible.
2021-11-24 10:58:28 +01:00
Daniel Grunwald
8c508d9bbb
#2445 : Fix 1f/6f getting printed as 355f / (678f * (float)Math.PI)
...
Also fix inconsistent float comparisons due to JIT optimizations.
2021-11-24 00:57:00 +01:00