private void BuildString()

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);
        }