@@ -200,14 +200,15 @@ struct ParenState {
200200 : Tok(Tok), Indent(Indent), LastSpace(LastSpace),
201201 NestedBlockIndent (Indent), IsAligned(false ),
202202 BreakBeforeClosingBrace(false ), BreakBeforeClosingParen(false ),
203- AvoidBinPacking(AvoidBinPacking), BreakBeforeParameter(false ),
204- NoLineBreak(NoLineBreak), NoLineBreakInOperand(false ),
205- LastOperatorWrapped(true ), ContainsLineBreak(false ),
206- ContainsUnwrappedBuilder(false ), AlignColons(true ),
207- ObjCSelectorNameFound(false ), HasMultipleNestedBlocks(false ),
208- NestedBlockInlined(false ), IsInsideObjCArrayLiteral(false ),
209- IsCSharpGenericTypeConstraint(false ), IsChainedConditional(false ),
210- IsWrappedConditional(false ), UnindentOperator(false ) {}
203+ BreakBeforeClosingAngle(false ), AvoidBinPacking(AvoidBinPacking),
204+ BreakBeforeParameter(false ), NoLineBreak(NoLineBreak),
205+ NoLineBreakInOperand(false ), LastOperatorWrapped(true ),
206+ ContainsLineBreak(false ), ContainsUnwrappedBuilder(false ),
207+ AlignColons(true ), ObjCSelectorNameFound(false ),
208+ HasMultipleNestedBlocks(false ), NestedBlockInlined(false ),
209+ IsInsideObjCArrayLiteral(false ), IsCSharpGenericTypeConstraint(false ),
210+ IsChainedConditional(false ), IsWrappedConditional(false ),
211+ UnindentOperator(false ) {}
211212
212213 // / \brief The token opening this parenthesis level, or nullptr if this level
213214 // / is opened by fake parenthesis.
@@ -280,6 +281,13 @@ struct ParenState {
280281 // / was a newline after the beginning left paren.
281282 bool BreakBeforeClosingParen : 1 ;
282283
284+ // / Whether a newline needs to be inserted before the block's closing
285+ // / angle < >.
286+ // /
287+ // / We only want to insert a newline before the closing angle if there also
288+ // / was a newline after the beginning left angle.
289+ bool BreakBeforeClosingAngle : 1 ;
290+
283291 // / Avoid bin packing, i.e. multiple parameters/elements on multiple
284292 // / lines, in this context.
285293 bool AvoidBinPacking : 1 ;
@@ -367,6 +375,8 @@ struct ParenState {
367375 return BreakBeforeClosingBrace;
368376 if (BreakBeforeClosingParen != Other.BreakBeforeClosingParen )
369377 return BreakBeforeClosingParen;
378+ if (BreakBeforeClosingAngle != Other.BreakBeforeClosingAngle )
379+ return BreakBeforeClosingAngle;
370380 if (QuestionColumn != Other.QuestionColumn )
371381 return QuestionColumn < Other.QuestionColumn ;
372382 if (AvoidBinPacking != Other.AvoidBinPacking )
0 commit comments