示例#1
0
        protected override void PrintParsedElements(StringBuilder sb, IParsedElement parsedElement, int indentCount)
        {
            var parsedField = (ParsedField)parsedElement;
            var indent      = new string(' ', indentCount);

            sb.AppendLine();

            if (!string.IsNullOrEmpty(parsedField.MainComment))
            {
                sb.AppendLine(parsedField.MainComment);
            }

            sb.AppendLine($"{indent}/// <summary>");
            sb.AppendLine($"{indent}/// {parsedField.Comment}");
            sb.AppendLine($"{indent}/// </summary>");
            if (!string.IsNullOrEmpty(parsedField.CppType))
            {
                sb.AppendLine($"{indent}/// <returns>API type: {TypeCorrection(parsedField.CppType)}</returns>");
            }
            sb.AppendLine($"{indent}[JsonProperty(\"{parsedField.CppName}\")]");
            if (!string.IsNullOrEmpty(parsedField.Type))
            {
                sb.AppendLine($"{indent}public {parsedField.Type} {parsedField.Name} {{get; set;}}");
            }
            else
            {
                sb.AppendLine($"{indent}{parsedField.Name},");
            }
        }
示例#2
0
        protected override void PrintParsedElements(StringBuilder sb, IParsedElement parsedElement, int indentCount)
        {
            var parsedFunc = (ParsedFunc)parsedElement;
            var indent     = new string(' ', indentCount);

            sb.AppendLine();

            var info         = parsedFunc.Comment ?? string.Empty;
            var startComment = info.IndexOf("//", StringComparison.Ordinal);

            if (!string.IsNullOrEmpty(info) && (startComment > 0 || startComment < 0))
            {
                var addInfo = startComment > 0 ? info.Remove(startComment) : info;
                sb.Append($" | {addInfo}");
                sb.AppendLine();
            }

            if (startComment > -1)
            {
                info = info.Remove(0, startComment);
                info = info.Trim('/');
            }
            sb.AppendLine($"{indent}/// <summary>");
            sb.AppendLine($"{indent}/// API name: {parsedFunc.CppName}");
            sb.AppendLine($"{indent}/// {info}");
            sb.AppendLine($"{indent}/// </summary>");
            foreach (var itm in parsedFunc.Params)
            {
                sb.AppendLine($"{indent}/// <param name=\"{itm.Name}\">API type: {TypeCorrection(itm.CppType)}</param>");
            }
            sb.AppendLine($"{indent}/// <returns>API type: {TypeCorrection(parsedFunc.CppType)}</returns>");
            sb.AppendLine($"{indent}{parsedFunc.Type} {parsedFunc.Name}({string.Join(", ", parsedFunc.Params)});");
        }
示例#3
0
 protected abstract void PrintParsedElements(StringBuilder sb, IParsedElement parsedElement, int indentCount);