Siegfried Pammer
77d9ee73e9
Fix IDE2000 globally
3 days ago
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.
1 month ago
Siegfried Pammer
396b58031b
Add support for C# 14 first-class span types in the type system.
1 month ago
Siegfried Pammer
1fe8771bc6
Fixed issue described in PR #3596 : Derived record classes do not necessarily declare a ToString override, as the core logic is in PrintMembers.
2 months ago
Siegfried Pammer
17a533647b
Add C# 14 ExtensionMarkerAttribute
4 months ago
Siegfried Pammer
732f285c41
Rename KnownAttributes.RequiredAttribute to KnownAttributes.Required
4 months ago
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
4 months ago
Siegfried Pammer
3b0939d99c
Add ExtensionInfo: mapping of extension members to extension implementations and more.
5 months ago
Siegfried Pammer
68ae8ae833
Rename ITypeDefinition.HasExtensionMethods to ITypeDefinition.HasExtensions
5 months ago
Siegfried Pammer
7ea2c8f32f
Remove dead code
5 months ago
Daniel Grunwald
ccb8887657
Move AllowByRefLike to SRMExtensions.
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
667036c54e
Add support for InlineArrayConversion
7 months ago
Jeremy Pritts
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 <siegfried@pammer.io>
---------
Co-authored-by: Siegfried Pammer <siegfried@pammer.io>
8 months ago
Siegfried Pammer
3c70224441
Fix detection and display of explicitly implemented operators.
10 months ago
Siegfried Pammer
e6004e5f26
Handle ReferenceKind.RefReadOnly in a few more cases
1 year ago
Siegfried Pammer
02d2a8c1f8
Add metadata processing for C# 12 'ref readonly' parameters
1 year ago
Siegfried Pammer
4bf9487ecd
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
1 year ago
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
2 years ago
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.
2 years ago
Daniel Grunwald
18666d8d5d
Fix additionalReturnTypeAttributes not being applied.
2 years ago
Daniel Grunwald
a14cc0234e
Fix #3094 : look for `[NullableAttribute]` both on the property getter and property itself
2 years ago
Siegfried Pammer
591ab6b75d
Implement support for explicit interface implementation of operators and operator uses.
2 years ago
Siegfried Pammer
6172d63ff3
Support virtual modifier on static abstract interface members.
2 years ago
Daniel Grunwald
94ee5ed216
Fix assertion: UnknownType for unresolved reference can still be nullable; only the SpecialType.Unknown cannot.
3 years ago
Daniel Grunwald
9bfec8cf98
Fix #2860
3 years ago
Daniel Grunwald
3dc2f3d5b6
Rename lifetime annotation to `ScopedRef`
3 years ago
Daniel Grunwald
9359d47c0b
Add support for ScopedRefAttribute
3 years ago
Daniel Grunwald
475f2b3c28
Fix "ref readonly" fields.
3 years ago
Siegfried Pammer
263360f3f3
Add RemoveCompilerFeatureRequiredAttribute
3 years ago
Siegfried Pammer
5c67844500
Fix #2920 : Implement support for DefaultParameterValueAttribute.
3 years ago
Siegfried Pammer
8b0c7fbe85
Fix #2921 : struct type definition contains duplicate default constructor.
3 years ago
ElektroKill
0b9d546f46
Fix dynamic type index calculation in `ApplyAttributeTypeVisitor`
3 years ago
Daniel Grunwald
f3013010cd
Add support for C# 11 required members.
3 years ago
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
3 years ago
Siegfried Pammer
6766ad0c59
#2823 : Introduce `IType.GetDefinitionOrUnknown()` to allow better detection of async state-machines involving unknown types.
3 years ago
Standa Lukeš
93eecf93a5
Add more asserts and ToStrings around the FakeProperty.Setter problem
3 years ago
Siegfried Pammer
b85d1ba65a
Fix #2771 : Allow MetadataTypeDefinition.DefaultMemberName to return null if DefaultMemberAttribute is not present.
3 years ago
Siegfried Pammer
b9f2fc4f96
Fix #2781 : Fix missing nullability annotation on base type
3 years ago
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.
3 years ago
Siegfried Pammer
583f661153
Work on #1204 : Add optimized implementation of HasAttribute and GetAttribute to IEntity.
3 years ago
Siegfried Pammer
2ed9ad6b51
Add support for C# 11 scoped parameter modifier.
4 years ago
Siegfried Pammer
e905160537
Extend definition of ComputeIsRecord to avoid false-positives.
4 years ago
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
4 years ago
Siegfried Pammer
e61f46c474
Add MethodCodeType argument to MethodImplAttribute.
4 years ago
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.
4 years ago
James May
4a1f79a32a
Assume conventionally named unresolved method references are properties or events.
...
eg. decompiles to .Property instead of .get_Property()
4 years ago
Siegfried Pammer
ba177459f1
Fix comment.
4 years ago
Siegfried Pammer
a121e7c6ca
Fix #2653 : ILSpy reports wrong visibility for overridden protected internal properties if located in another assembly.
4 years ago