in Sources/Visualization/Microsoft.Psi.Visualization.Windows/Views/Visuals2D/DiagnosticsVisualization/TypeSpec.cs [226:291]
private void BuildString(StringBuilder builder)
{
var tuple = false;
switch (this.Name)
{
// see https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table
case "Boolean":
builder.Append("bool");
break;
case "Single":
builder.Append("float");
break;
case "Int16":
builder.Append("short");
break;
case "UInt16":
builder.Append("ushort");
break;
case "Int32":
builder.Append("int");
break;
case "UInt32":
builder.Append("uint");
break;
case "Int64":
builder.Append("long");
break;
case "UInt64":
builder.Append("ulong");
break;
case "Byte":
case "SByte":
case "Char":
case "Decimal":
case "Double":
case "Object":
case "String":
builder.Append(this.Name.ToLower());
break;
case "Tuple":
case "ValueTuple":
tuple = true;
break;
default:
builder.Append(this.Name);
break;
}
if (this.TypeParams.Count > 0)
{
builder.Append(tuple ? '(' : '<');
for (var i = 0; i < this.TypeParams.Count; i++)
{
if (i > 0)
{
builder.Append(", ");
}
this.TypeParams[i].BuildString(builder);
}
builder.Append(tuple ? ')' : '>');
}
builder.Append(this.Modifier);
}