forked from OSchip/llvm-project
[clang-format] Fix aligning of java-style declarations
- Modify TokenAnnotator to work fine with java-style array declarations. - Add test for aligning of java declarations. Fixes #55931. Differential Revision: https://reviews.llvm.org/D129628
This commit is contained in:
parent
fbc4c26e9a
commit
d8d331bc97
|
@ -2065,6 +2065,11 @@ private:
|
|||
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);
|
||||
}
|
||||
|
|
|
@ -584,6 +584,17 @@ TEST_F(FormatTestJava, AlignsBlockComments) {
|
|||
" 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"
|
||||
|
|
Loading…
Reference in New Issue