210 Commits
Author SHA1 Message Date
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