16 #ifndef LLVM_CLANG_LIB_FORMAT_CONTINUATIONINDENTER_H
17 #define LLVM_CLANG_LIB_FORMAT_CONTINUATIONINDENTER_H
22 #include "llvm/Support/Regex.h"
33 class WhitespaceManager;
44 bool BinPackInconclusiveFunctions);
68 unsigned ExtraSpaces = 0);
77 unsigned moveStateToNextToken(
LineState &State,
bool DryRun,
bool Newline);
80 void moveStatePastFakeLParens(
LineState &State,
bool Newline);
82 void moveStatePastFakeRParens(
LineState &State);
85 void moveStatePastScopeOpener(
LineState &State,
bool Newline);
87 void moveStatePastScopeCloser(
LineState &State);
89 void moveStateToNewBlock(
LineState &State);
110 void addTokenOnCurrentLine(
LineState &State,
bool DryRun,
111 unsigned ExtraSpaces);
120 unsigned addTokenOnNewLine(
LineState &State,
bool DryRun);
123 unsigned getNewLineColumn(
const LineState &State);
137 bool nextIsMultilineString(
const LineState &State);
144 bool BinPackInconclusiveFunctions;
145 llvm::Regex CommentPragmasRegex;
151 : Indent(Indent), IndentLevel(IndentLevel), LastSpace(LastSpace),
Contains functions for text encoding manipulation.
This class handles loading and caching of source files into memory.