Skip to content

Commit b6ed312

Browse files
Fix tooltips of record classes and init accessors.
1 parent 032bd53 commit b6ed312

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ TypeSystemAstBuilder CreateAstBuilder()
230230
astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) != ConversionFlags.UseFullyQualifiedTypeNames;
231231
astBuilder.ShowParameterNames = (ConversionFlags & ConversionFlags.ShowParameterNames) == ConversionFlags.ShowParameterNames;
232232
astBuilder.UseNullableSpecifierForValueTypes = (ConversionFlags & ConversionFlags.UseNullableSpecifierForValueTypes) != 0;
233+
astBuilder.SupportInitAccessors = (ConversionFlags & ConversionFlags.SupportInitAccessors) != 0;
234+
astBuilder.SupportRecordClasses = (ConversionFlags & ConversionFlags.SupportRecordClasses) != 0;
233235
return astBuilder;
234236
}
235237

ICSharpCode.Decompiler/Output/IAmbience.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,14 @@ public enum ConversionFlags
9797
/// Use <c>T?</c> instead of <c>Nullable&lt;T&gt;</c>.
9898
/// </summary>
9999
UseNullableSpecifierForValueTypes = 0x8000,
100+
/// <summary>
101+
/// Support <c>init</c> accessors.
102+
/// </summary>
103+
SupportInitAccessors = 0x10000,
104+
/// <summary>
105+
/// Support <c>record</c> classes.
106+
/// </summary>
107+
SupportRecordClasses = 0x20000,
100108

101109
StandardConversionFlags = ShowParameterNames |
102110
ShowAccessibility |

ILSpy/Languages/CSharpLanguage.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,14 @@ public override RichText GetRichTextTooltip(IEntity entity)
717717
{
718718
flags &= ~ConversionFlags.UseNullableSpecifierForValueTypes;
719719
}
720+
if (settings.RecordClasses)
721+
{
722+
flags |= ConversionFlags.SupportRecordClasses;
723+
}
724+
if (settings.InitAccessors)
725+
{
726+
flags |= ConversionFlags.SupportInitAccessors;
727+
}
720728
if (entity is IMethod m && m.IsLocalFunction)
721729
{
722730
writer.WriteIdentifier(Identifier.Create("(local)"));

0 commit comments

Comments
 (0)