Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ let resultBuildersFile = SourceFileSyntax {
DeclSyntax(
"""
public extension \(raw: type.syntaxBaseName) {
init(@\(raw: type.resultBuilderBaseName) itemsBuilder: () -> \(raw: type.syntaxBaseName)) {
self = itemsBuilder()
init(@\(raw: type.resultBuilderBaseName) itemsBuilder: () throws -> \(raw: type.syntaxBaseName)) rethrows {
self = try itemsBuilder()
}
}
"""
Expand Down
12 changes: 6 additions & 6 deletions Sources/SwiftSyntaxBuilder/SyntaxNodeWithBody.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ extension SyntaxStringInterpolation {
public protocol HasTrailingCodeBlock {
var body: CodeBlockSyntax { get set }

init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () throws -> CodeBlockItemListSyntax) throws
init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () throws -> CodeBlockItemListSyntax) rethrows
}

public extension HasTrailingCodeBlock where Self: StmtSyntaxProtocol {
Expand All @@ -55,7 +55,7 @@ public extension HasTrailingCodeBlock where Self: StmtSyntaxProtocol {
}

extension CatchClauseSyntax: HasTrailingCodeBlock {
public init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () throws -> CodeBlockItemListSyntax) throws {
public init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () throws -> CodeBlockItemListSyntax) rethrows {
self = CatchClauseSyntax("\(header) {}")
self.body = try CodeBlockSyntax(statements: bodyBuilder())
}
Expand Down Expand Up @@ -132,13 +132,13 @@ public extension IfExprSyntax {
self.elseKeyword = elseBody != nil ? .keyword(.else) : nil
}

init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () -> CodeBlockItemListSyntax, elseIf: IfExprSyntax) throws {
init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder bodyBuilder: () throws -> CodeBlockItemListSyntax, elseIf: IfExprSyntax) throws {
let expr = ExprSyntax("\(header) {}")
guard let ifExpr = expr.as(Self.self) else {
throw SyntaxStringInterpolationError.producedInvalidNodeType(expectedType: Self.self, actualNode: expr)
}
self = ifExpr
self.body = CodeBlockSyntax(statements: bodyBuilder())
self.body = CodeBlockSyntax(statements: try bodyBuilder())
self.elseBody = .ifExpr(elseIf)
self.elseKeyword = elseBody != nil ? .keyword(.else) : nil
}
Expand All @@ -147,9 +147,9 @@ public extension IfExprSyntax {
// MARK: - SwitchCase

extension SwitchCaseSyntax {
public init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder statementsBuilder: () -> CodeBlockItemListSyntax) {
public init(_ header: PartialSyntaxNodeString, @CodeBlockItemListBuilder statementsBuilder: () throws -> CodeBlockItemListSyntax) rethrows {
self = SwitchCaseSyntax("\(header)")
self.statements = statementsBuilder()
self.statements = try statementsBuilder()
}
}

Expand Down
Loading