1//===--- CommentToXML.h - Convert comments to XML representation ----------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_CLANG_INDEX_COMMENTTOXML_H
10#define LLVM_CLANG_INDEX_COMMENTTOXML_H
11
12#include "clang/Basic/LLVM.h"
13
14namespace clang {
15class ASTContext;
16
17namespace comments {
18class FullComment;
19class HTMLTagComment;
20}
21
22namespace index {
23class CommentToXMLConverter {
24public:
25  CommentToXMLConverter();
26  ~CommentToXMLConverter();
27
28  void convertCommentToHTML(const comments::FullComment *FC,
29                            SmallVectorImpl<char> &HTML,
30                            const ASTContext &Context);
31
32  void convertHTMLTagNodeToText(const comments::HTMLTagComment *HTC,
33                                SmallVectorImpl<char> &Text,
34                                const ASTContext &Context);
35
36  void convertCommentToXML(const comments::FullComment *FC,
37                           SmallVectorImpl<char> &XML,
38                           const ASTContext &Context);
39};
40
41} // namespace index
42} // namespace clang
43
44#endif // LLVM_CLANG_INDEX_COMMENTTOXML_H
45
46