Skip to content

Commit 9c8ee38

Browse files
authored
Merge pull request #605 from rintaro/syntax-unresolvedternaryexpr
Update for `UnresolvedTernaryExpr` syntax
2 parents cdf111e + d4566a7 commit 9c8ee38

File tree

16 files changed

+450
-4
lines changed

16 files changed

+450
-4
lines changed

Sources/SwiftSyntax/gyb_generated/Misc.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,12 @@ extension SyntaxNode {
343343
return BooleanLiteralExprSyntax(asSyntaxData)
344344
}
345345

346+
public var isUnresolvedTernaryExpr: Bool { return raw.kind == .unresolvedTernaryExpr }
347+
public var asUnresolvedTernaryExpr: UnresolvedTernaryExprSyntax? {
348+
guard isUnresolvedTernaryExpr else { return nil }
349+
return UnresolvedTernaryExprSyntax(asSyntaxData)
350+
}
351+
346352
public var isTernaryExpr: Bool { return raw.kind == .ternaryExpr }
347353
public var asTernaryExpr: TernaryExprSyntax? {
348354
guard isTernaryExpr else { return nil }
@@ -1705,6 +1711,8 @@ extension Syntax {
17051711
return node
17061712
case .booleanLiteralExpr(let node):
17071713
return node
1714+
case .unresolvedTernaryExpr(let node):
1715+
return node
17081716
case .ternaryExpr(let node):
17091717
return node
17101718
case .memberAccessExpr(let node):

Sources/SwiftSyntax/gyb_generated/RawSyntaxNodes.swift

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public struct RawDeclSyntax: RawDeclSyntaxNodeProtocol {
5353
public struct RawExprSyntax: RawExprSyntaxNodeProtocol {
5454
public static func isKindOf(_ raw: RawSyntax) -> Bool {
5555
switch raw.kind {
56-
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr: return true
56+
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .unresolvedTernaryExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr: return true
5757
default: return false
5858
}
5959
}
@@ -2380,6 +2380,65 @@ public struct RawBooleanLiteralExprSyntax: RawExprSyntaxNodeProtocol {
23802380
}
23812381
}
23822382

2383+
@_spi(RawSyntax)
2384+
public struct RawUnresolvedTernaryExprSyntax: RawExprSyntaxNodeProtocol {
2385+
public static func isKindOf(_ raw: RawSyntax) -> Bool {
2386+
return raw.kind == .unresolvedTernaryExpr
2387+
}
2388+
2389+
public var raw: RawSyntax
2390+
init(raw: RawSyntax) {
2391+
assert(Self.isKindOf(raw))
2392+
self.raw = raw
2393+
}
2394+
2395+
public init?<Node: RawSyntaxNodeProtocol>(_ other: Node) {
2396+
guard Self.isKindOf(other.raw) else { return nil }
2397+
self.init(raw: other.raw)
2398+
}
2399+
2400+
public init(
2401+
_ unexpectedBeforeQuestionMark: RawUnexpectedNodesSyntax? = nil,
2402+
questionMark: RawTokenSyntax,
2403+
_ unexpectedBetweenQuestionMarkAndFirstChoice: RawUnexpectedNodesSyntax? = nil,
2404+
firstChoice: RawExprSyntax,
2405+
_ unexpectedBetweenFirstChoiceAndColonMark: RawUnexpectedNodesSyntax? = nil,
2406+
colonMark: RawTokenSyntax,
2407+
arena: __shared SyntaxArena
2408+
) {
2409+
let raw = RawSyntax.makeLayout(
2410+
kind: .unresolvedTernaryExpr, uninitializedCount: 6, arena: arena) { layout in
2411+
layout.initialize(repeating: nil)
2412+
layout[0] = unexpectedBeforeQuestionMark?.raw
2413+
layout[1] = questionMark.raw
2414+
layout[2] = unexpectedBetweenQuestionMarkAndFirstChoice?.raw
2415+
layout[3] = firstChoice.raw
2416+
layout[4] = unexpectedBetweenFirstChoiceAndColonMark?.raw
2417+
layout[5] = colonMark.raw
2418+
}
2419+
self.init(raw: raw)
2420+
}
2421+
2422+
public var unexpectedBeforeQuestionMark: RawUnexpectedNodesSyntax? {
2423+
raw.children[0].map(RawUnexpectedNodesSyntax.init(raw:))
2424+
}
2425+
public var questionMark: RawTokenSyntax {
2426+
raw.children[1].map(RawTokenSyntax.init(raw:))!
2427+
}
2428+
public var unexpectedBetweenQuestionMarkAndFirstChoice: RawUnexpectedNodesSyntax? {
2429+
raw.children[2].map(RawUnexpectedNodesSyntax.init(raw:))
2430+
}
2431+
public var firstChoice: RawExprSyntax {
2432+
raw.children[3].map(RawExprSyntax.init(raw:))!
2433+
}
2434+
public var unexpectedBetweenFirstChoiceAndColonMark: RawUnexpectedNodesSyntax? {
2435+
raw.children[4].map(RawUnexpectedNodesSyntax.init(raw:))
2436+
}
2437+
public var colonMark: RawTokenSyntax {
2438+
raw.children[5].map(RawTokenSyntax.init(raw:))!
2439+
}
2440+
}
2441+
23832442
@_spi(RawSyntax)
23842443
public struct RawTernaryExprSyntax: RawExprSyntaxNodeProtocol {
23852444
public static func isKindOf(_ raw: RawSyntax) -> Bool {

Sources/SwiftSyntax/gyb_generated/RawSyntaxValidation.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,15 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
342342
_verify(layout[0], as: RawUnexpectedNodesSyntax?.self)
343343
_verify(layout[1], as: RawTokenSyntax.self)
344344
break
345+
case .unresolvedTernaryExpr:
346+
assert(layout.count == 6)
347+
_verify(layout[0], as: RawUnexpectedNodesSyntax?.self)
348+
_verify(layout[1], as: RawTokenSyntax.self)
349+
_verify(layout[2], as: RawUnexpectedNodesSyntax?.self)
350+
_verify(layout[3], as: RawExprSyntax.self)
351+
_verify(layout[4], as: RawUnexpectedNodesSyntax?.self)
352+
_verify(layout[5], as: RawTokenSyntax.self)
353+
break
345354
case .ternaryExpr:
346355
assert(layout.count == 10)
347356
_verify(layout[0], as: RawUnexpectedNodesSyntax?.self)

Sources/SwiftSyntax/gyb_generated/SyntaxAnyVisitor.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,13 @@ open class SyntaxAnyVisitor: SyntaxVisitor {
439439
override open func visitPost(_ node: BooleanLiteralExprSyntax) {
440440
visitAnyPost(node._syntaxNode)
441441
}
442+
override open func visit(_ node: UnresolvedTernaryExprSyntax) -> SyntaxVisitorContinueKind {
443+
return visitAny(node._syntaxNode)
444+
}
445+
446+
override open func visitPost(_ node: UnresolvedTernaryExprSyntax) {
447+
visitAnyPost(node._syntaxNode)
448+
}
442449
override open func visit(_ node: TernaryExprSyntax) -> SyntaxVisitorContinueKind {
443450
return visitAny(node._syntaxNode)
444451
}

Sources/SwiftSyntax/gyb_generated/SyntaxBaseNodes.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable {
159159
/// `nil` if the conversion is not possible.
160160
public init?(_ syntax: Syntax) {
161161
switch syntax.raw.kind {
162-
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr:
162+
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .unresolvedTernaryExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr:
163163
self._syntaxNode = syntax
164164
default:
165165
return nil
@@ -173,7 +173,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable {
173173
// Assert that the kind of the given data matches in debug builds.
174174
#if DEBUG
175175
switch data.raw.kind {
176-
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr:
176+
case .unknownExpr, .missingExpr, .inOutExpr, .poundColumnExpr, .tryExpr, .awaitExpr, .moveExpr, .identifierExpr, .superRefExpr, .nilLiteralExpr, .discardAssignmentExpr, .assignmentExpr, .sequenceExpr, .poundLineExpr, .poundFileExpr, .poundFileIDExpr, .poundFilePathExpr, .poundFunctionExpr, .poundDsohandleExpr, .symbolicReferenceExpr, .prefixOperatorExpr, .binaryOperatorExpr, .arrowExpr, .infixOperatorExpr, .floatLiteralExpr, .tupleExpr, .arrayExpr, .dictionaryExpr, .integerLiteralExpr, .booleanLiteralExpr, .unresolvedTernaryExpr, .ternaryExpr, .memberAccessExpr, .isExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .keyPathBaseExpr, .objcKeyPathExpr, .objcSelectorExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr:
177177
break
178178
default:
179179
fatalError("Unable to create ExprSyntax from \(data.raw.kind)")

Sources/SwiftSyntax/gyb_generated/SyntaxEnum.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public enum SyntaxEnum {
7070
case dictionaryElement(DictionaryElementSyntax)
7171
case integerLiteralExpr(IntegerLiteralExprSyntax)
7272
case booleanLiteralExpr(BooleanLiteralExprSyntax)
73+
case unresolvedTernaryExpr(UnresolvedTernaryExprSyntax)
7374
case ternaryExpr(TernaryExprSyntax)
7475
case memberAccessExpr(MemberAccessExprSyntax)
7576
case isExpr(IsExprSyntax)
@@ -394,6 +395,8 @@ public extension Syntax {
394395
return .integerLiteralExpr(IntegerLiteralExprSyntax(self)!)
395396
case .booleanLiteralExpr:
396397
return .booleanLiteralExpr(BooleanLiteralExprSyntax(self)!)
398+
case .unresolvedTernaryExpr:
399+
return .unresolvedTernaryExpr(UnresolvedTernaryExprSyntax(self)!)
397400
case .ternaryExpr:
398401
return .ternaryExpr(TernaryExprSyntax(self)!)
399402
case .memberAccessExpr:

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,6 +1144,35 @@ public enum SyntaxFactory {
11441144
], length: .zero, presence: presence))
11451145
return BooleanLiteralExprSyntax(data)
11461146
}
1147+
@available(*, deprecated, message: "Use initializer on UnresolvedTernaryExprSyntax")
1148+
public static func makeUnresolvedTernaryExpr(_ unexpectedBeforeQuestionMark: UnexpectedNodesSyntax? = nil, questionMark: TokenSyntax, _ unexpectedBetweenQuestionMarkAndFirstChoice: UnexpectedNodesSyntax? = nil, firstChoice: ExprSyntax, _ unexpectedBetweenFirstChoiceAndColonMark: UnexpectedNodesSyntax? = nil, colonMark: TokenSyntax) -> UnresolvedTernaryExprSyntax {
1149+
let layout: [RawSyntax?] = [
1150+
unexpectedBeforeQuestionMark?.raw,
1151+
questionMark.raw,
1152+
unexpectedBetweenQuestionMarkAndFirstChoice?.raw,
1153+
firstChoice.raw,
1154+
unexpectedBetweenFirstChoiceAndColonMark?.raw,
1155+
colonMark.raw,
1156+
]
1157+
let raw = RawSyntax.createAndCalcLength(kind: SyntaxKind.unresolvedTernaryExpr,
1158+
layout: layout, presence: SourcePresence.present)
1159+
let data = SyntaxData.forRoot(raw)
1160+
return UnresolvedTernaryExprSyntax(data)
1161+
}
1162+
1163+
@available(*, deprecated, message: "Use initializer on UnresolvedTernaryExprSyntax")
1164+
public static func makeBlankUnresolvedTernaryExpr(presence: SourcePresence = .present) -> UnresolvedTernaryExprSyntax {
1165+
let data = SyntaxData.forRoot(RawSyntax.create(kind: .unresolvedTernaryExpr,
1166+
layout: [
1167+
nil,
1168+
RawSyntax.missingToken(TokenKind.infixQuestionMark),
1169+
nil,
1170+
RawSyntax.missing(SyntaxKind.missingExpr),
1171+
nil,
1172+
RawSyntax.missingToken(TokenKind.colon),
1173+
], length: .zero, presence: presence))
1174+
return UnresolvedTernaryExprSyntax(data)
1175+
}
11471176
@available(*, deprecated, message: "Use initializer on TernaryExprSyntax")
11481177
public static func makeTernaryExpr(_ unexpectedBeforeConditionExpression: UnexpectedNodesSyntax? = nil, conditionExpression: ExprSyntax, _ unexpectedBetweenConditionExpressionAndQuestionMark: UnexpectedNodesSyntax? = nil, questionMark: TokenSyntax, _ unexpectedBetweenQuestionMarkAndFirstChoice: UnexpectedNodesSyntax? = nil, firstChoice: ExprSyntax, _ unexpectedBetweenFirstChoiceAndColonMark: UnexpectedNodesSyntax? = nil, colonMark: TokenSyntax, _ unexpectedBetweenColonMarkAndSecondChoice: UnexpectedNodesSyntax? = nil, secondChoice: ExprSyntax) -> TernaryExprSyntax {
11491178
let layout: [RawSyntax?] = [

Sources/SwiftSyntax/gyb_generated/SyntaxKind.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ internal enum SyntaxKind: CSyntaxKind {
7070
case dictionaryElement = 99
7171
case integerLiteralExpr = 47
7272
case booleanLiteralExpr = 49
73+
case unresolvedTernaryExpr = 270
7374
case ternaryExpr = 50
7475
case memberAccessExpr = 51
7576
case isExpr = 53

Sources/SwiftSyntax/gyb_generated/SyntaxRewriter.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,13 @@ open class SyntaxRewriter {
401401
return ExprSyntax(visitChildren(node))
402402
}
403403

404+
/// Visit a `UnresolvedTernaryExprSyntax`.
405+
/// - Parameter node: the node that is being visited
406+
/// - Returns: the rewritten node
407+
open func visit(_ node: UnresolvedTernaryExprSyntax) -> ExprSyntax {
408+
return ExprSyntax(visitChildren(node))
409+
}
410+
404411
/// Visit a `TernaryExprSyntax`.
405412
/// - Parameter node: the node that is being visited
406413
/// - Returns: the rewritten node
@@ -2474,6 +2481,16 @@ open class SyntaxRewriter {
24742481
return Syntax(visit(node))
24752482
}
24762483

2484+
/// Implementation detail of visit(_:). Do not call directly.
2485+
private func visitImplUnresolvedTernaryExprSyntax(_ data: SyntaxData) -> Syntax {
2486+
let node = UnresolvedTernaryExprSyntax(data)
2487+
// Accessing _syntaxNode directly is faster than calling Syntax(node)
2488+
visitPre(node._syntaxNode)
2489+
defer { visitPost(node._syntaxNode) }
2490+
if let newNode = visitAny(node._syntaxNode) { return newNode }
2491+
return Syntax(visit(node))
2492+
}
2493+
24772494
/// Implementation detail of visit(_:). Do not call directly.
24782495
private func visitImplTernaryExprSyntax(_ data: SyntaxData) -> Syntax {
24792496
let node = TernaryExprSyntax(data)
@@ -4694,6 +4711,8 @@ open class SyntaxRewriter {
46944711
return visitImplIntegerLiteralExprSyntax
46954712
case .booleanLiteralExpr:
46964713
return visitImplBooleanLiteralExprSyntax
4714+
case .unresolvedTernaryExpr:
4715+
return visitImplUnresolvedTernaryExprSyntax
46974716
case .ternaryExpr:
46984717
return visitImplTernaryExprSyntax
46994718
case .memberAccessExpr:
@@ -5229,6 +5248,8 @@ open class SyntaxRewriter {
52295248
return visitImplIntegerLiteralExprSyntax(data)
52305249
case .booleanLiteralExpr:
52315250
return visitImplBooleanLiteralExprSyntax(data)
5251+
case .unresolvedTernaryExpr:
5252+
return visitImplUnresolvedTernaryExprSyntax(data)
52325253
case .ternaryExpr:
52335254
return visitImplTernaryExprSyntax(data)
52345255
case .memberAccessExpr:

Sources/SwiftSyntax/gyb_generated/SyntaxVisitor.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,16 @@ open class SyntaxVisitor {
581581
/// The function called after visiting `BooleanLiteralExprSyntax` and its descendents.
582582
/// - node: the node we just finished visiting.
583583
open func visitPost(_ node: BooleanLiteralExprSyntax) {}
584+
/// Visiting `UnresolvedTernaryExprSyntax` specifically.
585+
/// - Parameter node: the node we are visiting.
586+
/// - Returns: how should we continue visiting.
587+
open func visit(_ node: UnresolvedTernaryExprSyntax) -> SyntaxVisitorContinueKind {
588+
return .visitChildren
589+
}
590+
591+
/// The function called after visiting `UnresolvedTernaryExprSyntax` and its descendents.
592+
/// - node: the node we just finished visiting.
593+
open func visitPost(_ node: UnresolvedTernaryExprSyntax) {}
584594
/// Visiting `TernaryExprSyntax` specifically.
585595
/// - Parameter node: the node we are visiting.
586596
/// - Returns: how should we continue visiting.
@@ -3313,6 +3323,17 @@ open class SyntaxVisitor {
33133323
visitPost(node)
33143324
}
33153325

3326+
/// Implementation detail of doVisit(_:_:). Do not call directly.
3327+
private func visitImplUnresolvedTernaryExprSyntax(_ data: SyntaxData) {
3328+
let node = UnresolvedTernaryExprSyntax(data)
3329+
let needsChildren = (visit(node) == .visitChildren)
3330+
// Avoid calling into visitChildren if possible.
3331+
if needsChildren && node.raw.numberOfChildren > 0 {
3332+
visitChildren(node)
3333+
}
3334+
visitPost(node)
3335+
}
3336+
33163337
/// Implementation detail of doVisit(_:_:). Do not call directly.
33173338
private func visitImplTernaryExprSyntax(_ data: SyntaxData) {
33183339
let node = TernaryExprSyntax(data)
@@ -5707,6 +5728,8 @@ open class SyntaxVisitor {
57075728
visitImplIntegerLiteralExprSyntax(data)
57085729
case .booleanLiteralExpr:
57095730
visitImplBooleanLiteralExprSyntax(data)
5731+
case .unresolvedTernaryExpr:
5732+
visitImplUnresolvedTernaryExprSyntax(data)
57105733
case .ternaryExpr:
57115734
visitImplTernaryExprSyntax(data)
57125735
case .memberAccessExpr:

0 commit comments

Comments
 (0)