From 07013a42d2f13043ee1237071f41361cecc581ff Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 26 Nov 2014 11:20:43 +0000 Subject: [PATCH] clang-format: [Java] Fix breaking after annotations. Before: @Annotation1 // comment @Annotation2 class C {} After: @Annotation1 // comment @Annotation2 class C {} llvm-svn: 222825 --- clang/lib/Format/TokenAnnotator.cpp | 3 ++- clang/unittests/Format/FormatTestJava.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 3daea77..9b32c35 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -864,7 +864,8 @@ private: Current.Previous->is(tok::at) && Current.isNot(Keywords.kw_interface)) { const FormatToken &AtToken = *Current.Previous; - if (!AtToken.Previous || AtToken.Previous->is(TT_LeadingJavaAnnotation)) + const FormatToken *Previous = AtToken.getPreviousNonComment(); + if (!Previous || Previous->is(TT_LeadingJavaAnnotation)) Current.Type = TT_LeadingJavaAnnotation; else Current.Type = TT_JavaAnnotation; diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index 946ae32..5c80bab 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -206,6 +206,9 @@ TEST_F(FormatTestJava, Annotations) { verifyFormat("@Override\n" "@Nullable\n" "public String getNameIfPresent() {}"); + verifyFormat("@Override // comment\n" + "@Nullable\n" + "public String getNameIfPresent() {}"); verifyFormat("@SuppressWarnings(value = \"unchecked\")\n" "public void doSomething() {}"); -- 2.7.4