1//===--- CommentToXML.h - Convert comments to XML representation ----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLVM_CLANG_INDEX_COMMENTTOXML_H 11#define LLVM_CLANG_INDEX_COMMENTTOXML_H 12 13#include "clang/Basic/LLVM.h" 14#include <memory> 15 16namespace clang { 17class ASTContext; 18 19namespace comments { 20class FullComment; 21class HTMLTagComment; 22} 23 24namespace index { 25class SimpleFormatContext; 26 27class CommentToXMLConverter { 28 std::unique_ptr<SimpleFormatContext> FormatContext; 29 unsigned FormatInMemoryUniqueId; 30 31public: 32 CommentToXMLConverter(); 33 ~CommentToXMLConverter(); 34 35 void convertCommentToHTML(const comments::FullComment *FC, 36 SmallVectorImpl<char> &HTML, 37 const ASTContext &Context); 38 39 void convertHTMLTagNodeToText(const comments::HTMLTagComment *HTC, 40 SmallVectorImpl<char> &Text, 41 const ASTContext &Context); 42 43 void convertCommentToXML(const comments::FullComment *FC, 44 SmallVectorImpl<char> &XML, 45 const ASTContext &Context); 46}; 47 48} // namespace index 49} // namespace clang 50 51#endif // LLVM_CLANG_INDEX_COMMENTTOXML_H 52 53