Skip to content

Commit 94b97d1

Browse files
owencatstellar
authored andcommitted
[clang-format] Fix annotation of Java/JavaScript keyword extends (llvm#125038)
Uncovered in llvm#124891. (cherry picked from commit ea84474)
1 parent 37f7f15 commit 94b97d1

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

clang/lib/Format/TokenAnnotator.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2586,6 +2586,11 @@ class AnnotatingParser {
25862586
if (Tok.isNot(tok::identifier) || !Tok.Previous)
25872587
return false;
25882588

2589+
if ((Style.isJavaScript() || Style.Language == FormatStyle::LK_Java) &&
2590+
Tok.is(Keywords.kw_extends)) {
2591+
return false;
2592+
}
2593+
25892594
if (const auto *NextNonComment = Tok.getNextNonComment();
25902595
(!NextNonComment && !Line.InMacroBody) ||
25912596
(NextNonComment &&

clang/unittests/Format/TokenAnnotatorTest.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3464,6 +3464,7 @@ TEST_F(TokenAnnotatorTest, BraceKind) {
34643464
Tokens = annotate("a = class Foo extends goog.a {};",
34653465
getGoogleStyle(FormatStyle::LK_JavaScript));
34663466
ASSERT_EQ(Tokens.size(), 12u) << Tokens;
3467+
EXPECT_TOKEN(Tokens[4], tok::identifier, TT_Unknown); // Not TT_StartOfName
34673468
EXPECT_TOKEN(Tokens[8], tok::l_brace, TT_ClassLBrace);
34683469
EXPECT_BRACE_KIND(Tokens[8], BK_Block);
34693470
EXPECT_TOKEN(Tokens[9], tok::r_brace, TT_ClassRBrace);

0 commit comments

Comments
 (0)