jbcoe created this revision. jbcoe added a reviewer: krasimir. jbcoe added a project: clang-format. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D79715 Files: clang/lib/Format/Format.cpp clang/unittests/Format/FormatTestCSharp.cpp Index: clang/unittests/Format/FormatTestCSharp.cpp =================================================================== --- clang/unittests/Format/FormatTestCSharp.cpp +++ clang/unittests/Format/FormatTestCSharp.cpp @@ -581,8 +581,7 @@ FormatStyle Style = getGoogleStyle(FormatStyle::LK_CSharp); verifyFormat(R"(// -PrintOrderDetails(orderNum: 31, productName: "Red Mug", - sellerName: "Gift Shop");)", +PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");)", Style); // Ensure that trailing comments do not cause problems. @@ -639,8 +638,7 @@ get { return _seconds / 3600; } set { if (value < 0 || value > 24) - throw new ArgumentOutOfRangeException( - $"{nameof(value)} must be between 0 and 24."); + throw new ArgumentOutOfRangeException($"{nameof(value)} must be between 0 and 24."); _seconds = value * 3600; } } @@ -727,7 +725,9 @@ verifyFormat(R"(// public class A { - void foo() { int? value = some.bar(); } + void foo() { + int? value = some.bar(); + } })", Style); // int? is nullable not a conditional expression. @@ -772,16 +772,15 @@ where TKey : IComparable<TKey> where TVal : IMyInterface { public void MyMethod<T>(T t) - where T : IMyInterface { doThing(); } + where T : IMyInterface { + doThing(); + } })", Style); verifyFormat(R"(// class ItemFactory<T> - where T : new(), - IAnInterface<T>, - IAnotherInterface<T>, - IAnotherInterfaceStill<T> {})", + where T : new(), IAnInterface<T>, IAnotherInterface<T>, IAnotherInterfaceStill<T> {})", Style); Style.ColumnLimit = 50; // Force lines to be wrapped. Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -14,6 +14,7 @@ #include "clang/Format/Format.h" #include "AffectedRangeManager.h" +#include "BreakableToken.h" #include "ContinuationIndenter.h" #include "FormatInternal.h" #include "FormatTokenLexer.h" @@ -997,6 +998,12 @@ // #imports, etc.) GoogleStyle.IncludeStyle.IncludeBlocks = tooling::IncludeStyle::IBS_Preserve; + } else if (Language == FormatStyle::LK_CSharp) { + GoogleStyle.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Empty; + GoogleStyle.AllowShortIfStatementsOnASingleLine = FormatStyle::SIS_Never; + GoogleStyle.BreakStringLiterals = false; + GoogleStyle.ColumnLimit = 100; + GoogleStyle.NamespaceIndentation = FormatStyle::NI_All; } return GoogleStyle;
Index: clang/unittests/Format/FormatTestCSharp.cpp =================================================================== --- clang/unittests/Format/FormatTestCSharp.cpp +++ clang/unittests/Format/FormatTestCSharp.cpp @@ -581,8 +581,7 @@ FormatStyle Style = getGoogleStyle(FormatStyle::LK_CSharp); verifyFormat(R"(// -PrintOrderDetails(orderNum: 31, productName: "Red Mug", - sellerName: "Gift Shop");)", +PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");)", Style); // Ensure that trailing comments do not cause problems. @@ -639,8 +638,7 @@ get { return _seconds / 3600; } set { if (value < 0 || value > 24) - throw new ArgumentOutOfRangeException( - $"{nameof(value)} must be between 0 and 24."); + throw new ArgumentOutOfRangeException($"{nameof(value)} must be between 0 and 24."); _seconds = value * 3600; } } @@ -727,7 +725,9 @@ verifyFormat(R"(// public class A { - void foo() { int? value = some.bar(); } + void foo() { + int? value = some.bar(); + } })", Style); // int? is nullable not a conditional expression. @@ -772,16 +772,15 @@ where TKey : IComparable<TKey> where TVal : IMyInterface { public void MyMethod<T>(T t) - where T : IMyInterface { doThing(); } + where T : IMyInterface { + doThing(); + } })", Style); verifyFormat(R"(// class ItemFactory<T> - where T : new(), - IAnInterface<T>, - IAnotherInterface<T>, - IAnotherInterfaceStill<T> {})", + where T : new(), IAnInterface<T>, IAnotherInterface<T>, IAnotherInterfaceStill<T> {})", Style); Style.ColumnLimit = 50; // Force lines to be wrapped. Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -14,6 +14,7 @@ #include "clang/Format/Format.h" #include "AffectedRangeManager.h" +#include "BreakableToken.h" #include "ContinuationIndenter.h" #include "FormatInternal.h" #include "FormatTokenLexer.h" @@ -997,6 +998,12 @@ // #imports, etc.) GoogleStyle.IncludeStyle.IncludeBlocks = tooling::IncludeStyle::IBS_Preserve; + } else if (Language == FormatStyle::LK_CSharp) { + GoogleStyle.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Empty; + GoogleStyle.AllowShortIfStatementsOnASingleLine = FormatStyle::SIS_Never; + GoogleStyle.BreakStringLiterals = false; + GoogleStyle.ColumnLimit = 100; + GoogleStyle.NamespaceIndentation = FormatStyle::NI_All; } return GoogleStyle;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits