15#ifndef LLVM_CLANG_LIB_FORMAT_CONTINUATIONINDENTER_H
16#define LLVM_CLANG_LIB_FORMAT_CONTINUATIONINDENTER_H
31struct RawStringFormatStyleManager;
32class WhitespaceManager;
42 std::optional<FormatStyle>
55 bool BinPackInconclusiveFunctions);
81 unsigned ExtraSpaces = 0);
90 unsigned moveStateToNextToken(
LineState &State,
bool DryRun,
bool Newline);
93 void moveStatePastFakeLParens(
LineState &State,
bool Newline);
95 void moveStatePastFakeRParens(
LineState &State);
98 void moveStatePastScopeOpener(
LineState &State,
bool Newline);
100 void moveStatePastScopeCloser(
LineState &State);
107 unsigned reformatRawStringLiteral(
const FormatToken &Current,
110 bool DryRun,
bool Newline);
115 bool DryRun,
bool AllowBreak,
bool Newline);
119 std::optional<FormatStyle> getRawStringStyle(
const FormatToken &Current,
140 std::pair<unsigned, bool> breakProtrudingToken(
const FormatToken &Current,
142 bool AllowBreak,
bool DryRun,
147 std::unique_ptr<BreakableToken>
158 void addTokenOnCurrentLine(
LineState &State,
bool DryRun,
159 unsigned ExtraSpaces);
168 unsigned addTokenOnNewLine(
LineState &State,
bool DryRun);
171 unsigned getNewLineColumn(
const LineState &State);
185 bool nextIsMultilineString(
const LineState &State);
192 bool BinPackInconclusiveFunctions;
193 llvm::Regex CommentPragmasRegex;
Contains functions for text encoding manipulation.
This class handles loading and caching of source files into memory.
The JSON file list parser is used to communicate input to InstallAPI.