This revision was automatically updated to reflect the committed changes. Closed by commit rG2f209ccfbe5e: [clang-format] C# formatting a class with inheritance followed by an attribute⦠(authored by MyDeveloperDay).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71769/new/ https://reviews.llvm.org/D71769 Files: clang/lib/Format/UnwrappedLineParser.cpp clang/unittests/Format/FormatTestCSharp.cpp Index: clang/unittests/Format/FormatTestCSharp.cpp =================================================================== --- clang/unittests/Format/FormatTestCSharp.cpp +++ clang/unittests/Format/FormatTestCSharp.cpp @@ -316,6 +316,27 @@ " }\n" "}\n", Style); + + verifyFormat("public A : Base\n" + "{\n" + "}\n" + "[Test]\n" + "public Foo()\n" + "{\n" + "}\n", + Style); + + verifyFormat("namespace\n" + "{\n" + "public A : Base\n" + "{\n" + "}\n" + "[Test]\n" + "public Foo()\n" + "{\n" + "}\n" + "}\n", + Style); } TEST_F(FormatTestCSharp, CSharpSpaceBefore) { Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -466,7 +466,7 @@ (NextTok->is(tok::semi) && (!ExpectClassBody || LBraceStack.size() != 1)) || (NextTok->isBinaryOperator() && !NextIsObjCMethod); - if (NextTok->is(tok::l_square)) { + if (!Style.isCSharp() && NextTok->is(tok::l_square)) { // We can have an array subscript after a braced init // list, but C++11 attributes are expected after blocks. NextTok = Tokens->getNextToken();
Index: clang/unittests/Format/FormatTestCSharp.cpp =================================================================== --- clang/unittests/Format/FormatTestCSharp.cpp +++ clang/unittests/Format/FormatTestCSharp.cpp @@ -316,6 +316,27 @@ " }\n" "}\n", Style); + + verifyFormat("public A : Base\n" + "{\n" + "}\n" + "[Test]\n" + "public Foo()\n" + "{\n" + "}\n", + Style); + + verifyFormat("namespace\n" + "{\n" + "public A : Base\n" + "{\n" + "}\n" + "[Test]\n" + "public Foo()\n" + "{\n" + "}\n" + "}\n", + Style); } TEST_F(FormatTestCSharp, CSharpSpaceBefore) { Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -466,7 +466,7 @@ (NextTok->is(tok::semi) && (!ExpectClassBody || LBraceStack.size() != 1)) || (NextTok->isBinaryOperator() && !NextIsObjCMethod); - if (NextTok->is(tok::l_square)) { + if (!Style.isCSharp() && NextTok->is(tok::l_square)) { // We can have an array subscript after a braced init // list, but C++11 attributes are expected after blocks. NextTok = Tokens->getNextToken();
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits