Example #1
0
        protected override void Write(CiType type, bool promote)
        {
            switch (type)
            {
            case null:
                Write("void");
                break;

            case CiIntegerType integer:
                Write(GetIntegerTypeCode(integer, promote));
                break;

            case CiStringType _:
                Write("string");
                break;

            case CiListType list:
                Include("System.Collections.Generic");
                Write("List<");
                Write(list.ElementType, false);
                Write('>');
                break;

            case CiDictionaryType dict:
                Write(dict);
                break;

            case CiArrayType array:
                Write(array.ElementType, false);
                Write("[]");
                break;

            default:
                if (type.IsClass(CiSystem.RegexClass) || type.IsClass(CiSystem.MatchClass))
                {
                    Include("System.Text.RegularExpressions");
                }
                Write(type.Name);
                break;
            }
        }