summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h')
-rw-r--r--gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h113
1 files changed, 0 insertions, 113 deletions
diff --git a/gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h b/gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h
deleted file mode 100644
index e43a860e46c..00000000000
--- a/gnu/llvm/tools/clang/lib/Format/TokenAnalyzer.h
+++ /dev/null
@@ -1,113 +0,0 @@
-//===--- TokenAnalyzer.h - Analyze Token Streams ----------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// This file declares an abstract TokenAnalyzer, and associated helper
-/// classes. TokenAnalyzer can be extended to generate replacements based on
-/// an annotated and pre-processed token stream.
-///
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_LIB_FORMAT_TOKENANALYZER_H
-#define LLVM_CLANG_LIB_FORMAT_TOKENANALYZER_H
-
-#include "AffectedRangeManager.h"
-#include "Encoding.h"
-#include "FormatToken.h"
-#include "FormatTokenLexer.h"
-#include "TokenAnnotator.h"
-#include "UnwrappedLineParser.h"
-#include "clang/Basic/Diagnostic.h"
-#include "clang/Basic/DiagnosticOptions.h"
-#include "clang/Basic/FileManager.h"
-#include "clang/Basic/SourceManager.h"
-#include "clang/Format/Format.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/Support/Debug.h"
-
-namespace clang {
-namespace format {
-
-class Environment {
-public:
- Environment(SourceManager &SM, FileID ID, ArrayRef<CharSourceRange> Ranges)
- : SM(SM), ID(ID), CharRanges(Ranges.begin(), Ranges.end()),
- FirstStartColumn(0), NextStartColumn(0), LastStartColumn(0) {}
-
- // This sets up an virtual file system with file \p FileName containing the
- // fragment \p Code. Assumes that \p Code starts at \p FirstStartColumn,
- // that the next lines of \p Code should start at \p NextStartColumn, and
- // that \p Code should end at \p LastStartColumn if it ends in newline.
- // See also the documentation of clang::format::internal::reformat.
- Environment(StringRef Code, StringRef FileName,
- ArrayRef<tooling::Range> Ranges, unsigned FirstStartColumn = 0,
- unsigned NextStartColumn = 0, unsigned LastStartColumn = 0);
-
- FileID getFileID() const { return ID; }
-
- const SourceManager &getSourceManager() const { return SM; }
-
- ArrayRef<CharSourceRange> getCharRanges() const { return CharRanges; }
-
- // Returns the column at which the fragment of code managed by this
- // environment starts.
- unsigned getFirstStartColumn() const { return FirstStartColumn; }
-
- // Returns the column at which subsequent lines of the fragment of code
- // managed by this environment should start.
- unsigned getNextStartColumn() const { return NextStartColumn; }
-
- // Returns the column at which the fragment of code managed by this
- // environment should end if it ends in a newline.
- unsigned getLastStartColumn() const { return LastStartColumn; }
-
-private:
- // This is only set if constructed from string.
- std::unique_ptr<SourceManagerForFile> VirtualSM;
-
- // This refers to either a SourceManager provided by users or VirtualSM
- // created for a single file.
- SourceManager &SM;
- FileID ID;
-
- SmallVector<CharSourceRange, 8> CharRanges;
- unsigned FirstStartColumn;
- unsigned NextStartColumn;
- unsigned LastStartColumn;
-};
-
-class TokenAnalyzer : public UnwrappedLineConsumer {
-public:
- TokenAnalyzer(const Environment &Env, const FormatStyle &Style);
-
- std::pair<tooling::Replacements, unsigned> process();
-
-protected:
- virtual std::pair<tooling::Replacements, unsigned>
- analyze(TokenAnnotator &Annotator,
- SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,
- FormatTokenLexer &Tokens) = 0;
-
- void consumeUnwrappedLine(const UnwrappedLine &TheLine) override;
-
- void finishRun() override;
-
- FormatStyle Style;
- // Stores Style, FileID and SourceManager etc.
- const Environment &Env;
- // AffectedRangeMgr stores ranges to be fixed.
- AffectedRangeManager AffectedRangeMgr;
- SmallVector<SmallVector<UnwrappedLine, 16>, 2> UnwrappedLines;
- encoding::Encoding Encoding;
-};
-
-} // end namespace format
-} // end namespace clang
-
-#endif