clang  14.0.0git
Public Member Functions | List of all members
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. More...
 
LineState getInitialState (unsigned FirstIndent, unsigned FirstStartColumn, const AnnotatedLine *Line, bool DryRun)
 Get the initial state, i.e. More...
 
bool canBreak (const LineState &State)
 Returns true, if a line break after State is allowed. More...
 
bool mustBreak (const LineState &State)
 Returns true, if a line break after State is mandatory. More...
 
unsigned addTokenToState (LineState &State, bool Newline, bool DryRun, unsigned ExtraSpaces=0)
 Appends the next token to State and updates information necessary for indentation. More...
 
unsigned getColumnLimit (const LineState &State) const
 Get the column limit for this line. More...
 

Detailed Description

Definition at line 50 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 226 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 540 of file ContinuationIndenter.cpp.

◆ canBreak()

bool clang::format::ContinuationIndenter::canBreak ( const LineState State)

Returns true, if a line break after State is allowed.

Definition at line 279 of file ContinuationIndenter.cpp.

◆ 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 2384 of file ContinuationIndenter.cpp.

References clang::format::FormatStyle::ColumnLimit, and State.

◆ 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 237 of file ContinuationIndenter.cpp.

References clang::format::FormatStyle::IndentPPDirectives, clang::format::FormatStyle::Language, Line, clang::format::FormatStyle::LK_TextProto, clang::format::LT_ImportStatement, clang::format::LT_PreprocessorDirective, clang::format::FormatStyle::PPDIS_AfterHash, and State.

◆ mustBreak()

bool clang::format::ContinuationIndenter::mustBreak ( const LineState State)

Returns true, if a line break after State is mandatory.

Definition at line 331 of file ContinuationIndenter.cpp.


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