[PATCH] D79000: [clang-format] C# property formatting can be controlled by config options
Phabricator via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 28 09:39:50 PDT 2020
This revision was not accepted when it landed; it landed in state "Needs Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rG015bca3e67cb: [clang-format] C# property formatting can be controlled by config options (authored by Jonathan Coe <jbcoe at google.com>).
Changed prior to commit:
https://reviews.llvm.org/D79000?vs=260610&id=260672#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79000/new/
https://reviews.llvm.org/D79000
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,11 +245,13 @@
"}");
verifyFormat("[TestMethod]\n"
- "public string Host { set; get; }");
+ "public string Host\n"
+ "{ set; get; }");
verifyFormat("[TestMethod(\"start\", HelpText = \"Starts the server "
"listening on provided host\")]\n"
- "public string Host { set; get; }");
+ "public string Host\n"
+ "{ set; get; }");
verifyFormat(
"[DllImport(\"Hello\", EntryPoint = \"hello_world\")]\n"
@@ -671,6 +673,32 @@
DefaultThirdArgument);
})",
Style);
+
+ // Brace wrapping and single-lining of accessor can be controlled by config.
+ Style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never;
+ Style.BreakBeforeBraces = FormatStyle::BS_Custom;
+ Style.BraceWrapping.AfterFunction = true;
+
+ verifyFormat(R"(//
+public class SaleItem {
+ public decimal Price
+ { get; set; }
+})",
+ Style);
+
+ verifyFormat(R"(//
+class TimePeriod {
+ public double Hours
+ {
+ get {
+ return _seconds / 3600;
+ }
+ set {
+ _seconds = value * 3600;
+ }
+ }
+})",
+ Style);
}
TEST_F(FormatTestCSharp, CSharpSpaces) {
Index: clang/lib/Format/UnwrappedLineParser.cpp
===================================================================
--- clang/lib/Format/UnwrappedLineParser.cpp
+++ clang/lib/Format/UnwrappedLineParser.cpp
@@ -1531,6 +1531,8 @@
// 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)
+ addUnwrappedLine();
nextToken();
do {
switch (FormatTok->Tok.getKind()) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79000.260672.patch
Type: text/x-patch
Size: 2037 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200428/0abc920b/attachment.bin>
More information about the cfe-commits
mailing list