From e1f9a8e27f553dcb359dfd96a3fe3065de7c4dad Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Thu, 11 Jul 2013 13:48:16 +0000 Subject: [PATCH] Fix indentation problem for comments in call chains Before: SomeObject // Calling someFunction on SomeObject .someFunction(); After: SomeObject // Calling someFunction on SomeObject .someFunction(); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186085 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/Format.cpp | 3 ++- unittests/Format/FormatTest.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index ad390c23dc..0dd47fe4a9 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -589,7 +589,8 @@ private: State.Column, Line.InPPDirective); } - State.Stack.back().LastSpace = State.Column; + if (!Current.isTrailingComment()) + State.Stack.back().LastSpace = State.Column; if (Current.isOneOf(tok::arrow, tok::period) && Current.Type != TT_DesignatedInitializerPeriod) State.Stack.back().LastSpace += Current.CodePointCount; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 8435c94a0f..42cd89cc8b 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -576,6 +576,9 @@ TEST_F(FormatTest, UnderstandsSingleLineComments) { verifyFormat("void f() {\n" " // Doesn't do anything\n" "}"); + verifyFormat("SomeObject\n" + " // Calling someFunction on SomeObject\n" + " .someFunction();"); verifyFormat("void f(int i, // some comment (probably for i)\n" " int j, // some comment (probably for j)\n" " int k); // some comment (probably for k)"); -- 2.40.0