Reko.Core.Output.CodeFormatter.FormatString C# (CSharp) Method

FormatString() private method

private FormatString ( PrimitiveType type, object value ) : string
type PrimitiveType
value object
return string
        private string FormatString(PrimitiveType type, object value)
        {
            string format;
            switch (type.Domain)
            {
            case Domain.SignedInt:
                return "{0}";
            case Domain.Character:
                switch (type.Size)
                {
                case 1: format = "'{0}'"; break;
                case 2: format = "L'{0}'"; break;
                default: throw new ArgumentOutOfRangeException("Only character types of size 1 and 2 are supported.");
                }
                var ch = Convert.ToChar(value);
                if (Char.IsControl(ch))
                    return string.Format(format, string.Format("\\x{0:X2}", (int) ch));
                else if (ch == '\'' || ch == '\\')
                    return string.Format(format, string.Format("\\{0}", ch));
                return format;
            default:
                return UnsignedFormatString(type, Convert.ToUInt64(value));
            }
        }