This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGd8d331bc9710: [clang-format] Fix aligning of java-style declarations (authored by eoanermine, committed by owenpan).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129628/new/ https://reviews.llvm.org/D129628 Files: clang/lib/Format/TokenAnnotator.cpp clang/unittests/Format/FormatTestJava.cpp Index: clang/unittests/Format/FormatTestJava.cpp =================================================================== --- clang/unittests/Format/FormatTestJava.cpp +++ clang/unittests/Format/FormatTestJava.cpp @@ -584,6 +584,17 @@ " void f() {}")); } +TEST_F(FormatTestJava, AlignDeclarations) { + FormatStyle Style = getLLVMStyle(FormatStyle::LK_Java); + Style.AlignConsecutiveDeclarations.Enabled = true; + verifyFormat("private final String[] args;\n" + "private final A_ParserHelper parserHelper;\n" + "private final int numOfCmdArgs;\n" + "private int numOfCmdArgs;\n" + "private String[] args;", + Style); +} + TEST_F(FormatTestJava, KeepsDelimitersOnOwnLineInJavaDocComments) { EXPECT_EQ("/**\n" " * javadoc line 1\n" Index: clang/lib/Format/TokenAnnotator.cpp =================================================================== --- clang/lib/Format/TokenAnnotator.cpp +++ clang/lib/Format/TokenAnnotator.cpp @@ -2065,6 +2065,11 @@ if (PreviousNotConst->isSimpleTypeSpecifier()) return true; + // type[] a in Java + if (Style.Language == FormatStyle::LK_Java && + PreviousNotConst->is(tok::r_square)) + return true; + // const a = in JavaScript. return Style.isJavaScript() && PreviousNotConst->is(tok::kw_const); }
Index: clang/unittests/Format/FormatTestJava.cpp =================================================================== --- clang/unittests/Format/FormatTestJava.cpp +++ clang/unittests/Format/FormatTestJava.cpp @@ -584,6 +584,17 @@ " void f() {}")); } +TEST_F(FormatTestJava, AlignDeclarations) { + FormatStyle Style = getLLVMStyle(FormatStyle::LK_Java); + Style.AlignConsecutiveDeclarations.Enabled = true; + verifyFormat("private final String[] args;\n" + "private final A_ParserHelper parserHelper;\n" + "private final int numOfCmdArgs;\n" + "private int numOfCmdArgs;\n" + "private String[] args;", + Style); +} + TEST_F(FormatTestJava, KeepsDelimitersOnOwnLineInJavaDocComments) { EXPECT_EQ("/**\n" " * javadoc line 1\n" Index: clang/lib/Format/TokenAnnotator.cpp =================================================================== --- clang/lib/Format/TokenAnnotator.cpp +++ clang/lib/Format/TokenAnnotator.cpp @@ -2065,6 +2065,11 @@ if (PreviousNotConst->isSimpleTypeSpecifier()) return true; + // type[] a in Java + if (Style.Language == FormatStyle::LK_Java && + PreviousNotConst->is(tok::r_square)) + return true; + // const a = in JavaScript. return Style.isJavaScript() && PreviousNotConst->is(tok::kw_const); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits