diff --git a/CodeGeneration/Sources/SyntaxSupport/ExprNodes.swift b/CodeGeneration/Sources/SyntaxSupport/ExprNodes.swift index bbe76f8e776..1d75123631e 100644 --- a/CodeGeneration/Sources/SyntaxSupport/ExprNodes.swift +++ b/CodeGeneration/Sources/SyntaxSupport/ExprNodes.swift @@ -214,9 +214,8 @@ public let EXPR_NODES: [Node] = [ ), Node( - kind: .canImportExpr, + kind: ._canImportExpr, base: .expr, - deprecationMessage: "'canImport' directives are now represented as a `FunctionCallExpr`", nameForDiagnostics: "'canImport' expression", children: [ Child( @@ -233,7 +232,7 @@ public let EXPR_NODES: [Node] = [ ), Child( name: "versionInfo", - kind: .node(kind: .canImportVersionInfo), + kind: .node(kind: ._canImportVersionInfo), isOptional: true ), Child( @@ -244,9 +243,8 @@ public let EXPR_NODES: [Node] = [ ), Node( - kind: .canImportVersionInfo, + kind: ._canImportVersionInfo, base: .expr, - deprecationMessage: "'canImport' directives are now represented as a `FunctionCallExpr`", nameForDiagnostics: nil, children: [ Child( diff --git a/CodeGeneration/Sources/SyntaxSupport/Node.swift b/CodeGeneration/Sources/SyntaxSupport/Node.swift index ee3b3f5adfe..9c6dd5aa47d 100644 --- a/CodeGeneration/Sources/SyntaxSupport/Node.swift +++ b/CodeGeneration/Sources/SyntaxSupport/Node.swift @@ -40,9 +40,6 @@ public class Node { /// The kind of node’s supertype. This kind must have `isBase == true` public let base: SyntaxNodeKind - /// If this syntax node has been deprecated, a message that describes the deprecation. - public let deprecationMessage: String? - /// The experimental feature the node is part of, or `nil` if this isn't /// for an experimental feature. public let experimentalFeature: ExperimentalFeature? @@ -109,9 +106,6 @@ public class Node { """ experimentalSPI.with(\.trailingTrivia, .newline) } - if let deprecationMessage { - "@available(*, deprecated, message: \(literal: deprecationMessage))" - } if forRaw { "@_spi(RawSyntax)" } @@ -133,7 +127,6 @@ public class Node { init( kind: SyntaxNodeKind, base: SyntaxNodeKind, - deprecationMessage: String? = nil, experimentalFeature: ExperimentalFeature? = nil, nameForDiagnostics: String?, documentation: String? = nil, @@ -146,7 +139,6 @@ public class Node { self.kind = kind self.base = base - self.deprecationMessage = deprecationMessage self.experimentalFeature = experimentalFeature self.nameForDiagnostics = nameForDiagnostics self.documentation = SwiftSyntax.Trivia.docCommentTrivia(from: documentation) @@ -241,7 +233,11 @@ public class Node { // This will repeat the syntax type before and after the dot, which is // a little unfortunate, but it's the only way I found to get docc to // generate a fully-qualified type + member. - return " - \($0.node.doccLink).``\($0.node.syntaxType)/\(childName)``" + if $0.node.isAvailableInDocc { + return " - \($0.node.doccLink).``\($0.node.syntaxType)/\(childName)``" + } else { + return " - \($0.node.doccLink).`\($0.node.syntaxType)/\(childName)`" + } } else { return " - \($0.node.doccLink)" } @@ -265,7 +261,7 @@ public class Node { let list = SYNTAX_NODES - .filter { $0.base == self.kind && !$0.isExperimental } + .filter { $0.base == self.kind && !$0.isExperimental && !$0.kind.isDeprecated } .map { "- \($0.kind.doccLink)" } .joined(separator: "\n") @@ -288,7 +284,6 @@ public class Node { init( kind: SyntaxNodeKind, base: SyntaxNodeKind, - deprecationMessage: String? = nil, experimentalFeature: ExperimentalFeature? = nil, nameForDiagnostics: String?, documentation: String? = nil, @@ -298,7 +293,6 @@ public class Node { self.kind = kind precondition(base == .syntaxCollection) self.base = base - self.deprecationMessage = deprecationMessage self.experimentalFeature = experimentalFeature self.nameForDiagnostics = nameForDiagnostics self.documentation = SwiftSyntax.Trivia.docCommentTrivia(from: documentation) diff --git a/CodeGeneration/Sources/SyntaxSupport/String+Extensions.swift b/CodeGeneration/Sources/SyntaxSupport/String+Extensions.swift index 93884aa0e35..32d7b32809a 100644 --- a/CodeGeneration/Sources/SyntaxSupport/String+Extensions.swift +++ b/CodeGeneration/Sources/SyntaxSupport/String+Extensions.swift @@ -11,8 +11,18 @@ //===----------------------------------------------------------------------===// public extension StringProtocol { - var withFirstCharacterLowercased: String { prefix(1).lowercased() + dropFirst() } - var withFirstCharacterUppercased: String { prefix(1).uppercased() + dropFirst() } + var withFirstCharacterLowercased: String { + guard first?.isLetter ?? false else { + return String(first!) + dropFirst().withFirstCharacterLowercased + } + return prefix(1).lowercased() + dropFirst() + } + var withFirstCharacterUppercased: String { + guard first?.isLetter ?? false else { + return String(first!) + dropFirst().withFirstCharacterUppercased + } + return prefix(1).uppercased() + dropFirst() + } var backtickedIfNeeded: String { if Keyword.allCases.map(\.spec).contains(where: { $0.name == self && ($0.isLexerClassified || $0.name == "Type" || $0.name == "Protocol") @@ -23,3 +33,12 @@ public extension StringProtocol { } } } + +extension String { + public var droppingLeadingUnderscores: String { + if first == "_" { + return String(self.dropFirst()) + } + return self + } +} diff --git a/CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift b/CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift index 5ea26147675..3c460095a91 100644 --- a/CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift +++ b/CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift @@ -20,6 +20,8 @@ import SwiftSyntaxBuilder public enum SyntaxNodeKind: String, CaseIterable { // Please keep this list sorted alphabetically + case _canImportExpr + case _canImportVersionInfo case accessorBlock case accessorDecl case accessorDeclList @@ -47,8 +49,6 @@ public enum SyntaxNodeKind: String, CaseIterable { case booleanLiteralExpr case borrowExpr case breakStmt - case canImportExpr - case canImportVersionInfo case catchClause case catchClauseList case catchItem @@ -355,14 +355,25 @@ public enum SyntaxNodeKind: String, CaseIterable { } } + /// Whether the node is public API and not underscored/deprecated and can thus be referenced in docc links. + public var isAvailableInDocc: Bool { + if let node = SYNTAX_NODE_MAP[self], node.isExperimental { + return false + } else if isDeprecated { + return false + } else { + return true + } + } + /// If this node is non-experimental a docc link wrapped in two backticks. /// /// For experimental nodes, the node's type name in code font. public var doccLink: String { - if let node = SYNTAX_NODE_MAP[self], node.isExperimental { - return "`\(syntaxType)`" - } else { + if isAvailableInDocc { return "``\(syntaxType)``" + } else { + return "`\(syntaxType)`" } } @@ -405,6 +416,8 @@ public enum SyntaxNodeKind: String, CaseIterable { /// deprecated. public var deprecatedRawValue: String? { switch self { + case ._canImportExpr: return "canImportExpr" + case ._canImportVersionInfo: return "canImportVersionInfo" case .accessorDeclList: return "accessorList" case .accessorParameters: return "accessorParameter" case .associatedTypeDecl: return "associatedtypeDecl" @@ -475,4 +488,24 @@ public enum SyntaxNodeKind: String, CaseIterable { default: return nil } } + + public var deprecationMessage: String? { + switch self { + case ._canImportExpr: return "'canImport' directives are now represented as a `FunctionCallExpr`" + case ._canImportVersionInfo: return "'canImport' directives are now represented as a `FunctionCallExpr`" + default: return nil + } + } + + public var isDeprecated: Bool { + return rawValue.first == "_" + } + + var deprecationAttribute: AttributeSyntax? { + if let deprecationMessage = deprecationMessage { + AttributeSyntax("@available(*, deprecated, message: \(literal: deprecationMessage)") + } else { + AttributeSyntax(#"@available(*, deprecated, renamed: "\#(syntaxType)")"#) + } + } } diff --git a/CodeGeneration/Sources/SyntaxSupport/SyntaxNodes.swift b/CodeGeneration/Sources/SyntaxSupport/SyntaxNodes.swift index f06a97fa329..3987c07cbfc 100644 --- a/CodeGeneration/Sources/SyntaxSupport/SyntaxNodes.swift +++ b/CodeGeneration/Sources/SyntaxSupport/SyntaxNodes.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -public let SYNTAX_NODES: [Node] = - (COMMON_NODES +private let unsortedSyntaxNodes: [Node] = + COMMON_NODES + EXPR_NODES + DECL_NODES + ATTRIBUTE_NODES @@ -19,7 +19,15 @@ public let SYNTAX_NODES: [Node] = + GENERIC_NODES + TYPE_NODES + PATTERN_NODES - + AVAILABILITY_NODES).sorted { $0.kind.syntaxType.description < $1.kind.syntaxType.description } + + AVAILABILITY_NODES + +public let SYNTAX_NODES: [Node] = + unsortedSyntaxNodes + .sorted { (lhs: Node, rhs: Node) -> Bool in + let lhsSortKey = lhs.kind.syntaxType.description.droppingLeadingUnderscores + let rhsSortKey = rhs.kind.syntaxType.description.droppingLeadingUnderscores + return lhsSortKey < rhsSortKey + } /// A lookup table of nodes indexed by their kind. public let SYNTAX_NODE_MAP: [SyntaxNodeKind: Node] = Dictionary( diff --git a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RawSyntaxNodesFile.swift b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RawSyntaxNodesFile.swift index 18f72a77a4a..60d9aeb0c52 100644 --- a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RawSyntaxNodesFile.swift +++ b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RawSyntaxNodesFile.swift @@ -42,7 +42,10 @@ fileprivate extension Node { func rawSyntaxNodesFile(nodesStartingWith: [Character]) -> SourceFileSyntax { return SourceFileSyntax(leadingTrivia: copyrightHeader) { for node in SYNTAX_NODES - where node.kind.isBase && nodesStartingWith.contains(node.kind.syntaxType.description.first!) { + where node.kind.isBase + && nodesStartingWith.contains(node.kind.syntaxType.description.droppingLeadingUnderscores.first!) + && !node.kind.isDeprecated + { DeclSyntax( """ \(node.apiAttributes(forRaw: true))\ @@ -51,7 +54,8 @@ func rawSyntaxNodesFile(nodesStartingWith: [Character]) -> SourceFileSyntax { ) } - for node in SYNTAX_NODES where nodesStartingWith.contains(node.kind.syntaxType.description.first!) { + for node in SYNTAX_NODES + where nodesStartingWith.contains(node.kind.syntaxType.description.droppingLeadingUnderscores.first!) { try! StructDeclSyntax( """ \(node.apiAttributes(forRaw: true))\ diff --git a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RenamedSyntaxNodesFile.swift b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RenamedSyntaxNodesFile.swift index ff1edd72331..02c1f9ce1b7 100644 --- a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RenamedSyntaxNodesFile.swift +++ b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RenamedSyntaxNodesFile.swift @@ -15,12 +15,19 @@ import SwiftSyntaxBuilder import SyntaxSupport import Utils +func deprecationAttribute(for syntaxKind: SyntaxNodeKind) -> AttributeSyntax { + if let deprecationMessage = syntaxKind.deprecationMessage { + return AttributeSyntax("@available(*, deprecated, message: \(literal: deprecationMessage))") + } + return AttributeSyntax(#"@available(*, deprecated, renamed: "\#(syntaxKind.syntaxType)")"#) +} + let renamedSyntaxNodesFile = SourceFileSyntax(leadingTrivia: copyrightHeader) { for syntaxKind in SyntaxNodeKind.allCases.sorted(by: { $0.deprecatedRawValue ?? "" < $1.deprecatedRawValue ?? "" }) { if let deprecatedName = syntaxKind.deprecatedRawValue { DeclSyntax( """ - @available(*, deprecated, renamed: "\(syntaxKind.syntaxType)") + \(deprecationAttribute(for: syntaxKind)) public typealias \(raw: deprecatedName.withFirstCharacterUppercased)Syntax = \(syntaxKind.syntaxType) """ ) @@ -33,6 +40,7 @@ let renamedSyntaxNodesFile = SourceFileSyntax(leadingTrivia: copyrightHeader) { if let deprecatedName = syntaxKind.deprecatedRawValue { DeclSyntax( """ + \(deprecationAttribute(for: syntaxKind)) static var \(raw: deprecatedName): Self { return .\(syntaxKind.varOrCaseName) } diff --git a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SwiftSyntaxDoccIndex.swift b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SwiftSyntaxDoccIndex.swift index 69c4282b85f..d81e1b11ca3 100644 --- a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SwiftSyntaxDoccIndex.swift +++ b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SwiftSyntaxDoccIndex.swift @@ -39,7 +39,7 @@ let nodesSections: String = { let baseTypes = ["\(baseKind.syntaxType)", "\(baseKind.syntaxType)Protocol", "Missing\(baseKind.syntaxType)"] let leafTypes = SYNTAX_NODES - .filter({ $0.base == baseKind && !$0.kind.isMissing && !$0.isExperimental }) + .filter({ $0.base == baseKind && !$0.kind.isMissing && !$0.isExperimental && !$0.kind.isDeprecated }) .map(\.kind.syntaxType.description) addSection(heading: heading, types: baseTypes + leafTypes) } @@ -56,7 +56,7 @@ let nodesSections: String = { } return [node.kind.syntaxType.description] + node.elementChoices - .filter { SYNTAX_NODE_MAP[$0] != nil && !SYNTAX_NODE_MAP[$0]!.isExperimental } + .filter { SYNTAX_NODE_MAP[$0] != nil && !SYNTAX_NODE_MAP[$0]!.isExperimental && !$0.isDeprecated } .map(\.syntaxType.description) .filter { !handledSyntaxTypes.contains($0) } }) @@ -64,14 +64,16 @@ let nodesSections: String = { addSection( heading: "Attributes", - types: ATTRIBUTE_NODES.filter({ !$0.isExperimental }).map(\.kind.syntaxType.description).sorted() + types: ATTRIBUTE_NODES.filter({ !$0.isExperimental && !$0.kind.isDeprecated }).map(\.kind.syntaxType.description) + .sorted() ) addSection( heading: "Miscellaneous Syntax", - types: SYNTAX_NODES.filter({ !$0.isExperimental }).map(\.kind.syntaxType.description).filter({ - !handledSyntaxTypes.contains($0) - }) + types: SYNTAX_NODES.filter({ !$0.isExperimental && !$0.kind.isDeprecated }).map(\.kind.syntaxType.description) + .filter({ + !handledSyntaxTypes.contains($0) + }) ) addSection(heading: "Traits", types: TRAITS.map { "\($0.protocolName)" }) diff --git a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxNodesFile.swift b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxNodesFile.swift index ca435890dbb..f983a49ed9f 100644 --- a/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxNodesFile.swift +++ b/CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxNodesFile.swift @@ -22,7 +22,7 @@ import Utils func syntaxNode(nodesStartingWith: [Character]) -> SourceFileSyntax { SourceFileSyntax(leadingTrivia: copyrightHeader) { for node in SYNTAX_NODES.compactMap(\.layoutNode) - where nodesStartingWith.contains(node.kind.syntaxType.description.first!) { + where nodesStartingWith.contains(node.kind.syntaxType.description.droppingLeadingUnderscores.first!) { // We are actually handling this node now try! StructDeclSyntax( """ diff --git a/CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift b/CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift index 49028b06247..3517829854d 100644 --- a/CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift +++ b/CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift @@ -136,7 +136,7 @@ class ValidateSyntaxNodes: XCTestCase { failures, expectedFailures: [ ValidationFailure( - node: .canImportVersionInfo, + node: ._canImportVersionInfo, message: "has base kind 'ExprSyntax' but type name doesn’t have 'ExprSyntax' suffix" ), ValidationFailure( @@ -535,7 +535,7 @@ class ValidateSyntaxNodes: XCTestCase { expectedFailures: [ ValidationFailure(node: .accessorParameters, message: "could conform to trait 'NamedDecl' but does not"), ValidationFailure(node: .availabilityCondition, message: "could conform to trait 'Parenthesized' but does not"), - ValidationFailure(node: .canImportExpr, message: "could conform to trait 'Parenthesized' but does not"), + ValidationFailure(node: ._canImportExpr, message: "could conform to trait 'Parenthesized' but does not"), ValidationFailure( node: .differentiabilityArguments, message: "could conform to trait 'Parenthesized' but does not" diff --git a/Sources/SwiftBasicFormat/BasicFormat.swift b/Sources/SwiftBasicFormat/BasicFormat.swift index b1449e05650..e94bae99910 100644 --- a/Sources/SwiftBasicFormat/BasicFormat.swift +++ b/Sources/SwiftBasicFormat/BasicFormat.swift @@ -148,7 +148,7 @@ open class BasicFormat: SyntaxRewriter { return true case .ifConfigClauseList: return true - case .memberDeclList: + case .memberBlockItemList: return true case .switchCaseList: return true diff --git a/Sources/SwiftParser/Declarations.swift b/Sources/SwiftParser/Declarations.swift index b55038af2b7..d0f172b2ee9 100644 --- a/Sources/SwiftParser/Declarations.swift +++ b/Sources/SwiftParser/Declarations.swift @@ -711,7 +711,7 @@ extension Parser { extension Parser { mutating func parseMemberBlockItem() -> RawMemberBlockItemSyntax? { let startToken = self.currentToken - if let syntax = self.loadCurrentSyntaxNodeFromCache(for: .memberDeclListItem) { + if let syntax = self.loadCurrentSyntaxNodeFromCache(for: .memberBlockItem) { self.registerNodeForIncrementalParse(node: syntax.raw, startToken: startToken) return RawMemberBlockItemSyntax(syntax.raw) } diff --git a/Sources/SwiftParser/generated/Parser+TokenSpecSet.swift b/Sources/SwiftParser/generated/Parser+TokenSpecSet.swift index 2667d7dd55f..02e91851066 100644 --- a/Sources/SwiftParser/generated/Parser+TokenSpecSet.swift +++ b/Sources/SwiftParser/generated/Parser+TokenSpecSet.swift @@ -404,7 +404,7 @@ extension BooleanLiteralExprSyntax { } } -extension CanImportVersionInfoSyntax { +extension _CanImportVersionInfoSyntax { @_spi(Diagnostics) public enum LabelOptions: TokenSpecSet { case _version diff --git a/Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift b/Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift index 8b2ccf9935c..4ecbb908412 100644 --- a/Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift +++ b/Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift @@ -61,7 +61,7 @@ extension SyntaxKind { return "'_borrow' expression" case .breakStmt: return "'break' statement" - case .canImportExpr: + case ._canImportExpr: return "'canImport' expression" case .catchClauseList: return "'catch' clause" diff --git a/Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md b/Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md index 3ffec83b129..b43846641b6 100644 --- a/Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md +++ b/Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md @@ -102,8 +102,6 @@ These articles are intended for developers wishing to contribute to SwiftSyntax - - - -- -- - - - diff --git a/Sources/SwiftSyntax/Syntax.swift b/Sources/SwiftSyntax/Syntax.swift index 5763510ab8b..5e9ad2cd13e 100644 --- a/Sources/SwiftSyntax/Syntax.swift +++ b/Sources/SwiftSyntax/Syntax.swift @@ -46,7 +46,11 @@ public struct Syntax: SyntaxProtocol, SyntaxHashable { /// - Important: Must only be set to `nil` when `Syntax.Info` is used in a memory recycling pool /// (eg. in `SyntaxVisitor`). In that case the `Syntax.Info` is considered garbage memory that can be re-used /// later. `info` needs to be set to a real value when `Syntax.Info` is recycled from the memory recycling pool. + #if compiler(>=6.0) + nonisolated(unsafe) var info: InfoImpl! + #else var info: InfoImpl! + #endif } /// Reference to the node's parent or, if this node is the root of a tree, a reference to the `SyntaxArena` to keep diff --git a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift index b2666dca2a3..e1f8944716c 100644 --- a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift +++ b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift @@ -351,45 +351,45 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "label" case \BreakStmtSyntax.unexpectedAfterLabel: return "unexpectedAfterLabel" - case \CanImportExprSyntax.unexpectedBeforeCanImportKeyword: + case \_CanImportExprSyntax.unexpectedBeforeCanImportKeyword: return "unexpectedBeforeCanImportKeyword" - case \CanImportExprSyntax.canImportKeyword: + case \_CanImportExprSyntax.canImportKeyword: return "canImportKeyword" - case \CanImportExprSyntax.unexpectedBetweenCanImportKeywordAndLeftParen: + case \_CanImportExprSyntax.unexpectedBetweenCanImportKeywordAndLeftParen: return "unexpectedBetweenCanImportKeywordAndLeftParen" - case \CanImportExprSyntax.leftParen: + case \_CanImportExprSyntax.leftParen: return "leftParen" - case \CanImportExprSyntax.unexpectedBetweenLeftParenAndImportPath: + case \_CanImportExprSyntax.unexpectedBetweenLeftParenAndImportPath: return "unexpectedBetweenLeftParenAndImportPath" - case \CanImportExprSyntax.importPath: + case \_CanImportExprSyntax.importPath: return "importPath" - case \CanImportExprSyntax.unexpectedBetweenImportPathAndVersionInfo: + case \_CanImportExprSyntax.unexpectedBetweenImportPathAndVersionInfo: return "unexpectedBetweenImportPathAndVersionInfo" - case \CanImportExprSyntax.versionInfo: + case \_CanImportExprSyntax.versionInfo: return "versionInfo" - case \CanImportExprSyntax.unexpectedBetweenVersionInfoAndRightParen: + case \_CanImportExprSyntax.unexpectedBetweenVersionInfoAndRightParen: return "unexpectedBetweenVersionInfoAndRightParen" - case \CanImportExprSyntax.rightParen: + case \_CanImportExprSyntax.rightParen: return "rightParen" - case \CanImportExprSyntax.unexpectedAfterRightParen: + case \_CanImportExprSyntax.unexpectedAfterRightParen: return "unexpectedAfterRightParen" - case \CanImportVersionInfoSyntax.unexpectedBeforeComma: + case \_CanImportVersionInfoSyntax.unexpectedBeforeComma: return "unexpectedBeforeComma" - case \CanImportVersionInfoSyntax.comma: + case \_CanImportVersionInfoSyntax.comma: return "comma" - case \CanImportVersionInfoSyntax.unexpectedBetweenCommaAndLabel: + case \_CanImportVersionInfoSyntax.unexpectedBetweenCommaAndLabel: return "unexpectedBetweenCommaAndLabel" - case \CanImportVersionInfoSyntax.label: + case \_CanImportVersionInfoSyntax.label: return "label" - case \CanImportVersionInfoSyntax.unexpectedBetweenLabelAndColon: + case \_CanImportVersionInfoSyntax.unexpectedBetweenLabelAndColon: return "unexpectedBetweenLabelAndColon" - case \CanImportVersionInfoSyntax.colon: + case \_CanImportVersionInfoSyntax.colon: return "colon" - case \CanImportVersionInfoSyntax.unexpectedBetweenColonAndVersion: + case \_CanImportVersionInfoSyntax.unexpectedBetweenColonAndVersion: return "unexpectedBetweenColonAndVersion" - case \CanImportVersionInfoSyntax.version: + case \_CanImportVersionInfoSyntax.version: return "version" - case \CanImportVersionInfoSyntax.unexpectedAfterVersion: + case \_CanImportVersionInfoSyntax.unexpectedAfterVersion: return "unexpectedAfterVersion" case \CatchClauseSyntax.unexpectedBeforeCatchKeyword: return "unexpectedBeforeCatchKeyword" diff --git a/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift b/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift index 8046f48d3a2..c798061a9e6 100644 --- a/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift +++ b/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift @@ -1025,7 +1025,7 @@ extension BooleanLiteralExprSyntax { } } -extension CanImportVersionInfoSyntax { +extension _CanImportVersionInfoSyntax { @available(*, deprecated, renamed: "unexpectedBetweenColonAndVersion") public var unexpectedBetweenColonAndVersionTuple: UnexpectedNodesSyntax? { get { @@ -1056,7 +1056,7 @@ extension CanImportVersionInfoSyntax { } } - @available(*, deprecated, renamed: "CanImportVersionInfoSyntax(leadingTrivia:_:comma:_:label:_:colon:_:version:_:trailingTrivia:)") + @available(*, deprecated, renamed: "_CanImportVersionInfoSyntax(leadingTrivia:_:comma:_:label:_:colon:_:version:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, diff --git a/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift b/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift index 9fc7d663ee4..5af3045b1ed 100644 --- a/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift +++ b/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift @@ -45,6 +45,12 @@ public typealias AvailabilityVersionRestrictionListEntrySyntax = PlatformVersion @available(*, deprecated, renamed: "BackDeployedAttributeArgumentsSyntax") public typealias BackDeployedAttributeSpecListSyntax = BackDeployedAttributeArgumentsSyntax +@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") +public typealias CanImportExprSyntax = _CanImportExprSyntax + +@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") +public typealias CanImportVersionInfoSyntax = _CanImportVersionInfoSyntax + @available(*, deprecated, renamed: "SwitchCaseItemSyntax") public typealias CaseItemSyntax = SwitchCaseItemSyntax @@ -214,270 +220,347 @@ public typealias YieldExprListElementSyntax = YieldedExpressionSyntax public typealias YieldListSyntax = YieldedExpressionsClauseSyntax public extension SyntaxKind { + @available(*, deprecated, renamed: "ImportPathComponentListSyntax") static var accessPath: Self { return .importPathComponentList } + @available(*, deprecated, renamed: "ImportPathComponentSyntax") static var accessPathComponent: Self { return .importPathComponent } + @available(*, deprecated, renamed: "AccessorDeclListSyntax") static var accessorList: Self { return .accessorDeclList } + @available(*, deprecated, renamed: "AccessorParametersSyntax") static var accessorParameter: Self { return .accessorParameters } + @available(*, deprecated, renamed: "AssociatedTypeDeclSyntax") static var associatedtypeDecl: Self { return .associatedTypeDecl } + @available(*, deprecated, renamed: "SpecializeAvailabilityArgumentSyntax") static var availabilityEntry: Self { return .specializeAvailabilityArgument } + @available(*, deprecated, renamed: "AvailabilityArgumentListSyntax") static var availabilitySpecList: Self { return .availabilityArgumentList } + @available(*, deprecated, renamed: "PlatformVersionSyntax") static var availabilityVersionRestriction: Self { return .platformVersion } + @available(*, deprecated, renamed: "PlatformVersionItemListSyntax") static var availabilityVersionRestrictionList: Self { return .platformVersionItemList } + @available(*, deprecated, renamed: "PlatformVersionItemSyntax") static var availabilityVersionRestrictionListEntry: Self { return .platformVersionItem } + @available(*, deprecated, renamed: "BackDeployedAttributeArgumentsSyntax") static var backDeployedAttributeSpecList: Self { return .backDeployedAttributeArguments } + @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") + static var canImportExpr: Self { + return ._canImportExpr + } + + @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") + static var canImportVersionInfo: Self { + return ._canImportVersionInfo + } + + @available(*, deprecated, renamed: "SwitchCaseItemSyntax") static var caseItem: Self { return .switchCaseItem } + @available(*, deprecated, renamed: "SwitchCaseItemListSyntax") static var caseItemList: Self { return .switchCaseItemList } + @available(*, deprecated, renamed: "ClosureCaptureSyntax") static var closureCaptureItem: Self { return .closureCapture } + @available(*, deprecated, renamed: "ClosureCaptureListSyntax") static var closureCaptureItemList: Self { return .closureCaptureList } + @available(*, deprecated, renamed: "ClosureCaptureSpecifierSyntax") static var closureCaptureItemSpecifier: Self { return .closureCaptureSpecifier } + @available(*, deprecated, renamed: "ClosureCaptureClauseSyntax") static var closureCaptureSignature: Self { return .closureCaptureClause } + @available(*, deprecated, renamed: "ClosureShorthandParameterSyntax") static var closureParam: Self { return .closureShorthandParameter } + @available(*, deprecated, renamed: "ClosureShorthandParameterListSyntax") static var closureParamList: Self { return .closureShorthandParameterList } + @available(*, deprecated, renamed: "SomeOrAnyTypeSyntax") static var constrainedSugarType: Self { return .someOrAnyType } + @available(*, deprecated, renamed: "DeinitializerEffectSpecifiersSyntax") static var deinitEffectSpecifiers: Self { return .deinitializerEffectSpecifiers } + @available(*, deprecated, renamed: "DerivativeAttributeArgumentsSyntax") static var derivativeRegistrationAttributeArguments: Self { return .derivativeAttributeArguments } + @available(*, deprecated, renamed: "DesignatedTypeSyntax") static var designatedTypeElement: Self { return .designatedType } + @available(*, deprecated, renamed: "DifferentiabilityArgumentSyntax") static var differentiabilityParam: Self { return .differentiabilityArgument } + @available(*, deprecated, renamed: "DifferentiabilityArgumentListSyntax") static var differentiabilityParamList: Self { return .differentiabilityArgumentList } + @available(*, deprecated, renamed: "DifferentiabilityArgumentsSyntax") static var differentiabilityParams: Self { return .differentiabilityArguments } + @available(*, deprecated, renamed: "DifferentiabilityWithRespectToArgumentSyntax") static var differentiabilityParamsClause: Self { return .differentiabilityWithRespectToArgument } + @available(*, deprecated, renamed: "DocumentationAttributeArgumentListSyntax") static var documentationAttributeArguments: Self { return .documentationAttributeArgumentList } + @available(*, deprecated, renamed: "DynamicReplacementAttributeArgumentsSyntax") static var dynamicReplacementArguments: Self { return .dynamicReplacementAttributeArguments } + @available(*, deprecated, renamed: "EffectsAttributeArgumentListSyntax") static var effectsArguments: Self { return .effectsAttributeArgumentList } + @available(*, deprecated, renamed: "EnumCaseParameterClauseSyntax") static var enumCaseAssociatedValue: Self { return .enumCaseParameterClause } + @available(*, deprecated, renamed: "FallThroughStmtSyntax") static var fallthroughStmt: Self { return .fallThroughStmt } + @available(*, deprecated, renamed: "ForStmtSyntax") static var forInStmt: Self { return .forStmt } + @available(*, deprecated, renamed: "ForceUnwrapExprSyntax") static var forcedValueExpr: Self { return .forceUnwrapExpr } + @available(*, deprecated, renamed: "DeclReferenceExprSyntax") static var identifierExpr: Self { return .declReferenceExpr } + @available(*, deprecated, renamed: "LabeledSpecializeArgumentSyntax") static var labeledSpecializeEntry: Self { return .labeledSpecializeArgument } + @available(*, deprecated, renamed: "MemberBlockSyntax") static var memberDeclBlock: Self { return .memberBlock } + @available(*, deprecated, renamed: "MemberBlockItemListSyntax") static var memberDeclList: Self { return .memberBlockItemList } + @available(*, deprecated, renamed: "MemberBlockItemSyntax") static var memberDeclListItem: Self { return .memberBlockItem } + @available(*, deprecated, renamed: "MemberTypeSyntax") static var memberTypeIdentifier: Self { return .memberType } + @available(*, deprecated, renamed: "DeclModifierListSyntax") static var modifierList: Self { return .declModifierList } + @available(*, deprecated, renamed: "ConsumeExprSyntax") static var moveExpr: Self { return .consumeExpr } + @available(*, deprecated, renamed: "ObjCSelectorPieceListSyntax") static var objCSelector: Self { return .objCSelectorPieceList } + @available(*, deprecated, renamed: "OriginallyDefinedInAttributeArgumentsSyntax") static var originallyDefinedInArguments: Self { return .originallyDefinedInAttributeArguments } + @available(*, deprecated, renamed: "PackElementTypeSyntax") static var packReferenceType: Self { return .packElementType } + @available(*, deprecated, renamed: "FunctionParameterClauseSyntax") static var parameterClause: Self { return .functionParameterClause } + @available(*, deprecated, renamed: "PostfixOperatorExprSyntax") static var postfixUnaryExpr: Self { return .postfixOperatorExpr } + @available(*, deprecated, renamed: "PoundSourceLocationArgumentsSyntax") static var poundSourceLocationArgs: Self { return .poundSourceLocationArguments } + @available(*, deprecated, renamed: "PrecedenceGroupNameSyntax") static var precedenceGroupNameElement: Self { return .precedenceGroupName } + @available(*, deprecated, renamed: "RepeatStmtSyntax") static var repeatWhileStmt: Self { return .repeatStmt } + @available(*, deprecated, renamed: "IdentifierTypeSyntax") static var simpleTypeIdentifier: Self { return .identifierType } + @available(*, deprecated, renamed: "SpecializeAttributeArgumentListSyntax") static var specializeAttributeSpecList: Self { return .specializeAttributeArgumentList } + @available(*, deprecated, renamed: "GenericSpecializationExprSyntax") static var specializeExpr: Self { return .genericSpecializationExpr } + @available(*, deprecated, renamed: "StringLiteralSegmentListSyntax") static var stringLiteralSegments: Self { return .stringLiteralSegmentList } + @available(*, deprecated, renamed: "SubscriptCallExprSyntax") static var subscriptExpr: Self { return .subscriptCallExpr } + @available(*, deprecated, renamed: "SuperExprSyntax") static var superRefExpr: Self { return .superExpr } + @available(*, deprecated, renamed: "SpecializeTargetFunctionArgumentSyntax") static var targetFunctionEntry: Self { return .specializeTargetFunctionArgument } + @available(*, deprecated, renamed: "LabeledExprSyntax") static var tupleExprElement: Self { return .labeledExpr } + @available(*, deprecated, renamed: "LabeledExprListSyntax") static var tupleExprElementList: Self { return .labeledExprList } + @available(*, deprecated, renamed: "InheritanceClauseSyntax") static var typeInheritanceClause: Self { return .inheritanceClause } + @available(*, deprecated, renamed: "SimpleTypeSpecifierSyntax") static var typeSpecifier: Self { return .simpleTypeSpecifier } + @available(*, deprecated, renamed: "TypeAliasDeclSyntax") static var typealiasDecl: Self { return .typeAliasDecl } + @available(*, deprecated, renamed: "UnavailableFromAsyncAttributeArgumentsSyntax") static var unavailableFromAsyncArguments: Self { return .unavailableFromAsyncAttributeArguments } + @available(*, deprecated, renamed: "PatternExprSyntax") static var unresolvedPatternExpr: Self { return .patternExpr } + @available(*, deprecated, renamed: "YieldedExpressionListSyntax") static var yieldExprList: Self { return .yieldedExpressionList } + @available(*, deprecated, renamed: "YieldedExpressionSyntax") static var yieldExprListElement: Self { return .yieldedExpression } + @available(*, deprecated, renamed: "YieldedExpressionsClauseSyntax") static var yieldList: Self { return .yieldedExpressionsClause } diff --git a/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift b/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift index 17eb0b51b3e..1448f184b35 100644 --- a/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift +++ b/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift @@ -272,23 +272,19 @@ open class SyntaxAnyVisitor: SyntaxVisitor { visitAnyPost(node._syntaxNode) } - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - override open func visit(_ node: CanImportExprSyntax) -> SyntaxVisitorContinueKind { + override open func visit(_ node: _CanImportExprSyntax) -> SyntaxVisitorContinueKind { return visitAny(node._syntaxNode) } - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - override open func visitPost(_ node: CanImportExprSyntax) { + override open func visitPost(_ node: _CanImportExprSyntax) { visitAnyPost(node._syntaxNode) } - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - override open func visit(_ node: CanImportVersionInfoSyntax) -> SyntaxVisitorContinueKind { + override open func visit(_ node: _CanImportVersionInfoSyntax) -> SyntaxVisitorContinueKind { return visitAny(node._syntaxNode) } - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - override open func visitPost(_ node: CanImportVersionInfoSyntax) { + override open func visitPost(_ node: _CanImportVersionInfoSyntax) { visitAnyPost(node._syntaxNode) } diff --git a/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift b/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift index 7ff75ce92c4..0628f2bae36 100644 --- a/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift +++ b/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift @@ -464,8 +464,6 @@ public extension Syntax { /// - ``BinaryOperatorExprSyntax`` /// - ``BooleanLiteralExprSyntax`` /// - ``BorrowExprSyntax`` -/// - ``CanImportExprSyntax`` -/// - ``CanImportVersionInfoSyntax`` /// - ``ClosureExprSyntax`` /// - ``ConsumeExprSyntax`` /// - ``CopyExprSyntax`` @@ -544,7 +542,7 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable { public init?(_ node: some SyntaxProtocol) { switch node.raw.kind { - case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, .canImportExpr, .canImportVersionInfo, .closureExpr, .consumeExpr, .copyExpr, .declReferenceExpr, .dictionaryExpr, .discardAssignmentExpr, .doExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forceUnwrapExpr, .functionCallExpr, .genericSpecializationExpr, .ifExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .packExpansionExpr, .patternExpr, .postfixIfConfigExpr, .postfixOperatorExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .simpleStringLiteralExpr, .stringLiteralExpr, .subscriptCallExpr, .superExpr, .switchExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedTernaryExpr: + case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, ._canImportExpr, ._canImportVersionInfo, .closureExpr, .consumeExpr, .copyExpr, .declReferenceExpr, .dictionaryExpr, .discardAssignmentExpr, .doExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forceUnwrapExpr, .functionCallExpr, .genericSpecializationExpr, .ifExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .packExpansionExpr, .patternExpr, .postfixIfConfigExpr, .postfixOperatorExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .simpleStringLiteralExpr, .stringLiteralExpr, .subscriptCallExpr, .superExpr, .switchExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedTernaryExpr: self._syntaxNode = node._syntaxNode default: return nil @@ -577,8 +575,8 @@ public struct ExprSyntax: ExprSyntaxProtocol, SyntaxHashable { .node(BinaryOperatorExprSyntax.self), .node(BooleanLiteralExprSyntax.self), .node(BorrowExprSyntax.self), - .node(CanImportExprSyntax.self), - .node(CanImportVersionInfoSyntax.self), + .node(_CanImportExprSyntax.self), + .node(_CanImportVersionInfoSyntax.self), .node(ClosureExprSyntax.self), .node(ConsumeExprSyntax.self), .node(CopyExprSyntax.self), @@ -1546,8 +1544,8 @@ extension Syntax { .node(BooleanLiteralExprSyntax.self), .node(BorrowExprSyntax.self), .node(BreakStmtSyntax.self), - .node(CanImportExprSyntax.self), - .node(CanImportVersionInfoSyntax.self), + .node(_CanImportExprSyntax.self), + .node(_CanImportVersionInfoSyntax.self), .node(CatchClauseListSyntax.self), .node(CatchClauseSyntax.self), .node(CatchItemListSyntax.self), diff --git a/Sources/SwiftSyntax/generated/SyntaxEnum.swift b/Sources/SwiftSyntax/generated/SyntaxEnum.swift index cf24a56b678..3a6a0e55d1f 100644 --- a/Sources/SwiftSyntax/generated/SyntaxEnum.swift +++ b/Sources/SwiftSyntax/generated/SyntaxEnum.swift @@ -42,10 +42,8 @@ public enum SyntaxEnum: Sendable { case booleanLiteralExpr(BooleanLiteralExprSyntax) case borrowExpr(BorrowExprSyntax) case breakStmt(BreakStmtSyntax) - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportExpr(CanImportExprSyntax) - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportVersionInfo(CanImportVersionInfoSyntax) + case _canImportExpr(_CanImportExprSyntax) + case _canImportVersionInfo(_CanImportVersionInfoSyntax) case catchClauseList(CatchClauseListSyntax) case catchClause(CatchClauseSyntax) case catchItemList(CatchItemListSyntax) @@ -381,10 +379,10 @@ public extension Syntax { return .borrowExpr(BorrowExprSyntax(self)!) case .breakStmt: return .breakStmt(BreakStmtSyntax(self)!) - case .canImportExpr: - return .canImportExpr(CanImportExprSyntax(self)!) - case .canImportVersionInfo: - return .canImportVersionInfo(CanImportVersionInfoSyntax(self)!) + case ._canImportExpr: + return ._canImportExpr(_CanImportExprSyntax(self)!) + case ._canImportVersionInfo: + return ._canImportVersionInfo(_CanImportVersionInfoSyntax(self)!) case .catchClauseList: return .catchClauseList(CatchClauseListSyntax(self)!) case .catchClause: @@ -995,10 +993,8 @@ public enum ExprSyntaxEnum { case binaryOperatorExpr(BinaryOperatorExprSyntax) case booleanLiteralExpr(BooleanLiteralExprSyntax) case borrowExpr(BorrowExprSyntax) - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportExpr(CanImportExprSyntax) - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportVersionInfo(CanImportVersionInfoSyntax) + case _canImportExpr(_CanImportExprSyntax) + case _canImportVersionInfo(_CanImportVersionInfoSyntax) case closureExpr(ClosureExprSyntax) case consumeExpr(ConsumeExprSyntax) case copyExpr(CopyExprSyntax) @@ -1067,10 +1063,10 @@ public extension ExprSyntax { return .booleanLiteralExpr(BooleanLiteralExprSyntax(self)!) case .borrowExpr: return .borrowExpr(BorrowExprSyntax(self)!) - case .canImportExpr: - return .canImportExpr(CanImportExprSyntax(self)!) - case .canImportVersionInfo: - return .canImportVersionInfo(CanImportVersionInfoSyntax(self)!) + case ._canImportExpr: + return ._canImportExpr(_CanImportExprSyntax(self)!) + case ._canImportVersionInfo: + return ._canImportVersionInfo(_CanImportVersionInfoSyntax(self)!) case .closureExpr: return .closureExpr(ClosureExprSyntax(self)!) case .consumeExpr: diff --git a/Sources/SwiftSyntax/generated/SyntaxKind.swift b/Sources/SwiftSyntax/generated/SyntaxKind.swift index 3724843f407..05d231aca03 100644 --- a/Sources/SwiftSyntax/generated/SyntaxKind.swift +++ b/Sources/SwiftSyntax/generated/SyntaxKind.swift @@ -42,10 +42,8 @@ public enum SyntaxKind: Sendable { case booleanLiteralExpr case borrowExpr case breakStmt - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportExpr - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - case canImportVersionInfo + case _canImportExpr + case _canImportVersionInfo case catchClauseList case catchClause case catchItemList @@ -506,10 +504,10 @@ public enum SyntaxKind: Sendable { return BorrowExprSyntax.self case .breakStmt: return BreakStmtSyntax.self - case .canImportExpr: - return CanImportExprSyntax.self - case .canImportVersionInfo: - return CanImportVersionInfoSyntax.self + case ._canImportExpr: + return _CanImportExprSyntax.self + case ._canImportVersionInfo: + return _CanImportVersionInfoSyntax.self case .catchClauseList: return CatchClauseListSyntax.self case .catchClause: diff --git a/Sources/SwiftSyntax/generated/SyntaxRewriter.swift b/Sources/SwiftSyntax/generated/SyntaxRewriter.swift index 137773c042c..9f46c8a6f97 100644 --- a/Sources/SwiftSyntax/generated/SyntaxRewriter.swift +++ b/Sources/SwiftSyntax/generated/SyntaxRewriter.swift @@ -283,19 +283,17 @@ open class SyntaxRewriter { return StmtSyntax(visitChildren(node)) } - /// Visit a ``CanImportExprSyntax``. + /// Visit a `_CanImportExprSyntax`. /// - Parameter node: the node that is being visited /// - Returns: the rewritten node - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visit(_ node: CanImportExprSyntax) -> ExprSyntax { + open func visit(_ node: _CanImportExprSyntax) -> ExprSyntax { return ExprSyntax(visitChildren(node)) } - /// Visit a ``CanImportVersionInfoSyntax``. + /// Visit a `_CanImportVersionInfoSyntax`. /// - Parameter node: the node that is being visited /// - Returns: the rewritten node - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visit(_ node: CanImportVersionInfoSyntax) -> ExprSyntax { + open func visit(_ node: _CanImportVersionInfoSyntax) -> ExprSyntax { return ExprSyntax(visitChildren(node)) } @@ -2294,13 +2292,13 @@ open class SyntaxRewriter { return { self.visitImpl($0, BreakStmtSyntax.self, self.visit) } - case .canImportExpr: + case ._canImportExpr: return { - self.visitImpl($0, CanImportExprSyntax.self, self.visit) + self.visitImpl($0, _CanImportExprSyntax.self, self.visit) } - case .canImportVersionInfo: + case ._canImportVersionInfo: return { - self.visitImpl($0, CanImportVersionInfoSyntax.self, self.visit) + self.visitImpl($0, _CanImportVersionInfoSyntax.self, self.visit) } case .catchClauseList: return { @@ -3386,10 +3384,10 @@ open class SyntaxRewriter { return visitImpl(node, BorrowExprSyntax.self, visit) case .breakStmt: return visitImpl(node, BreakStmtSyntax.self, visit) - case .canImportExpr: - return visitImpl(node, CanImportExprSyntax.self, visit) - case .canImportVersionInfo: - return visitImpl(node, CanImportVersionInfoSyntax.self, visit) + case ._canImportExpr: + return visitImpl(node, _CanImportExprSyntax.self, visit) + case ._canImportVersionInfo: + return visitImpl(node, _CanImportVersionInfoSyntax.self, visit) case .catchClauseList: return visitImpl(node, CatchClauseListSyntax.self, visit) case .catchClause: diff --git a/Sources/SwiftSyntax/generated/SyntaxVisitor.swift b/Sources/SwiftSyntax/generated/SyntaxVisitor.swift index 80a4de49214..c26ca3bb2c8 100644 --- a/Sources/SwiftSyntax/generated/SyntaxVisitor.swift +++ b/Sources/SwiftSyntax/generated/SyntaxVisitor.swift @@ -377,32 +377,28 @@ open class SyntaxVisitor { open func visitPost(_ node: BreakStmtSyntax) { } - /// Visiting ``CanImportExprSyntax`` specifically. + /// Visiting `_CanImportExprSyntax` specifically. /// - Parameter node: the node we are visiting. /// - Returns: how should we continue visiting. - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visit(_ node: CanImportExprSyntax) -> SyntaxVisitorContinueKind { + open func visit(_ node: _CanImportExprSyntax) -> SyntaxVisitorContinueKind { return .visitChildren } - /// The function called after visiting ``CanImportExprSyntax`` and its descendants. + /// The function called after visiting `_CanImportExprSyntax` and its descendants. /// - node: the node we just finished visiting. - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visitPost(_ node: CanImportExprSyntax) { + open func visitPost(_ node: _CanImportExprSyntax) { } - /// Visiting ``CanImportVersionInfoSyntax`` specifically. + /// Visiting `_CanImportVersionInfoSyntax` specifically. /// - Parameter node: the node we are visiting. /// - Returns: how should we continue visiting. - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visit(_ node: CanImportVersionInfoSyntax) -> SyntaxVisitorContinueKind { + open func visit(_ node: _CanImportVersionInfoSyntax) -> SyntaxVisitorContinueKind { return .visitChildren } - /// The function called after visiting ``CanImportVersionInfoSyntax`` and its descendants. + /// The function called after visiting `_CanImportVersionInfoSyntax` and its descendants. /// - node: the node we just finished visiting. - @available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") - open func visitPost(_ node: CanImportVersionInfoSyntax) { + open func visitPost(_ node: _CanImportVersionInfoSyntax) { } /// Visiting ``CatchClauseListSyntax`` specifically. @@ -3680,13 +3676,13 @@ open class SyntaxVisitor { return { self.visitImpl(&$0, BreakStmtSyntax.self, self.visit, self.visitPost) } - case .canImportExpr: + case ._canImportExpr: return { - self.visitImpl(&$0, CanImportExprSyntax.self, self.visit, self.visitPost) + self.visitImpl(&$0, _CanImportExprSyntax.self, self.visit, self.visitPost) } - case .canImportVersionInfo: + case ._canImportVersionInfo: return { - self.visitImpl(&$0, CanImportVersionInfoSyntax.self, self.visit, self.visitPost) + self.visitImpl(&$0, _CanImportVersionInfoSyntax.self, self.visit, self.visitPost) } case .catchClauseList: return { @@ -4776,10 +4772,10 @@ open class SyntaxVisitor { visitImpl(&node, BorrowExprSyntax.self, visit, visitPost) case .breakStmt: visitImpl(&node, BreakStmtSyntax.self, visit, visitPost) - case .canImportExpr: - visitImpl(&node, CanImportExprSyntax.self, visit, visitPost) - case .canImportVersionInfo: - visitImpl(&node, CanImportVersionInfoSyntax.self, visit, visitPost) + case ._canImportExpr: + visitImpl(&node, _CanImportExprSyntax.self, visit, visitPost) + case ._canImportVersionInfo: + visitImpl(&node, _CanImportVersionInfoSyntax.self, visit, visitPost) case .catchClauseList: visitImpl(&node, CatchClauseListSyntax.self, visit, visitPost) case .catchClause: diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift index 0f4a38e0889..ba466a6adff 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift @@ -12,15 +12,15 @@ // //===----------------------------------------------------------------------===// -@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") @_spi(RawSyntax) -public struct RawCanImportExprSyntax: RawExprSyntaxNodeProtocol { +@_spi(RawSyntax) +public struct Raw_CanImportExprSyntax: RawExprSyntaxNodeProtocol { @_spi(RawSyntax) public var layoutView: RawSyntaxLayoutView { return raw.layoutView! } public static func isKindOf(_ raw: RawSyntax) -> Bool { - return raw.kind == .canImportExpr + return raw.kind == ._canImportExpr } public var raw: RawSyntax @@ -49,14 +49,14 @@ public struct RawCanImportExprSyntax: RawExprSyntaxNodeProtocol { _ unexpectedBetweenLeftParenAndImportPath: RawUnexpectedNodesSyntax? = nil, importPath: RawTokenSyntax, _ unexpectedBetweenImportPathAndVersionInfo: RawUnexpectedNodesSyntax? = nil, - versionInfo: RawCanImportVersionInfoSyntax?, + versionInfo: Raw_CanImportVersionInfoSyntax?, _ unexpectedBetweenVersionInfoAndRightParen: RawUnexpectedNodesSyntax? = nil, rightParen: RawTokenSyntax, _ unexpectedAfterRightParen: RawUnexpectedNodesSyntax? = nil, arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .canImportExpr, uninitializedCount: 11, arena: arena) { layout in + kind: ._canImportExpr, uninitializedCount: 11, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeCanImportKeyword?.raw layout[1] = canImportKeyword.raw @@ -101,8 +101,8 @@ public struct RawCanImportExprSyntax: RawExprSyntaxNodeProtocol { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } - public var versionInfo: RawCanImportVersionInfoSyntax? { - layoutView.children[7].map(RawCanImportVersionInfoSyntax.init(raw:)) + public var versionInfo: Raw_CanImportVersionInfoSyntax? { + layoutView.children[7].map(Raw_CanImportVersionInfoSyntax.init(raw:)) } public var unexpectedBetweenVersionInfoAndRightParen: RawUnexpectedNodesSyntax? { @@ -118,15 +118,15 @@ public struct RawCanImportExprSyntax: RawExprSyntaxNodeProtocol { } } -@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") @_spi(RawSyntax) -public struct RawCanImportVersionInfoSyntax: RawExprSyntaxNodeProtocol { +@_spi(RawSyntax) +public struct Raw_CanImportVersionInfoSyntax: RawExprSyntaxNodeProtocol { @_spi(RawSyntax) public var layoutView: RawSyntaxLayoutView { return raw.layoutView! } public static func isKindOf(_ raw: RawSyntax) -> Bool { - return raw.kind == .canImportVersionInfo + return raw.kind == ._canImportVersionInfo } public var raw: RawSyntax @@ -160,7 +160,7 @@ public struct RawCanImportVersionInfoSyntax: RawExprSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .canImportVersionInfo, uninitializedCount: 9, arena: arena) { layout in + kind: ._canImportVersionInfo, uninitializedCount: 9, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeComma?.raw layout[1] = comma.raw diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift index 3b65d5be404..0ac329a0a14 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift @@ -988,7 +988,7 @@ public struct RawExprSyntax: RawExprSyntaxNodeProtocol { public static func isKindOf(_ raw: RawSyntax) -> Bool { switch raw.kind { - case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, .canImportExpr, .canImportVersionInfo, .closureExpr, .consumeExpr, .copyExpr, .declReferenceExpr, .dictionaryExpr, .discardAssignmentExpr, .doExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forceUnwrapExpr, .functionCallExpr, .genericSpecializationExpr, .ifExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .packExpansionExpr, .patternExpr, .postfixIfConfigExpr, .postfixOperatorExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .simpleStringLiteralExpr, .stringLiteralExpr, .subscriptCallExpr, .superExpr, .switchExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedTernaryExpr: + case .arrayExpr, .arrowExpr, .asExpr, .assignmentExpr, .awaitExpr, .binaryOperatorExpr, .booleanLiteralExpr, .borrowExpr, ._canImportExpr, ._canImportVersionInfo, .closureExpr, .consumeExpr, .copyExpr, .declReferenceExpr, .dictionaryExpr, .discardAssignmentExpr, .doExpr, .editorPlaceholderExpr, .floatLiteralExpr, .forceUnwrapExpr, .functionCallExpr, .genericSpecializationExpr, .ifExpr, .inOutExpr, .infixOperatorExpr, .integerLiteralExpr, .isExpr, .keyPathExpr, .macroExpansionExpr, .memberAccessExpr, .missingExpr, .nilLiteralExpr, .optionalChainingExpr, .packElementExpr, .packExpansionExpr, .patternExpr, .postfixIfConfigExpr, .postfixOperatorExpr, .prefixOperatorExpr, .regexLiteralExpr, .sequenceExpr, .simpleStringLiteralExpr, .stringLiteralExpr, .subscriptCallExpr, .superExpr, .switchExpr, .ternaryExpr, .tryExpr, .tupleExpr, .typeExpr, .unresolvedAsExpr, .unresolvedIsExpr, .unresolvedTernaryExpr: return true default: return false diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift index 7a685aa4bb8..4325df592d1 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift @@ -464,7 +464,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 3, verify(layout[3], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 4, verify(layout[4], as: RawUnexpectedNodesSyntax?.self)) - case .canImportExpr: + case ._canImportExpr: assert(layout.count == 11) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawTokenSyntax.self, tokenChoices: [.keyword("canImport")])) @@ -473,11 +473,11 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 4, verify(layout[4], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 5, verify(layout[5], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawCanImportVersionInfoSyntax?.self)) + assertNoError(kind, 7, verify(layout[7], as: Raw_CanImportVersionInfoSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.rightParen)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - case .canImportVersionInfo: + case ._canImportVersionInfo: assert(layout.count == 9) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.comma)])) diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift index 4a26bf16428..212b4d2e43f 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift @@ -12,21 +12,20 @@ // //===----------------------------------------------------------------------===// -// MARK: - CanImportExprSyntax +// MARK: - _CanImportExprSyntax /// ### Children /// /// - `canImportKeyword`: `canImport` /// - `leftParen`: `(` /// - `importPath`: `` -/// - `versionInfo`: ``CanImportVersionInfoSyntax``? +/// - `versionInfo`: `_CanImportVersionInfoSyntax`? /// - `rightParen`: `)` -@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") -public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExprSyntaxNodeProtocol { +public struct _CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExprSyntaxNodeProtocol { public let _syntaxNode: Syntax public init?(_ node: some SyntaxProtocol) { - guard node.raw.kind == .canImportExpr else { + guard node.raw.kind == ._canImportExpr else { return nil } self._syntaxNode = node._syntaxNode @@ -44,7 +43,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr _ unexpectedBetweenLeftParenAndImportPath: UnexpectedNodesSyntax? = nil, importPath: TokenSyntax, _ unexpectedBetweenImportPathAndVersionInfo: UnexpectedNodesSyntax? = nil, - versionInfo: CanImportVersionInfoSyntax? = nil, + versionInfo: _CanImportVersionInfoSyntax? = nil, _ unexpectedBetweenVersionInfoAndRightParen: UnexpectedNodesSyntax? = nil, rightParen: TokenSyntax = .rightParenToken(), _ unexpectedAfterRightParen: UnexpectedNodesSyntax? = nil, @@ -80,7 +79,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr unexpectedAfterRightParen?.raw ] let raw = RawSyntax.makeLayout( - kind: SyntaxKind.canImportExpr, + kind: SyntaxKind._canImportExpr, from: layout, arena: arena, leadingTrivia: leadingTrivia, @@ -96,7 +95,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 0)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 0, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 0, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -108,7 +107,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 1)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 1, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 1, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -117,7 +116,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 2)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 2, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 2, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -129,7 +128,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 3)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 3, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 3, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -138,7 +137,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 4)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 4, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 4, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -150,7 +149,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 5)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 5, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 5, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -159,16 +158,16 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 6, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 6, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } - public var versionInfo: CanImportVersionInfoSyntax? { + public var versionInfo: _CanImportVersionInfoSyntax? { get { - return Syntax(self).child(at: 7)?.cast(CanImportVersionInfoSyntax.self) + return Syntax(self).child(at: 7)?.cast(_CanImportVersionInfoSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -177,7 +176,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -189,7 +188,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 9)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -198,7 +197,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(CanImportExprSyntax.self) + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportExprSyntax.self) } } @@ -219,7 +218,7 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr } } -// MARK: - CanImportVersionInfoSyntax +// MARK: - _CanImportVersionInfoSyntax /// ### Children /// @@ -230,13 +229,12 @@ public struct CanImportExprSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExpr /// /// ### Contained in /// -/// - ``CanImportExprSyntax``.``CanImportExprSyntax/versionInfo`` -@available(*, deprecated, message: "'canImport' directives are now represented as a `FunctionCallExpr`") -public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExprSyntaxNodeProtocol { +/// - `_CanImportExprSyntax`.`_CanImportExprSyntax/versionInfo` +public struct _CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _LeafExprSyntaxNodeProtocol { public let _syntaxNode: Syntax public init?(_ node: some SyntaxProtocol) { - guard node.raw.kind == .canImportVersionInfo else { + guard node.raw.kind == ._canImportVersionInfo else { return nil } self._syntaxNode = node._syntaxNode @@ -284,7 +282,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L unexpectedAfterVersion?.raw ] let raw = RawSyntax.makeLayout( - kind: SyntaxKind.canImportVersionInfo, + kind: SyntaxKind._canImportVersionInfo, from: layout, arena: arena, leadingTrivia: leadingTrivia, @@ -300,7 +298,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 0)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 0, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 0, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -312,7 +310,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 1)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 1, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 1, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -321,7 +319,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 2)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 2, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 2, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -335,7 +333,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 3)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 3, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 3, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -344,7 +342,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 4)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 4, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 4, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -356,7 +354,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 5)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 5, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 5, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -365,7 +363,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 6, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 6, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -374,7 +372,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 7)!.cast(VersionTupleSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } @@ -383,7 +381,7 @@ public struct CanImportVersionInfoSyntax: ExprSyntaxProtocol, SyntaxHashable, _L return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(CanImportVersionInfoSyntax.self) + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(_CanImportVersionInfoSyntax.self) } } diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift index e9e1eb7a67a..dbe1704d601 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift @@ -3796,7 +3796,7 @@ public struct VersionComponentSyntax: SyntaxProtocol, SyntaxHashable, _LeafSynta /// ### Contained in /// /// - ``AvailabilityLabeledArgumentSyntax``.``AvailabilityLabeledArgumentSyntax/value`` -/// - ``CanImportVersionInfoSyntax``.``CanImportVersionInfoSyntax/version`` +/// - `_CanImportVersionInfoSyntax`.`_CanImportVersionInfoSyntax/version` /// - ``PlatformVersionSyntax``.``PlatformVersionSyntax/version`` public struct VersionTupleSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyntaxNodeProtocol { public let _syntaxNode: Syntax diff --git a/Tests/SwiftParserTest/IncrementalParsingTests.swift b/Tests/SwiftParserTest/IncrementalParsingTests.swift index 679ace162d3..8bda2652e4e 100644 --- a/Tests/SwiftParserTest/IncrementalParsingTests.swift +++ b/Tests/SwiftParserTest/IncrementalParsingTests.swift @@ -23,7 +23,7 @@ class IncrementalParsingTests: ParserTestCase { struct A⏩️⏸️A⏪️ { func f() { """, reusedNodes: [ - ReusedNodeSpec("func f() {", kind: .memberDeclListItem) + ReusedNodeSpec("func f() {", kind: .memberBlockItem) ] ) } @@ -191,10 +191,10 @@ class IncrementalParsingTests: ParserTestCase { } """, reusedNodes: [ - ReusedNodeSpec("let a: Int", kind: .memberDeclListItem), - ReusedNodeSpec("let b: Int", kind: .memberDeclListItem), - ReusedNodeSpec("let c: Int", kind: .memberDeclListItem), - ReusedNodeSpec("let g: Int", kind: .memberDeclListItem), + ReusedNodeSpec("let a: Int", kind: .memberBlockItem), + ReusedNodeSpec("let b: Int", kind: .memberBlockItem), + ReusedNodeSpec("let c: Int", kind: .memberBlockItem), + ReusedNodeSpec("let g: Int", kind: .memberBlockItem), ] ) }