Skip to content

Commit 8c44c56

Browse files
committed
[borrow-expr] Gyb generated changes.
1 parent 337a11c commit 8c44c56

File tree

17 files changed

+395
-3
lines changed

17 files changed

+395
-3
lines changed

CodeGeneration/Sources/SyntaxSupport/gyb_generated/ExprNodes.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,22 @@ public let EXPR_NODES: [Node] = [
111111
kind: "Expr")
112112
]),
113113

114+
Node(name: "BorrowExpr",
115+
nameForDiagnostics: "'_borrow' expression",
116+
kind: "Expr",
117+
children: [
118+
Child(name: "BorrowKeyword",
119+
kind: "ContextualKeywordToken",
120+
tokenChoices: [
121+
"ContextualKeyword"
122+
],
123+
textChoices: [
124+
"_borrow"
125+
]),
126+
Child(name: "Expression",
127+
kind: "Expr")
128+
]),
129+
114130
Node(name: "DeclNameArgument",
115131
nameForDiagnostics: nil,
116132
kind: "Syntax",

Sources/SwiftSyntax/Documentation.docc/gyb_generated/SwiftSyntax.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ allows Swift tools to parse, inspect, generate, and transform Swift source code.
107107
- <doc:SwiftSyntax/TryExprSyntax>
108108
- <doc:SwiftSyntax/AwaitExprSyntax>
109109
- <doc:SwiftSyntax/MoveExprSyntax>
110+
- <doc:SwiftSyntax/BorrowExprSyntax>
110111
- <doc:SwiftSyntax/IdentifierExprSyntax>
111112
- <doc:SwiftSyntax/SuperRefExprSyntax>
112113
- <doc:SwiftSyntax/NilLiteralExprSyntax>

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxNodes.swift

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public struct RawExprSyntax: RawExprSyntaxNodeProtocol {
6565

6666
public static func isKindOf(_ raw: RawSyntax) -> Bool {
6767
switch raw.kind {
68-
case .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .packElementExpr, .sequenceExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .unresolvedTernaryExpr, .ternaryExpr, .memberAccessExpr, .unresolvedIsExpr, .isExpr, .unresolvedAsExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .macroExpansionExpr, .postfixIfConfigExpr, .editorPlaceholderExpr: return true
68+
case .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .borrowExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .packElementExpr, .sequenceExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .unresolvedTernaryExpr, .ternaryExpr, .memberAccessExpr, .unresolvedIsExpr, .isExpr, .unresolvedAsExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .macroExpansionExpr, .postfixIfConfigExpr, .editorPlaceholderExpr: return true
6969
default: return false
7070
}
7171
}
@@ -1155,6 +1155,66 @@ public struct RawMoveExprSyntax: RawExprSyntaxNodeProtocol {
11551155
}
11561156
}
11571157

1158+
@_spi(RawSyntax)
1159+
public struct RawBorrowExprSyntax: RawExprSyntaxNodeProtocol {
1160+
1161+
@_spi(RawSyntax)
1162+
public var layoutView: RawSyntaxLayoutView {
1163+
return raw.layoutView!
1164+
}
1165+
1166+
public static func isKindOf(_ raw: RawSyntax) -> Bool {
1167+
return raw.kind == .borrowExpr
1168+
}
1169+
1170+
public var raw: RawSyntax
1171+
init(raw: RawSyntax) {
1172+
assert(Self.isKindOf(raw))
1173+
self.raw = raw
1174+
}
1175+
1176+
public init?<Node: RawSyntaxNodeProtocol>(_ other: Node) {
1177+
guard Self.isKindOf(other.raw) else { return nil }
1178+
self.init(raw: other.raw)
1179+
}
1180+
1181+
public init(
1182+
_ unexpectedBeforeBorrowKeyword: RawUnexpectedNodesSyntax? = nil,
1183+
borrowKeyword: RawTokenSyntax,
1184+
_ unexpectedBetweenBorrowKeywordAndExpression: RawUnexpectedNodesSyntax? = nil,
1185+
expression: RawExprSyntax,
1186+
_ unexpectedAfterExpression: RawUnexpectedNodesSyntax? = nil,
1187+
arena: __shared SyntaxArena
1188+
) {
1189+
let raw = RawSyntax.makeLayout(
1190+
kind: .borrowExpr, uninitializedCount: 5, arena: arena) { layout in
1191+
layout.initialize(repeating: nil)
1192+
layout[0] = unexpectedBeforeBorrowKeyword?.raw
1193+
layout[1] = borrowKeyword.raw
1194+
layout[2] = unexpectedBetweenBorrowKeywordAndExpression?.raw
1195+
layout[3] = expression.raw
1196+
layout[4] = unexpectedAfterExpression?.raw
1197+
}
1198+
self.init(raw: raw)
1199+
}
1200+
1201+
public var unexpectedBeforeBorrowKeyword: RawUnexpectedNodesSyntax? {
1202+
layoutView.children[0].map(RawUnexpectedNodesSyntax.init(raw:))
1203+
}
1204+
public var borrowKeyword: RawTokenSyntax {
1205+
layoutView.children[1].map(RawTokenSyntax.init(raw:))!
1206+
}
1207+
public var unexpectedBetweenBorrowKeywordAndExpression: RawUnexpectedNodesSyntax? {
1208+
layoutView.children[2].map(RawUnexpectedNodesSyntax.init(raw:))
1209+
}
1210+
public var expression: RawExprSyntax {
1211+
layoutView.children[3].map(RawExprSyntax.init(raw:))!
1212+
}
1213+
public var unexpectedAfterExpression: RawUnexpectedNodesSyntax? {
1214+
layoutView.children[4].map(RawUnexpectedNodesSyntax.init(raw:))
1215+
}
1216+
}
1217+
11581218
@_spi(RawSyntax)
11591219
public struct RawDeclNameArgumentSyntax: RawSyntaxNodeProtocol {
11601220

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxValidation.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,14 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
209209
assertNoError(kind, 3, verify(layout[3], as: RawExprSyntax.self))
210210
assertNoError(kind, 4, verify(layout[4], as: RawUnexpectedNodesSyntax?.self))
211211
break
212+
case .borrowExpr:
213+
assert(layout.count == 5)
214+
assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self))
215+
assertNoError(kind, 1, verify(layout[1], as: RawTokenSyntax.self))
216+
assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self))
217+
assertNoError(kind, 3, verify(layout[3], as: RawExprSyntax.self))
218+
assertNoError(kind, 4, verify(layout[4], as: RawUnexpectedNodesSyntax?.self))
219+
break
212220
case .declNameArgument:
213221
assert(layout.count == 5)
214222
assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self))

