clang API Documentation
Definition at line 79 of file FormatToken.h.
Definition at line 92 of file FormatToken.h.
LT_Invalid | |
LT_Other | |
LT_PreprocessorDirective | |
LT_VirtualFunctionDecl | |
LT_ObjCDecl | |
LT_ObjCMethodDecl | |
LT_ObjCProperty |
Definition at line 28 of file TokenAnnotator.h.
Definition at line 86 of file FormatToken.h.
Definition at line 28 of file FormatToken.h.
static unsigned clang::format::CodePointsBetween | ( | const FormatToken * | Begin, |
const FormatToken * | End | ||
) | [static] |
Definition at line 123 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 | ) |
static void clang::format::consumeRParens | ( | LineState & | State, |
const FormatToken & | Tok | ||
) | [static] |
Definition at line 791 of file ContinuationIndenter.cpp.
References clang::format::FormatToken::FakeRParens, and clang::format::LineState::Stack.
static bool clang::format::fakeRParenSpecialCase | ( | const LineState & | State | ) | [static] |
Definition at line 821 of file ContinuationIndenter.cpp.
References BK_Block, clang::format::FormatToken::BlockKind, clang::format::FormatToken::isOneOf(), clang::format::FormatToken::MatchingParen, clang::format::LineState::NextToken, clang::format::LineState::Stack, TT_ArrayInitializerLSquare, TT_DictLiteral, and clang::format::FormatToken::Type.
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 432 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::DerivePointerAlignment, getGoogleStyle(), and clang::format::FormatStyle::SFS_Inline.
Referenced by getPredefinedStyle().
static BreakableToken::Split clang::format::getCommentSplit | ( | StringRef | Text, |
unsigned | ContentStartColumn, | ||
unsigned | ColumnLimit, | ||
unsigned | TabWidth, | ||
encoding::Encoding | Encoding | ||
) | [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 2130 of file Format.cpp.
References clang::format::FormatStyle::Language, and clang::format::FormatStyle::Standard.
Returns a format style complying with GNU Coding Standards: http://www.gnu.org/prep/standards/standards.html.
Definition at line 476 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, 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 390 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, clang::format::FormatStyle::AlignEscapedNewlinesLeft, 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_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 FormatStyle::LanguageKind clang::format::getLanguageByFileName | ( | StringRef | FileName | ) | [static] |
Definition at line 2156 of file Format.cpp.
Referenced by getStyle().
static unsigned clang::format::getLengthToMatchingParen | ( | const FormatToken & | Tok | ) | [static] |
Definition at line 31 of file ContinuationIndenter.cpp.
References clang::format::FormatToken::CanBreakBefore, clang::format::FormatToken::MatchingParen, clang::format::FormatToken::Next, and clang::format::FormatToken::TotalLength.
Referenced by clang::format::ContinuationIndenter::mustBreak().
static StringRef clang::format::getLineCommentIndentPrefix | ( | StringRef | Comment | ) | [static] |
Definition at line 185 of file BreakableToken.cpp.
Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards.html.
Definition at line 322 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, clang::format::FormatStyle::AlignEscapedNewlinesLeft, 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::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().
Returns a format style complying with Mozilla's style guide: https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style.
Definition at line 443 of file Format.cpp.
References clang::format::FormatStyle::AllowAllParametersOfDeclarationOnNextLine, clang::format::FormatStyle::ConstructorInitializerAllOnOneLineOrOnePerLine, clang::format::FormatStyle::Cpp11BracedListStyle, clang::format::FormatStyle::DerivePointerAlignment, getLLVMStyle(), clang::format::FormatStyle::IndentCaseLabels, clang::format::FormatStyle::LS_Cpp03, 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::Standard.
Referenced by getPredefinedStyle().
Returns style indicating formatting should be not applied at all.
Definition at line 489 of file Format.cpp.
References clang::format::FormatStyle::DisableFormat, and getLLVMStyle().
Referenced by getPredefinedStyle().
const std::error_category & clang::format::getParseCategory | ( | ) |
Definition at line 298 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 495 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 bool clang::format::getRawStringLiteralPrefixPostfix | ( | StringRef | Text, |
StringRef & | Prefix, | ||
StringRef & | Postfix | ||
) | [static] |
Definition at line 962 of file ContinuationIndenter.cpp.
static BreakableToken::Split clang::format::getStringSplit | ( | StringRef | Text, |
unsigned | UsedColumns, | ||
unsigned | ColumnLimit, | ||
unsigned | TabWidth, | ||
encoding::Encoding | Encoding | ||
) | [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 2168 of file Format.cpp.
References getLanguageByFileName(), getLLVMStyle(), getPredefinedStyle(), clang::format::FormatStyle::Language, parseConfiguration(), Style, and Unsuitable.
Returns a format style complying with Webkit's style guide: http://www.webkit.org/coding/coding-style.html.
Definition at line 458 of file Format.cpp.
References clang::format::FormatStyle::AccessModifierOffset, 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 bool clang::format::isAllmanBrace | ( | const FormatToken & | Tok | ) | [static] |
Definition at line 1780 of file TokenAnnotator.cpp.
References BK_Block, clang::format::FormatToken::BlockKind, clang::format::FormatToken::is(), TT_DictLiteral, TT_ObjCBlockLBrace, and clang::format::FormatToken::Type.
static bool clang::format::IsBlank | ( | char | C | ) | [static] |
Definition at line 29 of file BreakableToken.cpp.
Referenced by getStringSplit().
static bool clang::format::isFunctionDeclarationName | ( | const FormatToken & | Current | ) | [static] |
Definition at line 1293 of file TokenAnnotator.cpp.
References clang::format::FormatToken::is(), clang::format::FormatToken::MatchingParen, clang::format::FormatToken::NestingLevel, clang::format::FormatToken::Next, TT_PointerOrReference, TT_StartOfName, TT_TemplateOpener, and clang::format::FormatToken::Type.
Referenced by clang::format::TokenAnnotator::calculateFormattingInformation().
static bool clang::format::IsGoogScope | ( | const UnwrappedLine & | Line | ) | [static] |
Definition at line 420 of file UnwrappedLineParser.cpp.
References clang::format::UnwrappedLine::Tokens.
std::error_code clang::format::make_error_code | ( | ParseError | e | ) |
Definition at line 302 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 519 of file Format.cpp.
References clang::diag::Error, Input, clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_None, make_error_code(), Success, and Unsuitable.
Referenced by getStyle().
static LLVM_ATTRIBUTE_UNUSED void clang::format::printDebugInfo | ( | const UnwrappedLine & | Line, |
StringRef | Prefix = "" |
||
) | [static] |
Definition at line 1561 of file UnwrappedLineParser.cpp.
References clang::format::UnwrappedLineNode::Children, clang::format::UnwrappedLine::InPPDirective, clang::format::UnwrappedLine::Level, Node, and clang::format::UnwrappedLine::Tokens.
Referenced by clang::format::TokenAnnotator::calculateFormattingInformation().
tooling::Replacements clang::format::reformat | ( | const FormatStyle & | Style, |
Lexer & | Lex, | ||
SourceManager & | SourceMgr, | ||
ArrayRef< CharSourceRange > | Ranges | ||
) |
Reformats the given Ranges
in the token stream coming out of Lex
.
DEPRECATED: Do not use.
Definition at line 2084 of file Format.cpp.
References clang::format::FormatStyle::DisableFormat, clang::SourceManager::getFileID(), and clang::Lexer::getSourceLocation().
Referenced by reformat().
tooling::Replacements clang::format::reformat | ( | const FormatStyle & | Style, |
SourceManager & | SourceMgr, | ||
FileID | ID, | ||
ArrayRef< CharSourceRange > | Ranges | ||
) |
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
.
Definition at line 2093 of file Format.cpp.
References clang::format::FormatStyle::DisableFormat.
tooling::Replacements clang::format::reformat | ( | const FormatStyle & | Style, |
StringRef | Code, | ||
ArrayRef< tooling::Range > | Ranges, | ||
StringRef | FileName = "<stdin>" |
||
) |
Reformats the given Ranges
in Code
.
Otherwise identical to the reformat() function consuming a Lexer
.
Definition at line 2102 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 bool clang::format::ShouldBreakBeforeBrace | ( | const FormatStyle & | Style, |
const FormatToken & | InitialToken | ||
) | [static] |
Definition at line 436 of file UnwrappedLineParser.cpp.
References clang::format::FormatStyle::BreakBeforeBraces, clang::format::FormatStyle::BS_Allman, clang::format::FormatStyle::BS_GNU, clang::format::FormatStyle::BS_Linux, and clang::format::FormatToken::isOneOf().
static bool clang::format::startsNextParameter | ( | const FormatToken & | Current, |
const FormatStyle & | Style | ||
) | [static] |
Definition at line 48 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::BreakConstructorInitializersBeforeComma, clang::format::FormatToken::is(), clang::format::FormatToken::isTrailingComment(), clang::format::FormatToken::Previous, Previous, TT_CtorInitializerComma, and clang::format::FormatToken::Type.
Referenced by clang::format::ContinuationIndenter::mustBreak().
static bool clang::format::startsSegmentOfBuilderTypeCall | ( | const FormatToken & | Tok | ) | [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().
Definition at line 603 of file UnwrappedLineParser.cpp.
References clang::Token::isNot().
const char* const clang::format::Blanks = " \t\v\f\r" [static] |
Definition at line 28 of file BreakableToken.cpp.
Referenced by getCommentSplit().
const char * clang::format::StyleOptionHelpDescription = " -style=\"{BasedOnStyle: llvm, IndentWidth: 8}\"" |
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 2145 of file Format.cpp.