public override void WriteComment(CommentType commentType, string content, CommentReference[] refs) { switch (commentType) { case CommentType.SingleLine: output.Write("//", TextTokenKind.Comment); Write(content, refs); output.WriteLine(); break; case CommentType.MultiLine: output.Write("/*", TextTokenKind.Comment); Write(content, refs); output.Write("*/", TextTokenKind.Comment); break; case CommentType.Documentation: bool isLastLine = !(nodeStack.Peek().NextSibling is Comment); output.Write("///", TextTokenKind.XmlDocTag); Debug.Assert(refs == null); output.WriteXmlDoc(content); output.WriteLine(); break; default: Write(content, refs); break; } }
public void WriteComment(bool isDocumentation, string content) { if (isDocumentation) { output.Write("'''", TextTokenType.XmlDocTag); output.WriteXmlDoc(content); output.WriteLine(); } else { output.WriteLine("'" + content, TextTokenType.Comment); } }
public override void WriteComment(CommentType commentType, string content, CommentReference[] refs) { switch (commentType) { case CommentType.SingleLine: output.Write("//", TextTokenType.Comment); Write(content, refs); output.WriteLine(); break; case CommentType.MultiLine: output.Write("/*", TextTokenType.Comment); Write(content, refs); output.Write("*/", TextTokenType.Comment); break; case CommentType.Documentation: bool isLastLine = !(nodeStack.Peek().NextSibling is Comment); if (!inDocumentationComment && !isLastLine) { inDocumentationComment = true; output.MarkFoldStart("///" + content, true); } output.Write("///", TextTokenType.XmlDocTag); Debug.Assert(refs == null); output.WriteXmlDoc(content); if (inDocumentationComment && isLastLine) { inDocumentationComment = false; output.MarkFoldEnd(); } output.WriteLine(); break; default: Write(content, refs); break; } }