This revision was automatically updated to reflect the committed changes. Closed by commit rGf22b0727fe76: [clang-format] Microsoft style fixes for C# properties (authored by Jonathan Coe <jb...@google.com>).
Changed prior to commit: https://reviews.llvm.org/D81467?vs=269517&id=269536#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81467/new/ https://reviews.llvm.org/D81467 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 @@ -245,13 +245,11 @@ "}"); verifyFormat("[TestMethod]\n" - "public string Host\n" - "{ set; get; }"); + "public string Host { set; get; }"); verifyFormat("[TestMethod(\"start\", HelpText = \"Starts the server " "listening on provided host\")]\n" - "public string Host\n" - "{ set; get; }"); + "public string Host { set; get; }"); verifyFormat( "[DllImport(\"Hello\", EntryPoint = \"hello_world\")]\n" @@ -711,13 +709,6 @@ Style.BraceWrapping.AfterFunction = true; verifyFormat(R"(// -public class SaleItem { - public decimal Price - { get; set; } -})", - Style); - - verifyFormat(R"(// class TimePeriod { public double Hours { @@ -730,6 +721,17 @@ } })", Style); + + // Microsoft style trivial property accessors have no line break before the + // opening brace. + auto MicrosoftStyle = getMicrosoftStyle(FormatStyle::LK_CSharp); + verifyFormat(R"(// +public class SaleItem +{ + public decimal Price { get; set; } +})", + MicrosoftStyle); + } TEST_F(FormatTestCSharp, CSharpSpaces) { Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -1542,7 +1542,7 @@ // Try to parse the property accessor: // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/properties Tokens->setPosition(StoredPosition); - if (Style.BraceWrapping.AfterFunction == true) + if (!IsTrivialPropertyAccessor && Style.BraceWrapping.AfterFunction == true) addUnwrappedLine(); nextToken(); do {
Index: clang/unittests/Format/FormatTestCSharp.cpp =================================================================== --- clang/unittests/Format/FormatTestCSharp.cpp +++ clang/unittests/Format/FormatTestCSharp.cpp @@ -245,13 +245,11 @@ "}"); verifyFormat("[TestMethod]\n" - "public string Host\n" - "{ set; get; }"); + "public string Host { set; get; }"); verifyFormat("[TestMethod(\"start\", HelpText = \"Starts the server " "listening on provided host\")]\n" - "public string Host\n" - "{ set; get; }"); + "public string Host { set; get; }"); verifyFormat( "[DllImport(\"Hello\", EntryPoint = \"hello_world\")]\n" @@ -711,13 +709,6 @@ Style.BraceWrapping.AfterFunction = true; verifyFormat(R"(// -public class SaleItem { - public decimal Price - { get; set; } -})", - Style); - - verifyFormat(R"(// class TimePeriod { public double Hours { @@ -730,6 +721,17 @@ } })", Style); + + // Microsoft style trivial property accessors have no line break before the + // opening brace. + auto MicrosoftStyle = getMicrosoftStyle(FormatStyle::LK_CSharp); + verifyFormat(R"(// +public class SaleItem +{ + public decimal Price { get; set; } +})", + MicrosoftStyle); + } TEST_F(FormatTestCSharp, CSharpSpaces) { Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -1542,7 +1542,7 @@ // Try to parse the property accessor: // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/properties Tokens->setPosition(StoredPosition); - if (Style.BraceWrapping.AfterFunction == true) + if (!IsTrivialPropertyAccessor && Style.BraceWrapping.AfterFunction == true) addUnwrappedLine(); nextToken(); do {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits