clang 22.0.0git
clang::format::ContinuationIndenter Class Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Format/ContinuationIndenter.h"

Public Member Functions

 ContinuationIndenter (const FormatStyle &Style, const AdditionalKeywords &Keywords, const SourceManager &SourceMgr, WhitespaceManager &Whitespaces, encoding::Encoding Encoding, bool BinPackInconclusiveFunctions)
 Constructs a ContinuationIndenter to format Line starting in column FirstIndent.
LineState getInitialState (unsigned FirstIndent, unsigned FirstStartColumn, const AnnotatedLine *Line, bool DryRun)
 Get the initial state, i.e.
bool canBreak (const LineState &State)
 Returns true, if a line break after State is allowed.
bool mustBreak (const LineState &State)
 Returns true, if a line break after State is mandatory.
unsigned addTokenToState (LineState &State, bool Newline, bool DryRun, unsigned ExtraSpaces=0)
 Appends the next token to State and updates information necessary for indentation.
unsigned getColumnLimit (const LineState &State) const
 Get the column limit for this line.

Detailed Description

Definition at line 46 of file ContinuationIndenter.h.

Constructor & Destructor Documentation

◆ ContinuationIndenter()

clang::format::ContinuationIndenter::ContinuationIndenter ( const FormatStyle & Style,
const AdditionalKeywords & Keywords,
const SourceManager & SourceMgr,
WhitespaceManager & Whitespaces,
encoding::Encoding Encoding,
bool BinPackInconclusiveFunctions )

Constructs a ContinuationIndenter to format Line starting in column FirstIndent.

Definition at line 243 of file ContinuationIndenter.cpp.

Member Function Documentation

◆ addTokenToState()

unsigned clang::format::ContinuationIndenter::addTokenToState ( LineState & State,
bool Newline,
bool DryRun,
unsigned ExtraSpaces = 0 )

Appends the next token to State and updates information necessary for indentation.

Puts the token on the current line if Newline is false and adds a line break and necessary indentation otherwise.

If DryRun is false, also creates and stores the required Replacement.

Definition at line 671 of file ContinuationIndenter.cpp.

References clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::format::FormatToken::is(), clang::format::FormatToken::LastNewlineOffset, Previous, and clang::format::FormatToken::WhitespaceRange.

◆ canBreak()

◆ getColumnLimit()

unsigned clang::format::ContinuationIndenter::getColumnLimit ( const LineState & State) const

Get the column limit for this line.

This is the style's column limit, potentially reduced for preprocessor definitions.

Definition at line 2939 of file ContinuationIndenter.cpp.

Referenced by mustBreak().

◆ getInitialState()

LineState clang::format::ContinuationIndenter::getInitialState ( unsigned FirstIndent,
unsigned FirstStartColumn,
const AnnotatedLine * Line,
bool DryRun )

Get the initial state, i.e.

the state after placing Line's first token at FirstIndent. When reformatting a fragment of code, as in the case of formatting inside raw string literals, FirstStartColumn is the column at which the state of the parent formatter is.

Definition at line 254 of file ContinuationIndenter.cpp.

References clang::format::LineState::FirstIndent, clang::Line, clang::format::LT_ImportStatement, and clang::format::LT_PreprocessorDirective.

◆ mustBreak()


The documentation for this class was generated from the following files: