@@ -65,7 +65,7 @@ public struct RawExprSyntax: RawExprSyntaxNodeProtocol {
65
65
66
66
public static func isKindOf(_ raw: RawSyntax) -> Bool {
67
67
switch raw.kind {
68
- 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, .unresolvedIsExpr, .isExpr, .unresolvedAsExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .oldKeyPathExpr, .keyPathBaseExpr, . objcKeyPathExpr, .objcSelectorExpr, .macroExpansionExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr: return true
68
+ 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, .unresolvedIsExpr, .isExpr, .unresolvedAsExpr, .asExpr, .typeExpr, .closureExpr, .unresolvedPatternExpr, .functionCallExpr, .subscriptExpr, .optionalChainingExpr, .forcedValueExpr, .postfixUnaryExpr, .specializeExpr, .stringLiteralExpr, .regexLiteralExpr, .keyPathExpr, .objcKeyPathExpr, .objcSelectorExpr, .macroExpansionExpr, .postfixIfConfigExpr, .editorPlaceholderExpr, .objectLiteralExpr: return true
69
69
default: return false
70
70
}
71
71
}
@@ -5363,161 +5363,6 @@ public struct RawKeyPathOptionalComponentSyntax: RawSyntaxNodeProtocol {
5363
5363
}
5364
5364
}
5365
5365
5366
- @_spi(RawSyntax)
5367
- public struct RawOldKeyPathExprSyntax: RawExprSyntaxNodeProtocol {
5368
- @frozen // FIXME: Not actually stable, works around a miscompile
5369
- public enum RootExpr: RawSyntaxNodeProtocol {
5370
- case `identifierExpr`(RawIdentifierExprSyntax)
5371
- case `specializeExpr`(RawSpecializeExprSyntax)
5372
- case `optionalChainingExpr`(RawOptionalChainingExprSyntax)
5373
-
5374
- public static func isKindOf(_ raw: RawSyntax) -> Bool {
5375
- return RawIdentifierExprSyntax.isKindOf(raw) || RawSpecializeExprSyntax.isKindOf(raw) || RawOptionalChainingExprSyntax.isKindOf(raw)
5376
- }
5377
-
5378
- public var raw: RawSyntax {
5379
- switch self {
5380
- case .identifierExpr(let node): return node.raw
5381
- case .specializeExpr(let node): return node.raw
5382
- case .optionalChainingExpr(let node): return node.raw
5383
- }
5384
- }
5385
-
5386
- public init?<T>(_ other: T) where T : RawSyntaxNodeProtocol {
5387
- if let node = RawIdentifierExprSyntax(other) {
5388
- self = .identifierExpr(node)
5389
- return
5390
- }
5391
- if let node = RawSpecializeExprSyntax(other) {
5392
- self = .specializeExpr(node)
5393
- return
5394
- }
5395
- if let node = RawOptionalChainingExprSyntax(other) {
5396
- self = .optionalChainingExpr(node)
5397
- return
5398
- }
5399
- return nil
5400
- }
5401
- }
5402
-
5403
-
5404
- @_spi(RawSyntax)
5405
- public var layoutView: RawSyntaxLayoutView {
5406
- return raw.layoutView!
5407
- }
5408
-
5409
- public static func isKindOf(_ raw: RawSyntax) -> Bool {
5410
- return raw.kind == .oldKeyPathExpr
5411
- }
5412
-
5413
- public var raw: RawSyntax
5414
- init(raw: RawSyntax) {
5415
- assert(Self.isKindOf(raw))
5416
- self.raw = raw
5417
- }
5418
-
5419
- public init?<Node: RawSyntaxNodeProtocol>(_ other: Node) {
5420
- guard Self.isKindOf(other.raw) else { return nil }
5421
- self.init(raw: other.raw)
5422
- }
5423
-
5424
- public init(
5425
- _ unexpectedBeforeBackslash: RawUnexpectedNodesSyntax? = nil,
5426
- backslash: RawTokenSyntax,
5427
- _ unexpectedBetweenBackslashAndRootExpr: RawUnexpectedNodesSyntax? = nil,
5428
- rootExpr: RootExpr?,
5429
- _ unexpectedBetweenRootExprAndExpression: RawUnexpectedNodesSyntax? = nil,
5430
- expression: RawExprSyntax,
5431
- _ unexpectedAfterExpression: RawUnexpectedNodesSyntax? = nil,
5432
- arena: __shared SyntaxArena
5433
- ) {
5434
- let raw = RawSyntax.makeLayout(
5435
- kind: .oldKeyPathExpr, uninitializedCount: 7, arena: arena) { layout in
5436
- layout.initialize(repeating: nil)
5437
- layout[0] = unexpectedBeforeBackslash?.raw
5438
- layout[1] = backslash.raw
5439
- layout[2] = unexpectedBetweenBackslashAndRootExpr?.raw
5440
- layout[3] = rootExpr?.raw
5441
- layout[4] = unexpectedBetweenRootExprAndExpression?.raw
5442
- layout[5] = expression.raw
5443
- layout[6] = unexpectedAfterExpression?.raw
5444
- }
5445
- self.init(raw: raw)
5446
- }
5447
-
5448
- public var unexpectedBeforeBackslash: RawUnexpectedNodesSyntax? {
5449
- layoutView.children[0].map(RawUnexpectedNodesSyntax.init(raw:))
5450
- }
5451
- public var backslash: RawTokenSyntax {
5452
- layoutView.children[1].map(RawTokenSyntax.init(raw:))!
5453
- }
5454
- public var unexpectedBetweenBackslashAndRootExpr: RawUnexpectedNodesSyntax? {
5455
- layoutView.children[2].map(RawUnexpectedNodesSyntax.init(raw:))
5456
- }
5457
- public var rootExpr: RawExprSyntax? {
5458
- layoutView.children[3].map(RawExprSyntax.init(raw:))
5459
- }
5460
- public var unexpectedBetweenRootExprAndExpression: RawUnexpectedNodesSyntax? {
5461
- layoutView.children[4].map(RawUnexpectedNodesSyntax.init(raw:))
5462
- }
5463
- public var expression: RawExprSyntax {
5464
- layoutView.children[5].map(RawExprSyntax.init(raw:))!
5465
- }
5466
- public var unexpectedAfterExpression: RawUnexpectedNodesSyntax? {
5467
- layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:))
5468
- }
5469
- }
5470
-
5471
- @_spi(RawSyntax)
5472
- public struct RawKeyPathBaseExprSyntax: RawExprSyntaxNodeProtocol {
5473
-
5474
- @_spi(RawSyntax)
5475
- public var layoutView: RawSyntaxLayoutView {
5476
- return raw.layoutView!
5477
- }
5478
-
5479
- public static func isKindOf(_ raw: RawSyntax) -> Bool {
5480
- return raw.kind == .keyPathBaseExpr
5481
- }
5482
-
5483
- public var raw: RawSyntax
5484
- init(raw: RawSyntax) {
5485
- assert(Self.isKindOf(raw))
5486
- self.raw = raw
5487
- }
5488
-
5489
- public init?<Node: RawSyntaxNodeProtocol>(_ other: Node) {
5490
- guard Self.isKindOf(other.raw) else { return nil }
5491
- self.init(raw: other.raw)
5492
- }
5493
-
5494
- public init(
5495
- _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax? = nil,
5496
- period: RawTokenSyntax,
5497
- _ unexpectedAfterPeriod: RawUnexpectedNodesSyntax? = nil,
5498
- arena: __shared SyntaxArena
5499
- ) {
5500
- let raw = RawSyntax.makeLayout(
5501
- kind: .keyPathBaseExpr, uninitializedCount: 3, arena: arena) { layout in
5502
- layout.initialize(repeating: nil)
5503
- layout[0] = unexpectedBeforePeriod?.raw
5504
- layout[1] = period.raw
5505
- layout[2] = unexpectedAfterPeriod?.raw
5506
- }
5507
- self.init(raw: raw)
5508
- }
5509
-
5510
- public var unexpectedBeforePeriod: RawUnexpectedNodesSyntax? {
5511
- layoutView.children[0].map(RawUnexpectedNodesSyntax.init(raw:))
5512
- }
5513
- public var period: RawTokenSyntax {
5514
- layoutView.children[1].map(RawTokenSyntax.init(raw:))!
5515
- }
5516
- public var unexpectedAfterPeriod: RawUnexpectedNodesSyntax? {
5517
- layoutView.children[2].map(RawUnexpectedNodesSyntax.init(raw:))
5518
- }
5519
- }
5520
-
5521
5366
@_spi(RawSyntax)
5522
5367
public struct RawObjcNamePieceSyntax: RawSyntaxNodeProtocol {
5523
5368
0 commit comments