clang-format: Re-enable comment re-indentation for Java/JS.

This was broken by r224120.

llvm-svn: 225130
This commit is contained in:
Daniel Jasper 2015-01-04 09:11:17 +00:00
parent 3ce01c34c0
commit 428f0b1430
2 changed files with 19 additions and 6 deletions

View File

@ -905,12 +905,6 @@ unsigned ContinuationIndenter::addMultilineToken(const FormatToken &Current,
unsigned ContinuationIndenter::breakProtrudingToken(const FormatToken &Current,
LineState &State,
bool DryRun) {
// FIXME: String literal breaking is currently disabled for Java and JS, as
// it requires strings to be merged using "+" which we don't support.
if (Style.Language == FormatStyle::LK_Java ||
Style.Language == FormatStyle::LK_JavaScript)
return 0;
// Don't break multi-line tokens other than block comments. Instead, just
// update the state.
if (Current.isNot(TT_BlockComment) && Current.IsMultiline)
@ -929,6 +923,12 @@ unsigned ContinuationIndenter::breakProtrudingToken(const FormatToken &Current,
unsigned ColumnLimit = getColumnLimit(State);
if (Current.isStringLiteral()) {
// FIXME: String literal breaking is currently disabled for Java and JS, as
// it requires strings to be merged using "+" which we don't support.
if (Style.Language == FormatStyle::LK_Java ||
Style.Language == FormatStyle::LK_JavaScript)
return 0;
// Don't break string literals inside preprocessor directives (except for
// #define directives, as their contents are stored in separate lines and
// are not affected by this check).

View File

@ -425,5 +425,18 @@ TEST_F(FormatTestJava, BreaksStringLiterals) {
format("\"some text other\";", getStyleWithColumns(14)));
}
TEST_F(FormatTestJava, AlignsBlockComments) {
EXPECT_EQ("/*\n"
" * Really multi-line\n"
" * comment.\n"
" */\n"
"void f() {}",
format(" /*\n"
" * Really multi-line\n"
" * comment.\n"
" */\n"
" void f() {}"));
}
} // end namespace tooling
} // end namespace clang