case tok::kw_switch:
if (Style.Language == FormatStyle::LK_Java)
parseSwitch(/*IsExpr=*/true);
- nextToken();
+ else
+ nextToken();
break;
case tok::kw_case:
// Proto: there are no switch/case statements.
nextToken();
break;
case tok::kw_switch:
- parseSwitch(/*IsExpr=*/true);
+ if (Style.Language == FormatStyle::LK_Java)
+ parseSwitch(/*IsExpr=*/true);
+ else
+ nextToken();
break;
case tok::kw_requires: {
auto RequiresToken = FormatTok;
EXPECT_TOKEN(Tokens[18], tok::greater, TT_TemplateCloser);
}
+TEST_F(TokenAnnotatorTest, SwitchInMacroArgument) {
+ auto Tokens = annotate("FOOBAR(switch);\n"
+ "void f() {}");
+ ASSERT_EQ(Tokens.size(), 12u) << Tokens;
+ EXPECT_TOKEN(Tokens[9], tok::l_brace, TT_FunctionLBrace);
+}
+
} // namespace
} // namespace format
} // namespace clang