Update NamedTypeTooltip.cs

This commit is contained in:
Matt Parker
2025-10-12 14:19:27 +10:00
parent 0d46c60e80
commit eac9111c1f

View File

@@ -19,6 +19,7 @@ public static partial class SymbolInfoComponents
label.AddVirtualModifier(symbol);
label.AddAbstractModifier(symbol);
label.AddOverrideModifier(symbol);
label.AddNamedTypeSymbolType(symbol);
label.AddNamedTypeSymbolName(symbol);
label.AddInheritedTypes(symbol);
label.AddContainingNamespaceAndClass(symbol);
@@ -36,6 +37,22 @@ public static partial class SymbolInfoComponents
label.AddType(symbol);
}
private static void AddNamedTypeSymbolType(this RichTextLabel label, INamedTypeSymbol symbol)
{
label.PushColor(CachedColors.KeywordBlue);
switch (symbol.TypeKind)
{
case TypeKind.Class: label.AddText("class"); break;
case TypeKind.Struct: label.AddText("struct"); break;
case TypeKind.Interface: label.AddText("interface"); break;
case TypeKind.Enum: label.AddText("enum"); break;
case TypeKind.Delegate: label.AddText("delegate"); break;
default: label.AddText(symbol.TypeKind.ToString().ToLowerInvariant()); break;
}
label.Pop();
label.AddText(" ");
}
private static void AddInheritedTypes(this RichTextLabel label, INamedTypeSymbol symbol)
{
if (symbol.BaseType is not null && symbol.BaseType.SpecialType != SpecialType.System_Object)