Browse Source

Moved the prepending of the comment prefix to the comments themselves.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/593/head
Dimitar Dobrev 10 years ago
parent
commit
5ca49e3c3e
  1. 23
      src/Generator/Generators/CSharp/CSharpCommentPrinter.cs
  2. 8
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

23
src/Generator/Generators/CSharp/CSharpCommentPrinter.cs

@ -6,15 +6,16 @@ namespace CppSharp.Generators.CSharp
{ {
public static class CSharpCommentPrinter public static class CSharpCommentPrinter
{ {
public static string CommentToString(this Comment comment) public static string CommentToString(this Comment comment, string commentPrefix)
{ {
var summaryAdded = false; var summaryAdded = false;
var remarksAdded = false; var remarksAdded = false;
return CommentToString(comment, ref summaryAdded, ref remarksAdded).ToString(); return CommentToString(
comment, ref summaryAdded, ref remarksAdded, commentPrefix).ToString();
} }
private static StringBuilder CommentToString(Comment comment, private static StringBuilder CommentToString(Comment comment,
ref bool summaryAdded, ref bool remarksAdded) ref bool summaryAdded, ref bool remarksAdded, string commentPrefix)
{ {
var commentBuilder = new StringBuilder(); var commentBuilder = new StringBuilder();
switch (comment.Kind) switch (comment.Kind)
@ -23,9 +24,9 @@ namespace CppSharp.Generators.CSharp
var fullComment = (FullComment) comment; var fullComment = (FullComment) comment;
foreach (var block in fullComment.Blocks) foreach (var block in fullComment.Blocks)
commentBuilder.Append(CommentToString(block, commentBuilder.Append(CommentToString(block,
ref summaryAdded, ref remarksAdded)); ref summaryAdded, ref remarksAdded, commentPrefix));
if (remarksAdded) if (remarksAdded)
commentBuilder.Append("</remarks>"); commentBuilder.AppendFormat("{0} </remarks>", commentPrefix);
break; break;
case CommentKind.BlockCommandComment: case CommentKind.BlockCommandComment:
break; break;
@ -41,7 +42,7 @@ namespace CppSharp.Generators.CSharp
var paragraphComment = (ParagraphComment) comment; var paragraphComment = (ParagraphComment) comment;
foreach (var inlineContentComment in paragraphComment.Content) foreach (var inlineContentComment in paragraphComment.Content)
commentBuilder.Append(CommentToString(inlineContentComment, commentBuilder.Append(CommentToString(inlineContentComment,
ref summaryAdded, ref remarksAdded)); ref summaryAdded, ref remarksAdded, commentPrefix));
break; break;
case CommentKind.HTMLTagComment: case CommentKind.HTMLTagComment:
break; break;
@ -51,16 +52,18 @@ namespace CppSharp.Generators.CSharp
break; break;
case CommentKind.TextComment: case CommentKind.TextComment:
if (!summaryAdded) if (!summaryAdded)
commentBuilder.AppendLine("<summary>"); commentBuilder.AppendFormat("{0} <summary>", commentPrefix).AppendLine();
if (summaryAdded && !remarksAdded) if (summaryAdded && !remarksAdded)
{ {
commentBuilder.AppendLine("<remarks>"); commentBuilder.AppendFormat("{0} <remarks>", commentPrefix).AppendLine();
remarksAdded = true; remarksAdded = true;
} }
commentBuilder.Append("<para>" + GetText(comment) + "</para>").AppendLine(); commentBuilder.AppendFormat(
"{0} <para>{1}</para>", commentPrefix, GetText(comment));
commentBuilder.AppendLine();
if (!summaryAdded) if (!summaryAdded)
{ {
commentBuilder.AppendLine("</summary>"); commentBuilder.AppendFormat("{0} </summary>", commentPrefix).AppendLine();
summaryAdded = true; summaryAdded = true;
} }
break; break;

8
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -275,7 +275,7 @@ namespace CppSharp.Generators.CSharp
if (comment.FullComment != null) if (comment.FullComment != null)
{ {
PushBlock(BlockKind.BlockComment); PushBlock(BlockKind.BlockComment);
WriteLine(comment.FullComment.CommentToString()); WriteLine(comment.FullComment.CommentToString(Options.CommentPrefix));
PopBlock(); PopBlock();
} }
else else
@ -284,11 +284,11 @@ namespace CppSharp.Generators.CSharp
return; return;
PushBlock(BlockKind.BlockComment); PushBlock(BlockKind.BlockComment);
WriteLine("<summary>"); WriteLine("{0} <summary>", Options.CommentPrefix);
foreach (string line in HtmlEncoder.HtmlEncode(comment.BriefText).Split( foreach (string line in HtmlEncoder.HtmlEncode(comment.BriefText).Split(
Environment.NewLine.ToCharArray())) Environment.NewLine.ToCharArray()))
WriteLine("<para>{0}</para>", line); WriteLine("{0} <para>{1}</para>", Options.CommentPrefix, line);
WriteLine("</summary>"); WriteLine("{0} </summary>", Options.CommentPrefix);
PopBlock(); PopBlock();
} }
} }

Loading…
Cancel
Save