diff options
Diffstat (limited to 'clang/lib/Format/WhitespaceManager.h')
| -rw-r--r-- | clang/lib/Format/WhitespaceManager.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/clang/lib/Format/WhitespaceManager.h b/clang/lib/Format/WhitespaceManager.h index 642b5b682bd..93d331e1251 100644 --- a/clang/lib/Format/WhitespaceManager.h +++ b/clang/lib/Format/WhitespaceManager.h @@ -44,7 +44,8 @@ public: /// \brief Replaces the whitespace in front of \p Tok. Only call once for /// each \c AnnotatedToken. void replaceWhitespace(const FormatToken &Tok, unsigned Newlines, - unsigned Spaces, unsigned StartOfTokenColumn, + unsigned IndentLevel, unsigned Spaces, + unsigned StartOfTokenColumn, bool InPPDirective = false); /// \brief Adds information about an unchangable token's whitespace. @@ -65,7 +66,8 @@ public: unsigned ReplaceChars, StringRef PreviousPostfix, StringRef CurrentPrefix, bool InPPDirective, - unsigned Newlines, unsigned Spaces); + unsigned Newlines, unsigned IndentLevel, + unsigned Spaces); /// \brief Returns all the \c Replacements created during formatting. const tooling::Replacements &generateReplacements(); @@ -96,7 +98,7 @@ private: /// \p StartOfTokenColumn and \p InPPDirective will be used to lay out /// trailing comments and escaped newlines. Change(bool CreateReplacement, const SourceRange &OriginalWhitespaceRange, - unsigned Spaces, unsigned StartOfTokenColumn, + unsigned IndentLevel, unsigned Spaces, unsigned StartOfTokenColumn, unsigned NewlinesBefore, StringRef PreviousLinePostfix, StringRef CurrentLinePrefix, tok::TokenKind Kind, bool ContinuesPPDirective); @@ -116,6 +118,11 @@ private: tok::TokenKind Kind; bool ContinuesPPDirective; + // The number of nested blocks the token is in. This is used to add tabs + // only for the indentation, and not for alignment, when + // UseTab = US_ForIndentation. + unsigned IndentLevel; + // The number of spaces in front of the token or broken part of the token. // This will be adapted when aligning tokens. unsigned Spaces; @@ -157,8 +164,8 @@ private: void appendNewlineText(std::string &Text, unsigned Newlines, unsigned PreviousEndOfTokenColumn, unsigned EscapedNewlineColumn); - void appendIndentText(std::string &Text, unsigned Spaces, - unsigned WhitespaceStartColumn); + void appendIndentText(std::string &Text, unsigned IndentLevel, + unsigned Spaces, unsigned WhitespaceStartColumn); SmallVector<Change, 16> Changes; SourceManager &SourceMgr; |

