28#include "llvm/ADT/STLExtras.h"
29#include "llvm/ADT/SmallVector.h"
30#include "llvm/Support/Debug.h"
33#define DEBUG_TYPE "format-formatter"
48 llvm::errs() << Message <<
"\n";
58std::unique_ptr<Environment>
61 unsigned NextStartColumn,
unsigned LastStartColumn) {
62 auto Env = std::make_unique<Environment>(Code,
FileName, FirstStartColumn,
63 NextStartColumn, LastStartColumn);
65 Env->SM.getDiagnostics().setClient(&Diags,
false);
73 Env->SM.getBufferData(
Env->ID);
80 unsigned FirstStartColumn,
unsigned NextStartColumn,
81 unsigned LastStartColumn)
83 ID(VirtualSM->get().getMainFileID()), FirstStartColumn(FirstStartColumn),
84 NextStartColumn(NextStartColumn), LastStartColumn(LastStartColumn) {}
88 AffectedRangeMgr(
Env.getSourceManager(),
Env.getCharRanges()),
90 Encoding(encoding::detectEncoding(
91 Env.getSourceManager().getBufferData(
Env.getFileID()))) {
93 llvm::dbgs() <<
"File encoding: "
100std::pair<tooling::Replacements, unsigned>
103 llvm::SpecificBumpPtrAllocator<FormatToken> Allocator;
112 Allocator, IdentTable);
115 unsigned Penalty = 0;
116 for (
unsigned Run = 0, RunE =
UnwrappedLines.size(); Run + 1 != RunE; ++Run) {
118 LLVM_DEBUG(llvm::dbgs() <<
"Run " << Run <<
"...\n");
120 AnnotatedLines.reserve(Lines.size());