aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Format/UnwrappedLineParser.cpp
diff options
context:
space:
mode:
authorOwen Pan <owenpiano@gmail.com>2025-04-26 12:54:38 -0700
committerGitHub <noreply@github.com>2025-04-26 12:54:38 -0700
commitae07f48913faa44ea050e4e0602d0aa62449d942 (patch)
treec504b3bf0083aaaa86618363ec040b87c43058b7 /clang/lib/Format/UnwrappedLineParser.cpp
parent165acd3734b0bd04c5ae01f62cf01b5240606410 (diff)
downloadllvm-ae07f48913faa44ea050e4e0602d0aa62449d942.zip
llvm-ae07f48913faa44ea050e4e0602d0aa62449d942.tar.gz
llvm-ae07f48913faa44ea050e4e0602d0aa62449d942.tar.bz2
[clang-format] Correctly handle C# new modifier (#137430)
Fix #75815
Diffstat (limited to 'clang/lib/Format/UnwrappedLineParser.cpp')
-rw-r--r--clang/lib/Format/UnwrappedLineParser.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp
index 3a20cd2..837146f 100644
--- a/clang/lib/Format/UnwrappedLineParser.cpp
+++ b/clang/lib/Format/UnwrappedLineParser.cpp
@@ -2089,7 +2089,13 @@ void UnwrappedLineParser::parseStructuralElement(
parseSquare();
break;
case tok::kw_new:
- parseNew();
+ if (Style.isCSharp() &&
+ (Tokens->peekNextToken()->isAccessSpecifierKeyword() ||
+ (Previous && Previous->isAccessSpecifierKeyword()))) {
+ nextToken();
+ } else {
+ parseNew();
+ }
break;
case tok::kw_switch:
if (Style.isJava())