Skip to content

Commit d2842ad

Browse files
committed
Don't add newline for empty code block
1 parent 35ff56c commit d2842ad

File tree

5 files changed

+100
-184
lines changed

5 files changed

+100
-184
lines changed

CodeGeneration/Sources/Utils/CodeGenerationFormat.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ public class CodeGenerationFormat: BasicFormat {
2727
}
2828
}
2929

30+
public override func visit(_ node: MemberDeclBlockSyntax) -> MemberDeclBlockSyntax {
31+
if node.members.count == 0 {
32+
return node.with(\.leftBrace, .leftBraceToken())
33+
} else {
34+
return super.visit(node)
35+
}
36+
}
37+
3038
public override func visit(_ node: CodeBlockItemSyntax) -> CodeBlockItemSyntax {
3139
if node.parent?.parent?.is(SourceFileSyntax.self) == true, !node.item.is(ImportDeclSyntax.self) {
3240
let formatted = super.visit(node)

Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@
1919
/// Protocol to which all `DeclSyntax` nodes conform. Extension point to add
2020
/// common methods to all `DeclSyntax` nodes.
2121
/// DO NOT CONFORM TO THIS PROTOCOL YOURSELF!
22-
public protocol DeclSyntaxProtocol: SyntaxProtocol {
23-
}
22+
public protocol DeclSyntaxProtocol: SyntaxProtocol {}
2423

2524
public extension Syntax {
2625
/// Check whether the non-type erased version of this syntax node conforms to
@@ -168,8 +167,7 @@ extension DeclSyntax: CustomReflectable {
168167
/// Protocol to which all `ExprSyntax` nodes conform. Extension point to add
169168
/// common methods to all `ExprSyntax` nodes.
170169
/// DO NOT CONFORM TO THIS PROTOCOL YOURSELF!
171-
public protocol ExprSyntaxProtocol: SyntaxProtocol {
172-
}
170+
public protocol ExprSyntaxProtocol: SyntaxProtocol {}
173171

174172
public extension Syntax {
175173
/// Check whether the non-type erased version of this syntax node conforms to
@@ -341,8 +339,7 @@ extension ExprSyntax: CustomReflectable {
341339
/// Protocol to which all `PatternSyntax` nodes conform. Extension point to add
342340
/// common methods to all `PatternSyntax` nodes.
343341
/// DO NOT CONFORM TO THIS PROTOCOL YOURSELF!
344-
public protocol PatternSyntaxProtocol: SyntaxProtocol {
345-
}
342+
public protocol PatternSyntaxProtocol: SyntaxProtocol {}
346343

347344
public extension Syntax {
348345
/// Check whether the non-type erased version of this syntax node conforms to
@@ -473,8 +470,7 @@ extension PatternSyntax: CustomReflectable {
473470
/// Protocol to which all `StmtSyntax` nodes conform. Extension point to add
474471
/// common methods to all `StmtSyntax` nodes.
475472
/// DO NOT CONFORM TO THIS PROTOCOL YOURSELF!
476-
public protocol StmtSyntaxProtocol: SyntaxProtocol {
477-
}
473+
public protocol StmtSyntaxProtocol: SyntaxProtocol {}
478474

479475
public extension Syntax {
480476
/// Check whether the non-type erased version of this syntax node conforms to
@@ -613,8 +609,7 @@ extension StmtSyntax: CustomReflectable {
613609
/// Protocol to which all `TypeSyntax` nodes conform. Extension point to add
614610
/// common methods to all `TypeSyntax` nodes.
615611
/// DO NOT CONFORM TO THIS PROTOCOL YOURSELF!
616-
public protocol TypeSyntaxProtocol: SyntaxProtocol {
617-
}
612+
public protocol TypeSyntaxProtocol: SyntaxProtocol {}
618613

619614
public extension Syntax {
620615
/// Check whether the non-type erased version of this syntax node conforms to

Sources/SwiftSyntax/generated/SyntaxTraits.swift

Lines changed: 73 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -435,221 +435,148 @@ public extension SyntaxProtocol {
435435
}
436436
}
437437

438-
extension AccessorBlockSyntax: BracedSyntax {
439-
}
438+
extension AccessorBlockSyntax: BracedSyntax {}
440439

441-
extension AccessorDeclSyntax: AttributedSyntax {
442-
}
440+
extension AccessorDeclSyntax: AttributedSyntax {}
443441

444-
extension AccessorParameterSyntax: ParenthesizedSyntax {
445-
}
442+
extension AccessorParameterSyntax: ParenthesizedSyntax {}
446443

447-
extension ActorDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {
448-
}
444+
extension ActorDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {}
449445

450-
extension ArrayElementSyntax: WithTrailingCommaSyntax {
451-
}
446+
extension ArrayElementSyntax: WithTrailingCommaSyntax {}
452447

453-
extension AssociatedtypeDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
454-
}
448+
extension AssociatedtypeDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
455449

456-
extension AttributedTypeSyntax: AttributedSyntax {
457-
}
450+
extension AttributedTypeSyntax: AttributedSyntax {}
458451

459-
extension CaseItemSyntax: WithTrailingCommaSyntax {
460-
}
452+
extension CaseItemSyntax: WithTrailingCommaSyntax {}
461453

462-
extension CatchClauseSyntax: WithCodeBlockSyntax {
463-
}
454+
extension CatchClauseSyntax: WithCodeBlockSyntax {}
464455

465-
extension CatchItemSyntax: WithTrailingCommaSyntax {
466-
}
456+
extension CatchItemSyntax: WithTrailingCommaSyntax {}
467457

468-
extension ClassDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {
469-
}
458+
extension ClassDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {}
470459

471-
extension ClosureCaptureItemSyntax: WithTrailingCommaSyntax {
472-
}
460+
extension ClosureCaptureItemSyntax: WithTrailingCommaSyntax {}
473461

474-
extension ClosureExprSyntax: BracedSyntax, WithStatementsSyntax {
475-
}
462+
extension ClosureExprSyntax: BracedSyntax, WithStatementsSyntax {}
476463

477-
extension ClosureParamSyntax: WithTrailingCommaSyntax {
478-
}
464+
extension ClosureParamSyntax: WithTrailingCommaSyntax {}
479465

480-
extension ClosureSignatureSyntax: AttributedSyntax {
481-
}
466+
extension ClosureSignatureSyntax: AttributedSyntax {}
482467

483-
extension CodeBlockSyntax: BracedSyntax, WithStatementsSyntax {
484-
}
468+
extension CodeBlockSyntax: BracedSyntax, WithStatementsSyntax {}
485469

486-
extension ConditionElementSyntax: WithTrailingCommaSyntax {
487-
}
470+
extension ConditionElementSyntax: WithTrailingCommaSyntax {}
488471

489-
extension DeclEffectSpecifiersSyntax: EffectSpecifiersSyntax {
490-
}
472+
extension DeclEffectSpecifiersSyntax: EffectSpecifiersSyntax {}
491473

492-
extension DeclModifierDetailSyntax: ParenthesizedSyntax {
493-
}
474+
extension DeclModifierDetailSyntax: ParenthesizedSyntax {}
494475

495-
extension DeclNameArgumentsSyntax: ParenthesizedSyntax {
496-
}
476+
extension DeclNameArgumentsSyntax: ParenthesizedSyntax {}
497477

498-
extension DeferStmtSyntax: WithCodeBlockSyntax {
499-
}
478+
extension DeferStmtSyntax: WithCodeBlockSyntax {}
500479

501-
extension DeinitializerDeclSyntax: AttributedSyntax {
502-
}
480+
extension DeinitializerDeclSyntax: AttributedSyntax {}
503481

504-
extension DictionaryElementSyntax: WithTrailingCommaSyntax {
505-
}
482+
extension DictionaryElementSyntax: WithTrailingCommaSyntax {}
506483

507-
extension DifferentiabilityParamSyntax: WithTrailingCommaSyntax {
508-
}
484+
extension DifferentiabilityParamSyntax: WithTrailingCommaSyntax {}
509485

510-
extension DoStmtSyntax: WithCodeBlockSyntax {
511-
}
486+
extension DoStmtSyntax: WithCodeBlockSyntax {}
512487

513-
extension DocumentationAttributeArgumentSyntax: WithTrailingCommaSyntax {
514-
}
488+
extension DocumentationAttributeArgumentSyntax: WithTrailingCommaSyntax {}
515489

516-
extension EnumCaseDeclSyntax: AttributedSyntax {
517-
}
490+
extension EnumCaseDeclSyntax: AttributedSyntax {}
518491

519-
extension EnumCaseElementSyntax: WithTrailingCommaSyntax {
520-
}
492+
extension EnumCaseElementSyntax: WithTrailingCommaSyntax {}
521493

522-
extension EnumDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {
523-
}
494+
extension EnumDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {}
524495

525-
extension ExpressionSegmentSyntax: ParenthesizedSyntax {
526-
}
496+
extension ExpressionSegmentSyntax: ParenthesizedSyntax {}
527497

528-
extension ExtensionDeclSyntax: DeclGroupSyntax, AttributedSyntax {
529-
}
498+
extension ExtensionDeclSyntax: DeclGroupSyntax, AttributedSyntax {}
530499

531-
extension ForInStmtSyntax: WithCodeBlockSyntax {
532-
}
500+
extension ForInStmtSyntax: WithCodeBlockSyntax {}
533501

534-
extension FunctionDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
535-
}
502+
extension FunctionDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
536503

537-
extension FunctionParameterSyntax: WithTrailingCommaSyntax, AttributedSyntax {
538-
}
504+
extension FunctionParameterSyntax: WithTrailingCommaSyntax, AttributedSyntax {}
539505

540-
extension FunctionTypeSyntax: ParenthesizedSyntax {
541-
}
506+
extension FunctionTypeSyntax: ParenthesizedSyntax {}
542507

543-
extension GenericArgumentSyntax: WithTrailingCommaSyntax {
544-
}
508+
extension GenericArgumentSyntax: WithTrailingCommaSyntax {}
545509

546-
extension GenericParameterSyntax: WithTrailingCommaSyntax, AttributedSyntax {
547-
}
510+
extension GenericParameterSyntax: WithTrailingCommaSyntax, AttributedSyntax {}
548511

549-
extension GenericRequirementSyntax: WithTrailingCommaSyntax {
550-
}
512+
extension GenericRequirementSyntax: WithTrailingCommaSyntax {}
551513

552-
extension GuardStmtSyntax: WithCodeBlockSyntax {
553-
}
514+
extension GuardStmtSyntax: WithCodeBlockSyntax {}
554515

555-
extension IfExprSyntax: WithCodeBlockSyntax {
556-
}
516+
extension IfExprSyntax: WithCodeBlockSyntax {}
557517

558-
extension ImportDeclSyntax: AttributedSyntax {
559-
}
518+
extension ImportDeclSyntax: AttributedSyntax {}
560519

561-
extension InheritedTypeSyntax: WithTrailingCommaSyntax {
562-
}
520+
extension InheritedTypeSyntax: WithTrailingCommaSyntax {}
563521

564-
extension InitializerDeclSyntax: AttributedSyntax {
565-
}
522+
extension InitializerDeclSyntax: AttributedSyntax {}
566523

567-
extension LabeledSpecializeEntrySyntax: WithTrailingCommaSyntax {
568-
}
524+
extension LabeledSpecializeEntrySyntax: WithTrailingCommaSyntax {}
569525

570-
extension MacroDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
571-
}
526+
extension MacroDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
572527

573-
extension MacroExpansionDeclSyntax: FreestandingMacroExpansionSyntax {
574-
}
528+
extension MacroExpansionDeclSyntax: FreestandingMacroExpansionSyntax {}
575529

576-
extension MacroExpansionExprSyntax: FreestandingMacroExpansionSyntax {
577-
}
530+
extension MacroExpansionExprSyntax: FreestandingMacroExpansionSyntax {}
578531

579-
extension MemberDeclBlockSyntax: BracedSyntax {
580-
}
532+
extension MemberDeclBlockSyntax: BracedSyntax {}
581533

582-
extension MissingDeclSyntax: AttributedSyntax {
583-
}
534+
extension MissingDeclSyntax: AttributedSyntax {}
584535

585-
extension OperatorDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
586-
}
536+
extension OperatorDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
587537

588-
extension ParameterClauseSyntax: ParenthesizedSyntax {
589-
}
538+
extension ParameterClauseSyntax: ParenthesizedSyntax {}
590539

591-
extension PatternBindingSyntax: WithTrailingCommaSyntax {
592-
}
540+
extension PatternBindingSyntax: WithTrailingCommaSyntax {}
593541

594-
extension PoundSourceLocationSyntax: ParenthesizedSyntax {
595-
}
542+
extension PoundSourceLocationSyntax: ParenthesizedSyntax {}
596543

597-
extension PrecedenceGroupDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
598-
}
544+
extension PrecedenceGroupDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
599545

600-
extension PrimaryAssociatedTypeSyntax: WithTrailingCommaSyntax {
601-
}
546+
extension PrimaryAssociatedTypeSyntax: WithTrailingCommaSyntax {}
602547

603-
extension ProtocolDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {
604-
}
548+
extension ProtocolDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {}
605549

606-
extension RepeatWhileStmtSyntax: WithCodeBlockSyntax {
607-
}
550+
extension RepeatWhileStmtSyntax: WithCodeBlockSyntax {}
608551

609-
extension SourceFileSyntax: WithStatementsSyntax {
610-
}
552+
extension SourceFileSyntax: WithStatementsSyntax {}
611553

612-
extension StructDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {
613-
}
554+
extension StructDeclSyntax: DeclGroupSyntax, IdentifiedDeclSyntax, AttributedSyntax {}
614555

615-
extension SubscriptDeclSyntax: AttributedSyntax {
616-
}
556+
extension SubscriptDeclSyntax: AttributedSyntax {}
617557

618-
extension SwitchCaseSyntax: WithStatementsSyntax {
619-
}
558+
extension SwitchCaseSyntax: WithStatementsSyntax {}
620559

621-
extension SwitchExprSyntax: BracedSyntax {
622-
}
560+
extension SwitchExprSyntax: BracedSyntax {}
623561

624-
extension TargetFunctionEntrySyntax: WithTrailingCommaSyntax {
625-
}
562+
extension TargetFunctionEntrySyntax: WithTrailingCommaSyntax {}
626563

627-
extension TupleExprElementSyntax: WithTrailingCommaSyntax {
628-
}
564+
extension TupleExprElementSyntax: WithTrailingCommaSyntax {}
629565

630-
extension TupleExprSyntax: ParenthesizedSyntax {
631-
}
566+
extension TupleExprSyntax: ParenthesizedSyntax {}
632567

633-
extension TuplePatternElementSyntax: WithTrailingCommaSyntax {
634-
}
568+
extension TuplePatternElementSyntax: WithTrailingCommaSyntax {}
635569

636-
extension TuplePatternSyntax: ParenthesizedSyntax {
637-
}
570+
extension TuplePatternSyntax: ParenthesizedSyntax {}
638571

639-
extension TupleTypeElementSyntax: WithTrailingCommaSyntax {
640-
}
572+
extension TupleTypeElementSyntax: WithTrailingCommaSyntax {}
641573

642-
extension TupleTypeSyntax: ParenthesizedSyntax {
643-
}
574+
extension TupleTypeSyntax: ParenthesizedSyntax {}
644575

645-
extension TypeEffectSpecifiersSyntax: EffectSpecifiersSyntax {
646-
}
576+
extension TypeEffectSpecifiersSyntax: EffectSpecifiersSyntax {}
647577

648-
extension TypealiasDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {
649-
}
578+
extension TypealiasDeclSyntax: IdentifiedDeclSyntax, AttributedSyntax {}
650579

651-
extension VariableDeclSyntax: AttributedSyntax {
652-
}
580+
extension VariableDeclSyntax: AttributedSyntax {}
653581

654-
extension WhileStmtSyntax: WithCodeBlockSyntax {
655-
}
582+
extension WhileStmtSyntax: WithCodeBlockSyntax {}

Sources/SwiftSyntax/generated/Trivia.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,7 @@ extension Trivia: CustomDebugStringConvertible {
340340
}
341341
}
342342

343-
extension Trivia: Equatable {
344-
}
343+
extension Trivia: Equatable {}
345344

346345
/// Conformance for Trivia to the Collection protocol.
347346
extension Trivia: Collection {
@@ -405,8 +404,7 @@ extension Trivia {
405404
}
406405
}
407406

408-
extension TriviaPiece: Equatable {
409-
}
407+
extension TriviaPiece: Equatable {}
410408

411409
extension TriviaPiece {
412410
public var sourceLength: SourceLength {

0 commit comments

Comments
 (0)