diff options
Diffstat (limited to 'lib/Index/CommentToXML.cpp')
| -rw-r--r-- | lib/Index/CommentToXML.cpp | 45 | 
1 files changed, 13 insertions, 32 deletions
diff --git a/lib/Index/CommentToXML.cpp b/lib/Index/CommentToXML.cpp index c4beef2494667..ee066cc6d985a 100644 --- a/lib/Index/CommentToXML.cpp +++ b/lib/Index/CommentToXML.cpp @@ -8,7 +8,6 @@  //===----------------------------------------------------------------------===//  #include "clang/Index/CommentToXML.h" -#include "SimpleFormatContext.h"  #include "clang/AST/ASTContext.h"  #include "clang/AST/Attr.h"  #include "clang/AST/Comment.h" @@ -531,12 +530,8 @@ public:    CommentASTToXMLConverter(const FullComment *FC,                             SmallVectorImpl<char> &Str,                             const CommandTraits &Traits, -                           const SourceManager &SM, -                           SimpleFormatContext &SFC, -                           unsigned FUID) : -      FC(FC), Result(Str), Traits(Traits), SM(SM), -      FormatRewriterContext(SFC), -      FormatInMemoryUniqueId(FUID) { } +                           const SourceManager &SM) : +      FC(FC), Result(Str), Traits(Traits), SM(SM) { }    // Inline content.    void visitTextComment(const TextComment *C); @@ -574,8 +569,6 @@ private:    const CommandTraits &Traits;    const SourceManager &SM; -  SimpleFormatContext &FormatRewriterContext; -  unsigned FormatInMemoryUniqueId;  };  void getSourceTextOfDeclaration(const DeclInfo *ThisDecl, @@ -596,21 +589,17 @@ void CommentASTToXMLConverter::formatTextOfDeclaration(    StringRef StringDecl(Declaration.c_str(), Declaration.size());    // Formatter specific code. -  // Form a unique in memory buffer name. -  SmallString<128> filename; -  filename += "xmldecl"; -  filename += llvm::utostr(FormatInMemoryUniqueId); -  filename += ".xd"; -  FileID ID = FormatRewriterContext.createInMemoryFile(filename, StringDecl); -  SourceLocation Start = FormatRewriterContext.Sources.getLocForStartOfFile(ID) -      .getLocWithOffset(0); +  unsigned Offset = 0;    unsigned Length = Declaration.size(); -  tooling::Replacements Replace = reformat( -      format::getLLVMStyle(), FormatRewriterContext.Sources, ID, -      CharSourceRange::getCharRange(Start, Start.getLocWithOffset(Length))); -  applyAllReplacements(Replace, FormatRewriterContext.Rewrite); -  Declaration = FormatRewriterContext.getRewrittenText(ID); +  bool IncompleteFormat = false; +  tooling::Replacements Replaces = +      reformat(format::getLLVMStyle(), StringDecl, +               tooling::Range(Offset, Length), "xmldecl.xd", &IncompleteFormat); +  auto FormattedStringDecl = applyAllReplacements(StringDecl, Replaces); +  if (static_cast<bool>(FormattedStringDecl)) { +    Declaration = *FormattedStringDecl; +  }  }  } // end unnamed namespace @@ -1126,7 +1115,7 @@ void CommentASTToXMLConverter::appendToResultWithCDATAEscaping(StringRef S) {    Result << "]]>";  } -CommentToXMLConverter::CommentToXMLConverter() : FormatInMemoryUniqueId(0) {} +CommentToXMLConverter::CommentToXMLConverter() {}  CommentToXMLConverter::~CommentToXMLConverter() {}  void CommentToXMLConverter::convertCommentToHTML(const FullComment *FC, @@ -1148,15 +1137,7 @@ void CommentToXMLConverter::convertHTMLTagNodeToText(  void CommentToXMLConverter::convertCommentToXML(const FullComment *FC,                                                  SmallVectorImpl<char> &XML,                                                  const ASTContext &Context) { -  if (!FormatContext || (FormatInMemoryUniqueId % 1000) == 0) { -    // Create a new format context, or re-create it after some number of -    // iterations, so the buffers don't grow too large. -    FormatContext.reset(new SimpleFormatContext(Context.getLangOpts())); -  } -    CommentASTToXMLConverter Converter(FC, XML, Context.getCommentCommandTraits(), -                                     Context.getSourceManager(), *FormatContext, -                                     FormatInMemoryUniqueId++); +                                     Context.getSourceManager());    Converter.visit(FC);  } -  | 
