private void PrintBracedBlock(LNode body, NewlineOpt beforeBrace, bool skipFirstStmt = false, Symbol spaceName = null, BraceMode mode = BraceMode.Normal) { using (WithFlags(CheckOneLiner(_flags, body))) { int oldLineNum = _out.LineNumber; if (mode != BraceMode.BlockStmt) PrintTrivia(body, trailingTrivia: false); else G.Verify(PrintAttrs(AttrStyle.AllowKeywordAttrs) == 0); if (oldLineNum == _out.LineNumber && beforeBrace != 0) NewlineOrSpace(beforeBrace, IsDefaultNewlineSuppressed(body)); _out.Write('{', true); // body.Target represents the opening brace. Injector adds trailing trivia only, not leading PrintTrivia(body.Target, trailingTrivia: true); using (WithSpace(spaceName)) { if (mode == BraceMode.Initializer || mode == BraceMode.Enum) { Debug.Assert(!skipFirstStmt); PrintExpressionsInBraces(body, mode == BraceMode.Initializer); } else PrintStatementsInBraces(body, skipFirstStmt, newlinesByDefault: mode != BraceMode.AutoProp); } _out.Write('}', true); if (mode != BraceMode.BlockStmt) PrintTrivia(body, trailingTrivia: true); } }
private void PrintBracedBlock(LNode body, NewlineOpt beforeBrace, bool skipFirstStmt = false, Symbol spaceName = null, BraceMode mode = BraceMode.Normal) { using (WithFlags(CheckOneLiner(_flags, body))) { int oldLineNum = _out.LineNumber; if (mode != BraceMode.BlockStmt) { PrintTrivia(body, trailingTrivia: false); } else { G.Verify(PrintAttrs(AttrStyle.AllowKeywordAttrs) == 0); } if (oldLineNum == _out.LineNumber && beforeBrace != 0) { NewlineOrSpace(beforeBrace, IsDefaultNewlineSuppressed(body)); } _out.Write('{', true); // body.Target represents the opening brace. Injector adds trailing trivia only, not leading PrintTrivia(body.Target, trailingTrivia: true); using (WithSpace(spaceName)) { if (mode == BraceMode.Initializer || mode == BraceMode.Enum) { Debug.Assert(!skipFirstStmt); PrintExpressionsInBraces(body, mode == BraceMode.Initializer); } else { PrintStatementsInBraces(body, skipFirstStmt, newlinesByDefault: mode != BraceMode.AutoProp); } } _out.Write('}', true); if (mode != BraceMode.BlockStmt) { PrintTrivia(body, trailingTrivia: true); } } }
private void PrintBracedBlock(LNode body, NewlineOpt beforeBrace, bool skipFirstStmt = false, Symbol spaceName = null, BraceMode mode = BraceMode.Normal) { if (mode != BraceMode.BlockExpr) { if (mode != BraceMode.BlockStmt) { PrintTrivia(body, trailingTrivia: false); } else { G.Verify(PrintAttrs(AttrStyle.AllowKeywordAttrs) == 0); } if (!_out.LastCharWritten.IsOneOf('\n', ' ', '\t') && beforeBrace != 0) { NewlineOrSpace(beforeBrace, IsDefaultNewlineSuppressed(body)); } } _out.Write('{'); // body.Target represents the opening brace. Injector adds trailing trivia only, not leading PrintTrivia(body.Target, trailingTrivia: true); using (WithSpace(spaceName)) { if (mode == BraceMode.Initializer || mode == BraceMode.Enum || mode == BraceMode.SwitchExpression) { Debug.Assert(!skipFirstStmt); PrintExpressionsInBraces(body, mode == BraceMode.Initializer, mode == BraceMode.SwitchExpression ? Ambiguity.InSwitchExpr : 0); } else { PrintStatementsInBraces(body, skipFirstStmt, newlinesByDefault: mode != BraceMode.AutoProp); } } _out.Write('}'); if (mode != BraceMode.BlockStmt) { PrintTrivia(body, trailingTrivia: true); } }