clang
3.7.0
|
Namespaces | |
encoding | |
Classes | |
class | ParseErrorCategory |
struct | FormatStyle |
The FormatStyle is used to configure the formatting to follow specific guidelines. More... | |
class | BreakableToken |
Base class for strategies on how to break tokens. More... | |
class | BreakableSingleLineToken |
Base class for single line tokens that can be broken. More... | |
class | BreakableStringLiteral |
class | BreakableLineComment |
class | BreakableBlockComment |
class | ContinuationIndenter |
struct | ParenState |
struct | LineState |
The current state when indenting a unwrapped line. More... | |
struct | FormatToken |
A wrapper around a Token storing information about the whitespace characters preceding it. More... | |
class | TokenRole |
class | CommaSeparatedList |
struct | AdditionalKeywords |
Encapsulates keywords that are context sensitive or for languages not properly supported by Clang's lexer. More... | |
class | AnnotatedLine |
class | TokenAnnotator |
Determines extra information about the tokens comprising an UnwrappedLine . More... | |
class | UnwrappedLineFormatter |
class | FormatTokenSource |
class | ScopedLineState |
class | CompoundStatementIndenter |
struct | UnwrappedLine |
An unwrapped line is a sequence of Token , that we would like to put on a single line if there was no column limit. More... | |
class | UnwrappedLineConsumer |
class | UnwrappedLineParser |
struct | UnwrappedLineNode |
class | WhitespaceManager |
Manages the whitespaces around tokens and their replacements. More... | |
Enumerations | |
enum | ParseError { ParseError::Success = 0, ParseError::Error, ParseError::Unsuitable } |
enum | TokenType { NUM_TOKEN_TYPES } |
enum | BraceBlockKind { BK_Unknown, BK_Block, BK_BracedInit } |
enum | ParameterPackingKind { PPK_BinPacked, PPK_OnePerLine, PPK_Inconclusive } |
enum | FormatDecision { FD_Unformatted, FD_Continue, FD_Break } |
enum | LineType { LT_Invalid, LT_ImportStatement, LT_ObjCDecl, LT_ObjCMethodDecl, LT_ObjCProperty, LT_Other, LT_PreprocessorDirective, LT_VirtualFunctionDecl } |
Variables | |
const char * | StyleOptionHelpDescription |
Description to be used for help text for a llvm::cl option for specifying format style. The description is closely related to the operation of getStyle(). More... | |
static const char *const | Blanks = " \t\v\f\r" |
Enumerator | |
---|---|
BK_Unknown | |
BK_Block | |
BK_BracedInit |
Definition at line 100 of file FormatToken.h.
Enumerator | |
---|---|
FD_Unformatted | |
FD_Continue | |
FD_Break |
Definition at line 105 of file FormatToken.h.
Enumerator | |
---|---|
LT_Invalid | |
LT_ImportStatement | |
LT_ObjCDecl | |
LT_ObjCMethodDecl | |
LT_ObjCProperty | |
LT_Other | |
LT_PreprocessorDirective | |
LT_VirtualFunctionDecl |
Definition at line 28 of file TokenAnnotator.h.
Enumerator | |
---|---|
PPK_BinPacked | |
PPK_OnePerLine | |
PPK_Inconclusive |
Definition at line 103 of file FormatToken.h.
|
strong |
Enumerator | |
---|---|
NUM_TOKEN_TYPES |
Definition at line 89 of file FormatToken.h.
|
static |
Definition at line 139 of file FormatToken.cpp.
References clang::format::FormatToken::ColumnWidth, and clang::format::FormatToken::TotalLength.
Referenced by clang::format::CommaSeparatedList::precomputeFormattingInfos().
std::string clang::format::configurationAsText | ( | const FormatStyle & | Style | ) |
FormatStyle clang::format::getChromiumStyle | ( | FormatStyle::LanguageKind | Language | ) |
Returns a format style complying with Chromium's style guide: http://www.chromium.org/developers/coding-style.
Definition at line 461 of file Format.cpp.
References clang::format::FormatStyle::AllowAllParametersOfDeclarationOnNextLine, clang::format::FormatStyle::AllowShortFunctionsOnASingleLine, clang::format::FormatStyle::AllowShortIfStatementsOnASingleLine, clang::format::FormatStyle::AllowShortLoopsOnASingleLine, clang::format::FormatStyle::BinPackParameters, clang::format::FormatStyle::ContinuationIndentWidth, clang::format::FormatStyle::DerivePointerAlignment, getGoogleStyle(), clang::format::FormatStyle::IndentWidth, clang::format::FormatStyle::LK_Java, clang::format::FormatStyle::MacroBlockBegin, and clang::format::FormatStyle::SFS_Inline.
Referenced by getPredefinedStyle().
|
static |
Definition at line 42 of file BreakableToken.cpp.
References Blanks, clang::format::encoding::columnWidthWithTabs(), Encoding, and clang::format::encoding::getCodePointNumBytes().
Referenced by clang::format::BreakableLineComment::getSplit(), and clang::format::BreakableBlockComment::getSplit().
LangOptions clang::format::getFormattingLangOpts | ( | const FormatStyle & | Style = getLLVMStyle() | ) |
Returns the LangOpts
that the formatter expects you to set.
Style | determines specific settings for lexing mode. |
Definition at line 1601 of file Format.cpp.
References clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_Cpp, clang::format::FormatStyle::LS_Cpp03, and clang::format::FormatStyle::Standard.
FormatStyle clang::format::getGNUStyle | ( | ) |
Returns a format style complying with GNU Coding Standards: http://www.gnu.org/prep/standards/standards.html.
Definition at line 520 of file Format.cpp.
References clang::format::FormatStyle::AlwaysBreakAfterDefinitionReturnType, clang::format::FormatStyle::BOS_All, clang::format::FormatStyle::BreakBeforeBinaryOperators, clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BreakBeforeTernaryOperators, clang::format::FormatStyle::BS_GNU, clang::format::FormatStyle::ColumnLimit, clang::format::FormatStyle::Cpp11BracedListStyle, clang::format::FormatStyle::DRTBS_All, getLLVMStyle(), clang::format::FormatStyle::LS_Cpp03, clang::format::FormatStyle::SBPO_Always, clang::format::FormatStyle::SpaceBeforeParens, clang::format::FormatStyle::Standard, and Style.
Referenced by getPredefinedStyle().
FormatStyle clang::format::getGoogleStyle | ( | FormatStyle::LanguageKind | Language | ) |
Returns a format style complying with one of Google's style guides: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml. http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml. https://developers.google.com/protocol-buffers/docs/style.
Definition at line 413 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, clang::format::FormatStyle::AlignAfterOpenBracket, clang::format::FormatStyle::AlignEscapedNewlinesLeft, clang::format::FormatStyle::AlignOperands, clang::format::FormatStyle::AlignTrailingComments, clang::format::FormatStyle::AllowShortFunctionsOnASingleLine, clang::format::FormatStyle::AllowShortIfStatementsOnASingleLine, clang::format::FormatStyle::AllowShortLoopsOnASingleLine, clang::format::FormatStyle::AlwaysBreakBeforeMultilineStrings, clang::format::FormatStyle::AlwaysBreakTemplateDeclarations, clang::format::FormatStyle::BOS_NonAssignment, clang::format::FormatStyle::BreakBeforeBinaryOperators, clang::format::FormatStyle::BreakBeforeTernaryOperators, clang::format::FormatStyle::ColumnLimit, clang::format::FormatStyle::ConstructorInitializerAllOnOneLineOrOnePerLine, clang::format::FormatStyle::DerivePointerAlignment, getLLVMStyle(), clang::format::FormatStyle::IndentCaseLabels, clang::format::FormatStyle::KeepEmptyLinesAtTheStartOfBlocks, clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_Java, clang::format::FormatStyle::LK_JavaScript, clang::format::FormatStyle::LK_Proto, clang::format::FormatStyle::LS_Auto, clang::format::FormatStyle::MaxEmptyLinesToKeep, clang::format::FormatStyle::ObjCSpaceAfterProperty, clang::format::FormatStyle::ObjCSpaceBeforeProtocolList, clang::format::FormatStyle::PAS_Left, clang::format::FormatStyle::PenaltyBreakBeforeFirstCallParameter, clang::format::FormatStyle::PenaltyReturnTypeOnItsOwnLine, clang::format::FormatStyle::PointerAlignment, clang::format::FormatStyle::SFS_Empty, clang::format::FormatStyle::SFS_Inline, clang::format::FormatStyle::SFS_None, clang::format::FormatStyle::SpaceAfterCStyleCast, clang::format::FormatStyle::SpacesBeforeTrailingComments, clang::format::FormatStyle::SpacesInContainerLiterals, and clang::format::FormatStyle::Standard.
Referenced by getChromiumStyle(), and getPredefinedStyle().
|
static |
Definition at line 1627 of file Format.cpp.
References clang::format::FormatStyle::LK_Cpp, clang::format::FormatStyle::LK_Java, clang::format::FormatStyle::LK_JavaScript, and clang::format::FormatStyle::LK_Proto.
Referenced by getStyle().
|
static |
Definition at line 31 of file ContinuationIndenter.cpp.
References clang::format::FormatToken::CanBreakBefore, End, clang::format::FormatToken::MatchingParen, clang::format::FormatToken::Next, and clang::format::FormatToken::TotalLength.
Referenced by clang::format::ContinuationIndenter::mustBreak().
|
static |
Definition at line 185 of file BreakableToken.cpp.
FormatStyle clang::format::getLLVMStyle | ( | ) |
Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards.html.
Definition at line 342 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, clang::format::FormatStyle::AlignAfterOpenBracket, clang::format::FormatStyle::AlignConsecutiveAssignments, clang::format::FormatStyle::AlignEscapedNewlinesLeft, clang::format::FormatStyle::AlignOperands, clang::format::FormatStyle::AlignTrailingComments, clang::format::FormatStyle::AllowAllParametersOfDeclarationOnNextLine, clang::format::FormatStyle::AllowShortBlocksOnASingleLine, clang::format::FormatStyle::AllowShortCaseLabelsOnASingleLine, clang::format::FormatStyle::AllowShortFunctionsOnASingleLine, clang::format::FormatStyle::AllowShortIfStatementsOnASingleLine, clang::format::FormatStyle::AllowShortLoopsOnASingleLine, clang::format::FormatStyle::AlwaysBreakAfterDefinitionReturnType, clang::format::FormatStyle::AlwaysBreakBeforeMultilineStrings, clang::format::FormatStyle::AlwaysBreakTemplateDeclarations, clang::format::FormatStyle::BinPackArguments, clang::format::FormatStyle::BinPackParameters, clang::format::FormatStyle::BOS_None, clang::format::FormatStyle::BreakBeforeBinaryOperators, clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BreakBeforeTernaryOperators, clang::format::FormatStyle::BreakConstructorInitializersBeforeComma, clang::format::FormatStyle::BS_Attach, clang::format::FormatStyle::ColumnLimit, clang::format::FormatStyle::CommentPragmas, clang::format::FormatStyle::ConstructorInitializerAllOnOneLineOrOnePerLine, clang::format::FormatStyle::ConstructorInitializerIndentWidth, clang::format::FormatStyle::ContinuationIndentWidth, clang::format::FormatStyle::Cpp11BracedListStyle, clang::format::FormatStyle::DerivePointerAlignment, clang::format::FormatStyle::DisableFormat, clang::format::FormatStyle::DRTBS_None, clang::format::FormatStyle::ExperimentalAutoDetectBinPacking, clang::format::FormatStyle::ForEachMacros, clang::format::FormatStyle::IndentCaseLabels, clang::format::FormatStyle::IndentWidth, clang::format::FormatStyle::IndentWrappedFunctionNames, clang::format::FormatStyle::KeepEmptyLinesAtTheStartOfBlocks, clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_Cpp, clang::format::FormatStyle::LS_Cpp11, clang::format::FormatStyle::MaxEmptyLinesToKeep, clang::format::FormatStyle::NamespaceIndentation, clang::format::FormatStyle::NI_None, clang::format::FormatStyle::ObjCBlockIndentWidth, clang::format::FormatStyle::ObjCSpaceAfterProperty, clang::format::FormatStyle::ObjCSpaceBeforeProtocolList, clang::format::FormatStyle::PAS_Right, clang::format::FormatStyle::PenaltyBreakBeforeFirstCallParameter, clang::format::FormatStyle::PenaltyBreakComment, clang::format::FormatStyle::PenaltyBreakFirstLessLess, clang::format::FormatStyle::PenaltyBreakString, clang::format::FormatStyle::PenaltyExcessCharacter, clang::format::FormatStyle::PenaltyReturnTypeOnItsOwnLine, clang::format::FormatStyle::PointerAlignment, clang::format::FormatStyle::SBPO_ControlStatements, clang::format::FormatStyle::SFS_All, clang::format::FormatStyle::SpaceAfterCStyleCast, clang::format::FormatStyle::SpaceBeforeAssignmentOperators, clang::format::FormatStyle::SpaceBeforeParens, clang::format::FormatStyle::SpaceInEmptyParentheses, clang::format::FormatStyle::SpacesBeforeTrailingComments, clang::format::FormatStyle::SpacesInAngles, clang::format::FormatStyle::SpacesInContainerLiterals, clang::format::FormatStyle::SpacesInCStyleCastParentheses, clang::format::FormatStyle::SpacesInParentheses, clang::format::FormatStyle::SpacesInSquareBrackets, clang::format::FormatStyle::Standard, clang::format::FormatStyle::TabWidth, clang::format::FormatStyle::UseTab, and clang::format::FormatStyle::UT_Never.
Referenced by getGNUStyle(), getGoogleStyle(), getMozillaStyle(), getNoStyle(), getPredefinedStyle(), getStyle(), and getWebKitStyle().
FormatStyle clang::format::getMozillaStyle | ( | ) |
Returns a format style complying with Mozilla's style guide: https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style.
Definition at line 480 of file Format.cpp.
References clang::format::FormatStyle::AllowAllParametersOfDeclarationOnNextLine, clang::format::FormatStyle::AllowShortFunctionsOnASingleLine, clang::format::FormatStyle::AlwaysBreakAfterDefinitionReturnType, clang::format::FormatStyle::AlwaysBreakTemplateDeclarations, clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BreakConstructorInitializersBeforeComma, clang::format::FormatStyle::BS_Mozilla, clang::format::FormatStyle::ConstructorInitializerIndentWidth, clang::format::FormatStyle::ContinuationIndentWidth, clang::format::FormatStyle::Cpp11BracedListStyle, clang::format::FormatStyle::DRTBS_TopLevel, getLLVMStyle(), clang::format::FormatStyle::IndentCaseLabels, clang::format::FormatStyle::ObjCSpaceAfterProperty, clang::format::FormatStyle::ObjCSpaceBeforeProtocolList, clang::format::FormatStyle::PAS_Left, clang::format::FormatStyle::PenaltyReturnTypeOnItsOwnLine, clang::format::FormatStyle::PointerAlignment, and clang::format::FormatStyle::SFS_Inline.
Referenced by getPredefinedStyle().
FormatStyle clang::format::getNoStyle | ( | ) |
Returns style indicating formatting should be not applied at all.
Definition at line 533 of file Format.cpp.
References clang::format::FormatStyle::DisableFormat, and getLLVMStyle().
Referenced by getPredefinedStyle().
const std::error_category & clang::format::getParseCategory | ( | ) |
Definition at line 318 of file Format.cpp.
References AttributeLangSupport::C.
Referenced by make_error_code().
bool clang::format::getPredefinedStyle | ( | StringRef | Name, |
FormatStyle::LanguageKind | Language, | ||
FormatStyle * | Style | ||
) |
Gets a predefined style for the specified language by name.
Currently supported names: LLVM, Google, Chromium, Mozilla. Names are compared case-insensitively.
Returns true
if the Style has been set.
Definition at line 539 of file Format.cpp.
References getChromiumStyle(), getGNUStyle(), getGoogleStyle(), getLLVMStyle(), getMozillaStyle(), getNoStyle(), getWebKitStyle(), and clang::format::FormatStyle::Language.
Referenced by getStyle(), and llvm::yaml::MappingTraits< FormatStyle >::mapping().
|
static |
Definition at line 86 of file BreakableToken.cpp.
References clang::format::encoding::columnWidthWithTabs(), Encoding, clang::format::encoding::getCodePointNumBytes(), clang::format::encoding::getEscapeSequenceLength(), clang::isAlphanumeric(), and IsBlank().
Referenced by clang::format::BreakableStringLiteral::getSplit().
FormatStyle clang::format::getStyle | ( | StringRef | StyleName, |
StringRef | FileName, | ||
StringRef | FallbackStyle | ||
) |
Construct a FormatStyle based on StyleName
.
StyleName
can take several forms:
FileName
or the current directory if FileName
is empty.[in] | StyleName | Style name to interpret according to the description above. |
[in] | FileName | Path to start search for .clang-format if StyleName == "file". |
[in] | FallbackStyle | The name of a predefined style used to fallback to in case the style can't be determined from StyleName . |
StyleName
. If no style could be determined, the default is LLVM Style (see getLLVMStyle()). Definition at line 1640 of file Format.cpp.
References getLanguageByFileName(), getLLVMStyle(), getPredefinedStyle(), clang::format::FormatStyle::Language, parseConfiguration(), Style, and Unsuitable.
const char * clang::format::getTokenTypeName | ( | TokenType | Type | ) |
Determines the name of a token type.
Definition at line 26 of file FormatToken.cpp.
References LIST_TOKEN_TYPES, NUM_TOKEN_TYPES, and TokNames.
FormatStyle clang::format::getWebKitStyle | ( | ) |
Returns a format style complying with Webkit's style guide: http://www.webkit.org/coding/coding-style.html.
Definition at line 500 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, clang::format::FormatStyle::AlignAfterOpenBracket, clang::format::FormatStyle::AlignOperands, clang::format::FormatStyle::AlignTrailingComments, clang::format::FormatStyle::BOS_All, clang::format::FormatStyle::BreakBeforeBinaryOperators, clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BreakConstructorInitializersBeforeComma, clang::format::FormatStyle::BS_Stroustrup, clang::format::FormatStyle::ColumnLimit, clang::format::FormatStyle::Cpp11BracedListStyle, getLLVMStyle(), clang::format::FormatStyle::IndentWidth, clang::format::FormatStyle::LS_Cpp03, clang::format::FormatStyle::NamespaceIndentation, clang::format::FormatStyle::NI_Inner, clang::format::FormatStyle::ObjCBlockIndentWidth, clang::format::FormatStyle::ObjCSpaceAfterProperty, clang::format::FormatStyle::PAS_Left, clang::format::FormatStyle::PointerAlignment, clang::format::FormatStyle::Standard, and Style.
Referenced by getPredefinedStyle().
|
static |
Definition at line 2015 of file TokenAnnotator.cpp.
References BK_Block, clang::format::FormatToken::BlockKind, clang::format::FormatToken::is(), and clang::format::FormatToken::isOneOf().
|
static |
Definition at line 29 of file BreakableToken.cpp.
Referenced by getStringSplit().
|
static |
Definition at line 1462 of file TokenAnnotator.cpp.
References clang::format::FormatToken::is(), clang::format::FormatToken::MatchingParen, clang::format::FormatToken::NestingLevel, clang::format::FormatToken::Next, and Next.
Referenced by clang::format::TokenAnnotator::calculateFormattingInformation().
|
static |
Definition at line 437 of file UnwrappedLineParser.cpp.
References clang::format::UnwrappedLine::Tokens.
std::error_code clang::format::make_error_code | ( | ParseError | e | ) |
Definition at line 322 of file Format.cpp.
References getParseCategory().
Referenced by clang::vfs::OverlayFileSystem::openFileForRead(), parseConfiguration(), and clang::vfs::OverlayFileSystem::status().
std::error_code clang::format::parseConfiguration | ( | StringRef | Text, |
FormatStyle * | Style | ||
) |
Parse configuration from YAML-formatted text.
Style->Language is used to get the base style, if the BasedOnStyle
option is present.
When BasedOnStyle
is not present, options not present in the YAML document, are retained in Style
.
Definition at line 563 of file Format.cpp.
References Error, Input, clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_None, make_error_code(), Success, and Unsuitable.
Referenced by getStyle().
|
static |
Definition at line 1794 of file UnwrappedLineParser.cpp.
References clang::format::UnwrappedLineNode::Children, clang::format::UnwrappedLine::InPPDirective, clang::format::UnwrappedLine::Level, Node, and clang::format::UnwrappedLine::Tokens.
tooling::Replacements clang::format::reformat | ( | const FormatStyle & | Style, |
SourceManager & | SourceMgr, | ||
FileID | ID, | ||
ArrayRef< CharSourceRange > | Ranges, | ||
bool * | IncompleteFormat = nullptr |
||
) |
Reformats the given Ranges
in the file ID
.
Each range is extended on either end to its next bigger logic unit, i.e. everything that might influence its formatting or might be influenced by its formatting.
Returns the Replacements
necessary to make all Ranges
comply with Style
.
If IncompleteFormat
is non-null, its value will be set to true if any of the affected ranges were not formatted due to a non-recoverable syntax error.
Definition at line 1563 of file Format.cpp.
References clang::format::FormatStyle::DisableFormat.
Referenced by reformat().
tooling::Replacements clang::format::reformat | ( | const FormatStyle & | Style, |
StringRef | Code, | ||
ArrayRef< tooling::Range > | Ranges, | ||
StringRef | FileName = "<stdin>" , |
||
bool * | IncompleteFormat = nullptr |
||
) |
Reformats the given Ranges
in Code
.
Otherwise identical to the reformat() function using a file ID.
Definition at line 1573 of file Format.cpp.
References clang::SrcMgr::C_User, clang::SourceManager::createFileID(), clang::format::FormatStyle::DisableFormat, clang::CharSourceRange::getCharRange(), clang::SourceManager::getLocForStartOfFile(), clang::SourceLocation::getLocWithOffset(), clang::FileManager::getVirtualFile(), clang::SourceManager::overrideFileContents(), reformat(), and SourceMgr.
|
static |
Definition at line 455 of file UnwrappedLineParser.cpp.
References clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BS_Allman, clang::format::FormatStyle::BS_GNU, clang::format::FormatStyle::BS_Linux, clang::format::FormatStyle::BS_Mozilla, and clang::format::FormatToken::isOneOf().
|
static |
Definition at line 48 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::BreakConstructorInitializersBeforeComma, clang::format::FormatToken::is(), clang::format::FormatToken::isNot(), clang::format::FormatToken::isTrailingComment(), clang::format::FormatToken::Previous, and Previous.
Referenced by clang::format::ContinuationIndenter::mustBreak().
|
static |
Definition at line 43 of file ContinuationIndenter.cpp.
References clang::format::FormatToken::closesScope(), clang::format::FormatToken::isMemberAccess(), and clang::format::FormatToken::Previous.
Referenced by clang::format::ContinuationIndenter::mustBreak().
|
static |
Definition at line 626 of file UnwrappedLineParser.cpp.
References clang::Token::isNot().
|
static |
Definition at line 28 of file BreakableToken.cpp.
Referenced by getCommentSplit().
const char * clang::format::StyleOptionHelpDescription |
Description to be used for help text for a llvm::cl option for specifying format style. The description is closely related to the operation of getStyle().
Definition at line 1616 of file Format.cpp.