Siegfried Pammer
3c70224441
Fix detection and display of explicitly implemented operators.
2025-02-21 11:59:21 +01:00
Siegfried Pammer
e6004e5f26
Handle ReferenceKind.RefReadOnly in a few more cases
2024-07-20 15:17:10 +02:00
Siegfried Pammer
02d2a8c1f8
Add metadata processing for C# 12 'ref readonly' parameters
2024-07-19 18:40:08 +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
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
2024-03-24 15:35:13 +01:00
Siegfried Pammer
2e777201f3
Fix bug in UnknownType: FullName of nested unknown types did not contain the outer type name(s), but only namespace and nested type name.
2024-03-16 15:50:20 +01:00
Daniel Grunwald
18666d8d5d
Fix additionalReturnTypeAttributes not being applied.
2023-10-15 15:29:08 +02:00
Daniel Grunwald
a14cc0234e
Fix #3094 : look for [NullableAttribute] both on the property getter and property itself
2023-10-14 21:55:36 +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
5cb1fe32f6
Merge pull request #2992 from icsharpcode/ref-fields
2023-06-01 23:12:20 +02:00
Daniel Grunwald
94ee5ed216
Fix assertion: UnknownType for unresolved reference can still be nullable; only the SpecialType.Unknown cannot.
2023-05-31 14:16:57 +02:00
Daniel Grunwald
9bfec8cf98
Fix #2860
2023-05-30 13:26:28 +02:00
Daniel Grunwald
3dc2f3d5b6
Rename lifetime annotation to ScopedRef
2023-05-30 11:32:25 +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
263360f3f3
Add RemoveCompilerFeatureRequiredAttribute
2023-05-29 12:18:58 +02:00
Siegfried Pammer
5c67844500
Fix #2920 : Implement support for DefaultParameterValueAttribute.
2023-05-18 14:10:07 +02:00
Siegfried Pammer
8b0c7fbe85
Fix #2921 : struct type definition contains duplicate default constructor.
2023-04-04 20:59:45 +02:00
ElektroKill
0b9d546f46
Fix dynamic type index calculation in ApplyAttributeTypeVisitor
2022-11-18 19:08:39 +01:00
Daniel Grunwald
f3013010cd
Add support for C# 11 required members.
2022-11-10 22:13:12 +01:00
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
2022-11-04 21:20:45 +01:00
Siegfried Pammer
6dc55ebfa4
Merge pull request #2792 from exyi/fix-FakeProperty-setter
2022-11-03 20:23:51 +01:00
Siegfried Pammer
6766ad0c59
#2823 : Introduce IType.GetDefinitionOrUnknown() to allow better detection of async state-machines involving unknown types.
2022-11-02 08:00:00 +01:00
Standa Lukeš
93eecf93a5
Add more asserts and ToStrings around the FakeProperty.Setter problem
2022-10-09 11:29:37 +02:00
Siegfried Pammer
b85d1ba65a
Fix #2771 : Allow MetadataTypeDefinition.DefaultMemberName to return null if DefaultMemberAttribute is not present.
2022-10-05 21:13:43 +02:00
Siegfried Pammer
b9f2fc4f96
Fix #2781 : Fix missing nullability annotation on base type
2022-10-03 22:43:33 +02:00
Siegfried Pammer
ed02b2eb9e
Add MemberNotNullWhenAttribute to IMethod, IProperty and IEvent. Make sure that it's guaranteed that AccessorOwner is non-null, when IsAccessor is true.
2022-10-02 22:46:37 +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
Siegfried Pammer
e905160537
Extend definition of ComputeIsRecord to avoid false-positives.
2022-05-26 15:19:44 +02:00
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
2022-05-26 15:18:22 +02:00
James May
4aaf452b75
Merge branch 'icsharpcode:master' into GuessFakeMethodAccessor
2022-05-20 10:13:49 +10:00
Siegfried Pammer
e61f46c474
Add MethodCodeType argument to MethodImplAttribute.
2022-05-10 19:34:28 +02:00
Siegfried Pammer
40ffc1e90e
Remove backing fields of auto properties and events.
...
The previous commit started decompiling backing fields because they are still needed prior to the C# transforms.
2022-04-29 16:28:32 +02:00
James May
4a1f79a32a
Assume conventionally named unresolved method references are properties or events.
...
eg. decompiles to .Property instead of .get_Property()
2022-04-27 15:35:02 +10:00
Siegfried Pammer
ba177459f1
Fix comment.
2022-04-19 00:00:30 +02:00
Siegfried Pammer
a121e7c6ca
Fix #2653 : ILSpy reports wrong visibility for overridden protected internal properties if located in another assembly.
2022-04-18 23:54:30 +02:00
Daniel Grunwald
cc7119e191
Fix #2654 : Ignore custom attributes on parameter where SequenceNumber is out-of-range.
...
This can occur when decoding the signature of a setter-only property, as the setter has an additional `value` parameter that does not appear in the property's signature.
2022-03-21 21:31:21 +01:00
Siegfried Pammer
1887412c46
Add ITypeDefinition.MetadataName
2022-03-07 17:14:03 +01:00
Siegfried Pammer
fe915780ad
Add AssemblyVersion to IModule
2022-03-07 09:19:24 +01:00
Siegfried Pammer
84704a7452
Adds support for C# 9 covariant return types in methods and getter-only properties and indexers.
2021-07-31 22:42:49 +02:00
Daniel Grunwald
5fb2f7a22f
#nullable enable for ILAst (except for generated code)
2021-06-03 21:36:12 +02:00
Daniel Grunwald
bd9aabeae2
Update to dotnet-format 5.1.225507.
...
This makes the formatting expected by our CI consistent with that generated by VS2019.9.
2021-05-07 22:23:09 +02:00
Siegfried Pammer
3f721a17c1
Add support for System.Runtime.CompilerServices.SpecialNameAttribute
2021-04-18 14:34:07 +02:00
Siegfried Pammer
ae3306b966
Fix #2312 : Constructors and operators may not have any generic type parameters in C#
2021-02-27 23:57:59 +01:00
Siegfried Pammer
fdda8abd74
Fix #2282 : Finalizers must be void and cannot be declared in interfaces
2021-01-26 15:25:09 +01:00
Daniel Grunwald
be9871981a
Records: Detect compiler-generated Equals() in derived records.
2021-01-01 22:55:13 +01:00
Daniel Grunwald
4050d39b28
Hide [NullableContext] on accessors
2020-12-25 18:37:24 +01:00
Daniel Grunwald
f869756fed
Use "record" instead of "class" for C# 9 record class types.
2020-11-09 21:29:13 +01:00