Skip to content

Commit 967c838

Browse files
committed
Regenerate
1 parent 745a8b9 commit 967c838

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@ These articles are intended for developers wishing to contribute to SwiftSyntax
401401
- <doc:SwiftSyntax/WithCodeBlockSyntax>
402402
- <doc:SwiftSyntax/WithGenericParametersSyntax>
403403
- <doc:SwiftSyntax/WithModifiersSyntax>
404+
- <doc:SwiftSyntax/WithOptionalCodeBlockSyntax>
404405
- <doc:SwiftSyntax/WithStatementsSyntax>
405406
- <doc:SwiftSyntax/WithTrailingCommaSyntax>
406407

Sources/SwiftSyntax/generated/SyntaxTraits.swift

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,43 @@ public extension SyntaxProtocol {
570570
}
571571
}
572572

573+
// MARK: - WithOptionalCodeBlockSyntax
574+
575+
576+
public protocol WithOptionalCodeBlockSyntax: SyntaxProtocol {
577+
var body: CodeBlockSyntax? {
578+
get
579+
set
580+
}
581+
}
582+
583+
public extension WithOptionalCodeBlockSyntax {
584+
/// Without this function, the `with` function defined on `SyntaxProtocol`
585+
/// does not work on existentials of this protocol type.
586+
@_disfavoredOverload
587+
func with<T>(_ keyPath: WritableKeyPath<WithOptionalCodeBlockSyntax, T>, _ newChild: T) -> WithOptionalCodeBlockSyntax {
588+
var copy: WithOptionalCodeBlockSyntax = self
589+
copy[keyPath: keyPath] = newChild
590+
return copy
591+
}
592+
}
593+
594+
public extension SyntaxProtocol {
595+
/// Check whether the non-type erased version of this syntax node conforms to
596+
/// `WithOptionalCodeBlockSyntax`.
597+
/// Note that this will incur an existential conversion.
598+
func isProtocol(_: WithOptionalCodeBlockSyntax.Protocol) -> Bool {
599+
return self.asProtocol(WithOptionalCodeBlockSyntax.self) != nil
600+
}
601+
602+
/// Return the non-type erased version of this syntax node if it conforms to
603+
/// `WithOptionalCodeBlockSyntax`. Otherwise return `nil`.
604+
/// Note that this will incur an existential conversion.
605+
func asProtocol(_: WithOptionalCodeBlockSyntax.Protocol) -> WithOptionalCodeBlockSyntax? {
606+
return Syntax(self).asProtocol(SyntaxProtocol.self) as? WithOptionalCodeBlockSyntax
607+
}
608+
}
609+
573610
// MARK: - WithStatementsSyntax
574611

575612

@@ -649,7 +686,7 @@ public extension SyntaxProtocol {
649686

650687
extension AccessorBlockSyntax: BracedSyntax {}
651688

652-
extension AccessorDeclSyntax: WithAttributesSyntax {}
689+
extension AccessorDeclSyntax: WithOptionalCodeBlockSyntax, WithAttributesSyntax {}
653690

654691
extension AccessorEffectSpecifiersSyntax: EffectSpecifiersSyntax {}
655692

@@ -693,7 +730,7 @@ extension DeclNameArgumentsSyntax: ParenthesizedSyntax {}
693730

694731
extension DeferStmtSyntax: WithCodeBlockSyntax {}
695732

696-
extension DeinitializerDeclSyntax: WithAttributesSyntax, WithModifiersSyntax {}
733+
extension DeinitializerDeclSyntax: WithAttributesSyntax, WithModifiersSyntax, WithOptionalCodeBlockSyntax {}
697734

698735
extension DictionaryElementSyntax: WithTrailingCommaSyntax {}
699736

@@ -723,7 +760,7 @@ extension ExtensionDeclSyntax: DeclGroupSyntax, WithAttributesSyntax, WithModifi
723760

724761
extension ForStmtSyntax: WithCodeBlockSyntax {}
725762

726-
extension FunctionDeclSyntax: NamedDeclSyntax, WithAttributesSyntax, WithGenericParametersSyntax, WithModifiersSyntax {}
763+
extension FunctionDeclSyntax: NamedDeclSyntax, WithAttributesSyntax, WithGenericParametersSyntax, WithModifiersSyntax, WithOptionalCodeBlockSyntax {}
727764

728765
extension FunctionEffectSpecifiersSyntax: EffectSpecifiersSyntax {}
729766

@@ -747,7 +784,7 @@ extension ImportDeclSyntax: WithAttributesSyntax, WithModifiersSyntax {}
747784

748785
extension InheritedTypeSyntax: WithTrailingCommaSyntax {}
749786

750-
extension InitializerDeclSyntax: WithAttributesSyntax, WithGenericParametersSyntax, WithModifiersSyntax {}
787+
extension InitializerDeclSyntax: WithAttributesSyntax, WithGenericParametersSyntax, WithModifiersSyntax, WithOptionalCodeBlockSyntax {}
751788

752789
extension LabeledExprSyntax: WithTrailingCommaSyntax {}
753790

0 commit comments

Comments
 (0)