Sources/SwiftSyntax/generated/Misc.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ extension Syntax {
5151
.node(BackDeployVersionListSyntax.self),
5252
.node(BinaryOperatorExprSyntax.self),
5353
.node(BooleanLiteralExprSyntax.self),
54+
.node(BorrowExprSyntax.self),
5455
.node(BreakStmtSyntax.self),
5556
.node(CaseItemListSyntax.self),
5657
.node(CaseItemSyntax.self),
@@ -354,6 +355,8 @@ extension SyntaxKind {
354355
return BinaryOperatorExprSyntax.self
355356
case .booleanLiteralExpr:
356357
return BooleanLiteralExprSyntax.self
358+
case .borrowExpr:
359+
return BorrowExprSyntax.self
357360
case .breakStmt:
358361
return BreakStmtSyntax.self
359362
case .caseItemList:
@@ -887,6 +890,8 @@ extension SyntaxKind {
887890
return nil
888891
case .booleanLiteralExpr:
889892
return "bool literal"
893+
case .borrowExpr:
894+
return "'_borrow' expression"
890895
case .breakStmt:
891896
return "'break' statement"
892897
case .caseItemList:

Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,14 @@ open class SyntaxAnyVisitor: SyntaxVisitor {
313313
visitAnyPost(node._syntaxNode)
314314
}
315315

316+
override open func visit(_ node: BorrowExprSyntax) -> SyntaxVisitorContinueKind {
317+
return visitAny(node._syntaxNode)
318+
}
319+
320+
override open func visitPost(_ node: BorrowExprSyntax) {
321+
visitAnyPost(node._syntaxNode)
322+
}
323+
316324
override open func visit(_ node: BreakStmtSyntax) -> SyntaxVisitorContinueKind {
317325
return visitAny(node._syntaxNode)
318326
}

Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable {
218218

219219
public init? < S: SyntaxProtocol > (_ node: S) {
220220
switch node.raw.kind {
221-
case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .closureExpr, .dictionaryExpr, .discardAssignmentExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forcedValueExpr, .functionCallExpr, .identifierExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .moveExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .postfixIfConfigExpr, .postfixUnaryExpr, .poundColumnExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .specializeExpr, .stringLiteralExpr, .subscriptExpr, .superRefExpr, .symbolicReferenceExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedPatternExpr, .unresolvedTernaryExpr:
221+
case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, .closureExpr, .dictionaryExpr, .discardAssignmentExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forcedValueExpr, .functionCallExpr, .identifierExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .moveExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .postfixIfConfigExpr, .postfixUnaryExpr, .poundColumnExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .specializeExpr, .stringLiteralExpr, .subscriptExpr, .superRefExpr, .symbolicReferenceExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedPatternExpr, .unresolvedTernaryExpr:
222222
self._syntaxNode = node._syntaxNode
223223
default:
224224
return nil
@@ -231,7 +231,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable {
231231
internal init(_ data: SyntaxData) {
232232
#if DEBUG
233233
switch data.raw.kind {
234-
case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .closureExpr, .dictionaryExpr, .discardAssignmentExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forcedValueExpr, .functionCallExpr, .identifierExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .moveExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .postfixIfConfigExpr, .postfixUnaryExpr, .poundColumnExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .specializeExpr, .stringLiteralExpr, .subscriptExpr, .superRefExpr, .symbolicReferenceExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedPatternExpr, .unresolvedTernaryExpr:
234+
case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, .closureExpr, .dictionaryExpr, .discardAssignmentExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forcedValueExpr, .functionCallExpr, .identifierExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .moveExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .postfixIfConfigExpr, .postfixUnaryExpr, .poundColumnExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .specializeExpr, .stringLiteralExpr, .subscriptExpr, .superRefExpr, .symbolicReferenceExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedPatternExpr, .unresolvedTernaryExpr:
235235
break
236236
default:
237237
fatalError("Unable to create ExprSyntax from \(data.raw.kind)")
@@ -274,6 +274,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable {
274274
.node(AwaitExprSyntax.self),
275275
.node(BinaryOperatorExprSyntax.self),
276276
.node(BooleanLiteralExprSyntax.self),
277+
.node(BorrowExprSyntax.self),
277278
.node(ClosureExprSyntax.self),
278279
.node(DictionaryExprSyntax.self),
279280
.node(DiscardAssignmentExprSyntax.self),

Sources/SwiftSyntax/generated/SyntaxEnum.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ public enum SyntaxEnum {
8282

8383
case booleanLiteralExpr(BooleanLiteralExprSyntax)
8484

85+
case borrowExpr(BorrowExprSyntax)
86+
8587
case breakStmt(BreakStmtSyntax)
8688

8789
case caseItemList(CaseItemListSyntax)
@@ -615,6 +617,8 @@ public extension Syntax {
615617
return .binaryOperatorExpr(BinaryOperatorExprSyntax(self)!)
616618
case .booleanLiteralExpr:
617619
return .booleanLiteralExpr(BooleanLiteralExprSyntax(self)!)
620+
case .borrowExpr:
621+
return .borrowExpr(BorrowExprSyntax(self)!)
618622
case .breakStmt:
619623
return .breakStmt(BreakStmtSyntax(self)!)
620624
case .caseItemList:

Sources/SwiftSyntax/generated/SyntaxKind.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ public enum SyntaxKind {
8282

8383
case booleanLiteralExpr
8484

85+
case borrowExpr
86+
8587
case breakStmt
8688

8789
case caseItemList

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,37 @@ public enum SyntaxFactory {
467467
return MoveExprSyntax(data)
468468
}
469469
}
470+
@available(*, deprecated, message: "Use initializer on BorrowExprSyntax")
471+
public static func makeBorrowExpr(_ unexpectedBeforeBorrowKeyword: UnexpectedNodesSyntax? = nil, borrowKeyword: TokenSyntax, _ unexpectedBetweenBorrowKeywordAndExpression: UnexpectedNodesSyntax? = nil, expression: ExprSyntax, _ unexpectedAfterExpression: UnexpectedNodesSyntax? = nil) -> BorrowExprSyntax {
472+
let layout: [RawSyntax?] = [
473+
unexpectedBeforeBorrowKeyword?.raw,
474+
borrowKeyword.raw,
475+
unexpectedBetweenBorrowKeywordAndExpression?.raw,
476+
expression.raw,
477+
unexpectedAfterExpression?.raw,
478+
]
479+
return withExtendedLifetime(SyntaxArena()) { arena in
480+
let raw = RawSyntax.makeLayout(kind: SyntaxKind.borrowExpr,
481+
from: layout, arena: arena)
482+
let data = SyntaxData.forRoot(raw)
483+
return BorrowExprSyntax(data)
484+
}
485+
}
486+
487+
@available(*, deprecated, message: "Use initializer on BorrowExprSyntax")
488+
public static func makeBlankBorrowExpr(presence: SourcePresence = .present) -> BorrowExprSyntax {
489+
return withExtendedLifetime(SyntaxArena()) { arena in
490+
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .borrowExpr,
491+
from: [
492+
nil,
493+
RawSyntax.makeMissingToken(kind: TokenKind.contextualKeyword(""), arena: arena),
494+
nil,
495+
RawSyntax.makeEmptyLayout(kind: SyntaxKind.missingExpr, arena: arena),
496+
nil,
497+
], arena: arena))
498+
return BorrowExprSyntax(data)
499+
}
500+
}
470501
@available(*, deprecated, message: "Use initializer on DeclNameArgumentSyntax")
471502
public static func makeDeclNameArgument(_ unexpectedBeforeName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndColon: UnexpectedNodesSyntax? = nil, colon: TokenSyntax, _ unexpectedAfterColon: UnexpectedNodesSyntax? = nil) -> DeclNameArgumentSyntax {
472503
let layout: [RawSyntax?] = [

Sources/SwiftSyntax/gyb_generated/SyntaxRewriter.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,13 @@ open class SyntaxRewriter {
156156
return ExprSyntax(visitChildren(node))
157157
}
158158

159+
/// Visit a `BorrowExprSyntax`.
160+
/// - Parameter node: the node that is being visited
161+
/// - Returns: the rewritten node
162+
open func visit(_ node: BorrowExprSyntax) -> ExprSyntax {
163+
return ExprSyntax(visitChildren(node))
164+
}
165+
159166
/// Visit a `DeclNameArgumentSyntax`.
160167
/// - Parameter node: the node that is being visited
161168
/// - Returns: the rewritten node
@@ -2128,6 +2135,16 @@ open class SyntaxRewriter {
21282135
return Syntax(visit(node))
21292136
}
21302137

2138+
/// Implementation detail of visit(_:). Do not call directly.
2139+
private func visitImplBorrowExprSyntax(_ data: SyntaxData) -> Syntax {
2140+
let node = BorrowExprSyntax(data)
2141+
// Accessing _syntaxNode directly is faster than calling Syntax(node)
2142+
visitPre(node._syntaxNode)
2143+
defer { visitPost(node._syntaxNode) }
2144+
if let newNode = visitAny(node._syntaxNode) { return newNode }
2145+
return Syntax(visit(node))
2146+
}
2147+
21312148
/// Implementation detail of visit(_:). Do not call directly.
21322149
private func visitImplDeclNameArgumentSyntax(_ data: SyntaxData) -> Syntax {
21332150
let node = DeclNameArgumentSyntax(data)
@@ -4646,6 +4663,8 @@ open class SyntaxRewriter {
46464663
return visitImplAwaitExprSyntax
46474664
case .moveExpr:
46484665
return visitImplMoveExprSyntax
4666+
case .borrowExpr:
4667+
return visitImplBorrowExprSyntax
46494668
case .declNameArgument:
46504669
return visitImplDeclNameArgumentSyntax
46514670
case .declNameArgumentList:
@@ -5185,6 +5204,8 @@ open class SyntaxRewriter {
51855204
return visitImplAwaitExprSyntax(data)
51865205
case .moveExpr:
51875206
return visitImplMoveExprSyntax(data)
5207+
case .borrowExpr:
5208+
return visitImplBorrowExprSyntax(data)
51885209
case .declNameArgument:
51895210
return visitImplDeclNameArgumentSyntax(data)
51905211
case .declNameArgumentList:

Sources/SwiftSyntax/gyb_generated/SyntaxTransform.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ public protocol SyntaxTransformVisitor {
9595
/// - Parameter node: the node we are visiting.
9696
/// - Returns: the sum of whatever the child visitors return.
9797
func visit(_ node: MoveExprSyntax) -> ResultType
98+
/// Visiting `BorrowExprSyntax` specifically.
99+
/// - Parameter node: the node we are visiting.
100+
/// - Returns: the sum of whatever the child visitors return.
101+
func visit(_ node: BorrowExprSyntax) -> ResultType
98102
/// Visiting `DeclNameArgumentSyntax` specifically.
99103
/// - Parameter node: the node we are visiting.
100104
/// - Returns: the sum of whatever the child visitors return.
@@ -1192,6 +1196,12 @@ extension SyntaxTransformVisitor {
11921196
public func visit(_ node: MoveExprSyntax) -> ResultType {
11931197
visitAny(Syntax(node))
11941198
}
1199+
/// Visiting `BorrowExprSyntax` specifically.
1200+
/// - Parameter node: the node we are visiting.
1201+
/// - Returns: nil by default.
1202+
public func visit(_ node: BorrowExprSyntax) -> ResultType {
1203+
visitAny(Syntax(node))
1204+
}
11951205
/// Visiting `DeclNameArgumentSyntax` specifically.
11961206
/// - Parameter node: the node we are visiting.
11971207
/// - Returns: nil by default.
@@ -2699,6 +2709,8 @@ extension SyntaxTransformVisitor {
26992709
return visit(derived)
27002710
case .moveExpr(let derived):
27012711
return visit(derived)
2712+
case .borrowExpr(let derived):
2713+
return visit(derived)
27022714
case .declNameArgument(let derived):
27032715
return visit(derived)
27042716
case .declNameArgumentList(let derived):

Sources/SwiftSyntax/gyb_generated/SyntaxVisitor.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,16 @@ open class SyntaxVisitor {
231231
/// The function called after visiting `MoveExprSyntax` and its descendents.
232232
/// - node: the node we just finished visiting.
233233
open func visitPost(_ node: MoveExprSyntax) {}
234+
/// Visiting `BorrowExprSyntax` specifically.
235+
/// - Parameter node: the node we are visiting.
236+
/// - Returns: how should we continue visiting.
237+
open func visit(_ node: BorrowExprSyntax) -> SyntaxVisitorContinueKind {
238+
return .visitChildren
239+
}
240+
241+
/// The function called after visiting `BorrowExprSyntax` and its descendents.
242+
/// - node: the node we just finished visiting.
243+
open func visitPost(_ node: BorrowExprSyntax) {}
234244
/// Visiting `DeclNameArgumentSyntax` specifically.
235245
/// - Parameter node: the node we are visiting.
236246
/// - Returns: how should we continue visiting.
@@ -2892,6 +2902,17 @@ open class SyntaxVisitor {
28922902
visitPost(node)
28932903
}
28942904

2905+
/// Implementation detail of doVisit(_:_:). Do not call directly.
2906+
private func visitImplBorrowExprSyntax(_ data: SyntaxData) {
2907+
let node = BorrowExprSyntax(data)
2908+
let needsChildren = (visit(node) == .visitChildren)
2909+
// Avoid calling into visitChildren if possible.
2910+
if needsChildren && !node.raw.layoutView!.children.isEmpty {
2911+
visitChildren(node)
2912+
}
2913+
visitPost(node)
2914+
}
2915+
28952916
/// Implementation detail of doVisit(_:_:). Do not call directly.
28962917
private func visitImplDeclNameArgumentSyntax(_ data: SyntaxData) {
28972918
let node = DeclNameArgumentSyntax(data)
@@ -5626,6 +5647,8 @@ open class SyntaxVisitor {
56265647
visitImplAwaitExprSyntax(data)
56275648
case .moveExpr:
56285649
visitImplMoveExprSyntax(data)
5650+
case .borrowExpr:
5651+
visitImplBorrowExprSyntax(data)
56295652
case .declNameArgument:
56305653
visitImplDeclNameArgumentSyntax(data)
56315654
case .declNameArgumentList:

0 commit comments

Comments
 (0)