fix nullable value types

This commit is contained in:
Matt Parker
2025-10-12 14:35:53 +10:00
parent d4b67cb02d
commit 0f8df8e0f6

View File

@@ -357,6 +357,7 @@ public static partial class SymbolInfoComponents
_ = symbol switch
{
{SpecialType: not SpecialType.None} => label.AddSpecialType(symbol),
INamedTypeSymbol {OriginalDefinition.SpecialType: SpecialType.System_Nullable_T} nullableValueTypeSymbol => label.AddNullableValueType(nullableValueTypeSymbol),
INamedTypeSymbol namedTypeSymbol => label.AddNamedType(namedTypeSymbol),
ITypeParameterSymbol typeParameterSymbol => label.AddTypeParameter(typeParameterSymbol),
IArrayTypeSymbol arrayTypeSymbol => label.AddArrayType(arrayTypeSymbol),
@@ -409,6 +410,14 @@ public static partial class SymbolInfoComponents
label.Pop(); // meta
return label;
}
private static RichTextLabel AddNullableValueType(this RichTextLabel label, INamedTypeSymbol symbol)
{
var typeArg = symbol.TypeArguments[0];
label.AddType(typeArg);
label.AddText("?");
return label;
}
private static RichTextLabel AddTypeParameter(this RichTextLabel label, ITypeParameterSymbol symbol)
{