diff options
author | Daniel Jasper <djasper@google.com> | 2014-01-16 09:11:55 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2014-01-16 09:11:55 +0000 |
commit | cb51cf409b45ddaa1bd16b1d88185b918c02bbdd (patch) | |
tree | e9034613fc88129b818a1a86c5b7c4c3bd572071 /clang/lib/Format/TokenAnnotator.cpp | |
parent | 157d911b42788d402b04a9cd7cbf45b0fd4541fb (diff) | |
download | bcm5719-llvm-cb51cf409b45ddaa1bd16b1d88185b918c02bbdd.tar.gz bcm5719-llvm-cb51cf409b45ddaa1bd16b1d88185b918c02bbdd.zip |
clang-format: Enable formatting of lambdas with explicit return type.
So clang-format can now format:
int c = []()->int { return 2; }();
int c = []()->vector<int> { return { 2 }; }();
llvm-svn: 199368
Diffstat (limited to 'clang/lib/Format/TokenAnnotator.cpp')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index be9eabeec7f..6db3f278d49 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -697,7 +697,7 @@ private: bool ParensAreType = !Current.Previous || Current.Previous->Type == TT_PointerOrReference || Current.Previous->Type == TT_TemplateCloser || - isSimpleTypeSpecifier(*Current.Previous); + Current.Previous->isSimpleTypeSpecifier(); bool ParensCouldEndDecl = Current.Next && Current.Next->isOneOf(tok::equal, tok::semi, tok::l_brace); @@ -778,7 +778,7 @@ private: return (!IsPPKeyword && PreviousNotConst->is(tok::identifier)) || PreviousNotConst->Type == TT_PointerOrReference || - isSimpleTypeSpecifier(*PreviousNotConst); + PreviousNotConst->isSimpleTypeSpecifier(); } /// \brief Return the type of the given token assuming it is * or &. @@ -853,36 +853,6 @@ private: return TT_UnaryOperator; } - // FIXME: This is copy&pasted from Sema. Put it in a common place and remove - // duplication. - /// \brief Determine whether the token kind starts a simple-type-specifier. - bool isSimpleTypeSpecifier(const FormatToken &Tok) const { - switch (Tok.Tok.getKind()) { - case tok::kw_short: - case tok::kw_long: - case tok::kw___int64: - case tok::kw___int128: - case tok::kw_signed: - case tok::kw_unsigned: - case tok::kw_void: - case tok::kw_char: - case tok::kw_int: - case tok::kw_half: - case tok::kw_float: - case tok::kw_double: - case tok::kw_wchar_t: - case tok::kw_bool: - case tok::kw___underlying_type: - case tok::annot_typename: - case tok::kw_char16_t: - case tok::kw_char32_t: - case tok::kw_typeof: - case tok::kw_decltype: - return true; - default: - return false; - } - } SmallVector<Context, 8> Contexts; |