// 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 {
"}");
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"
Style.BraceWrapping.AfterFunction = true;
verifyFormat(R"(//
-public class SaleItem {
- public decimal Price
- { get; set; }
-})",
- Style);
-
- verifyFormat(R"(//
class TimePeriod {
public double Hours
{
}
})",
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) {