From 1f36d0fc934daa75b2e38a65e2be0fdac11709c1 Mon Sep 17 00:00:00 2001 From: Kim de Vos Date: Sun, 4 Jun 2023 00:12:25 +0200 Subject: [PATCH 1/3] Rename `ImportDeclSyntax.importTok` to `ImportDeclSyntax.importKeyword` To keep the naming consistent --- .../Sources/SyntaxSupport/DeclNodes.swift | 2 +- Sources/SwiftParser/Declarations.swift | 2 +- .../SwiftSyntaxCompatibility.swift | 62 +++++++++++++++++++ .../generated/ChildNameForKeyPath.swift | 12 ++-- .../generated/raw/RawSyntaxNodes.swift | 18 +++--- .../syntaxNodes/SyntaxDeclNodes.swift | 30 ++++----- 6 files changed, 94 insertions(+), 32 deletions(-) diff --git a/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift b/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift index 24983b7a64e..502291737b0 100644 --- a/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift +++ b/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift @@ -1200,7 +1200,7 @@ public let DECL_NODES: [Node] = [ isOptional: true ), Child( - name: "ImportTok", + name: "ImportKeyword", kind: .token(choices: [.keyword(text: "import")]), documentation: "The `import` keyword for this declaration." ), diff --git a/Sources/SwiftParser/Declarations.swift b/Sources/SwiftParser/Declarations.swift index 9c929231480..87cf74b60b3 100644 --- a/Sources/SwiftParser/Declarations.swift +++ b/Sources/SwiftParser/Declarations.swift @@ -331,7 +331,7 @@ extension Parser { attributes: attrs.attributes, modifiers: attrs.modifiers, unexpectedBeforeImportKeyword, - importTok: importKeyword, + importKeyword: importKeyword, importKind: kind, path: path, arena: self.arena diff --git a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift index 576aab03b98..63f928a1da3 100644 --- a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift +++ b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift @@ -186,6 +186,68 @@ public extension FunctionTypeSyntax { } } +public extension ImportDeclSyntax { + @available(*, deprecated, renamed: "unexpectedBetweenModifiersAndImportKeyword") + var unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? { + get { + return unexpectedBetweenModifiersAndImportKeyword + } + set(value) { + unexpectedBetweenModifiersAndImportKeyword = value + } + } + + @available(*, deprecated, renamed: "importKeyword") + var importTok: TokenSyntax { + get { + return importKeyword + } + set(value) { + importKeyword = value + } + } + + @available(*, deprecated, renamed: "unexpectedBetweenImportKeywordAndImportKind") + var unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? { + get { + return unexpectedBetweenImportKeywordAndImportKind + } + set(value) { + unexpectedBetweenImportKeywordAndImportKind = value + } + } + + @available(*, deprecated, message: "Use an initializer with importKeyword") + @_disfavoredOverload + init( + leadingTrivia: Trivia? = nil, + _ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, + attributes: AttributeListSyntax? = nil, + _ unexpectedBetweenAttributesAndModifiers: UnexpectedNodesSyntax? = nil, + modifiers: ModifierListSyntax? = nil, + _ unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? = nil, + importTok: TokenSyntax = .keyword(.import), + _ unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? = nil, + importKind: TokenSyntax? = nil, + _ unexpectedBetweenImportKindAndPath: UnexpectedNodesSyntax? = nil, + path: ImportPathSyntax, + _ unexpectedAfterPath: UnexpectedNodesSyntax? = nil, + trailingTrivia: Trivia? = nil + ) { + self.init( + leadingTrivia: leadingTrivia, unexpectedBeforeAttributes, attributes: attributes, + unexpectedBetweenAttributesAndModifiers, + modifiers: modifiers, + unexpectedBetweenModifiersAndImportTok, + importKeyword: importTok, + unexpectedBetweenImportTokAndImportKind, + importKind: importKind, + unexpectedBetweenImportKindAndPath, + path: path, unexpectedAfterPath, + trailingTrivia: trailingTrivia) + } +} + public extension NamedOpaqueReturnTypeSyntax { @available(*, deprecated, renamed: "unexpectedBeforeGenericParameterClause") var unexpectedBeforeGenericParameters: UnexpectedNodesSyntax? { diff --git a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift index 6906352879b..95b62d924a4 100644 --- a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift +++ b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift @@ -1755,12 +1755,12 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenAttributesAndModifiers" case \ImportDeclSyntax.modifiers: return "modifiers" - case \ImportDeclSyntax.unexpectedBetweenModifiersAndImportTok: - return "unexpectedBetweenModifiersAndImportTok" - case \ImportDeclSyntax.importTok: - return "importTok" - case \ImportDeclSyntax.unexpectedBetweenImportTokAndImportKind: - return "unexpectedBetweenImportTokAndImportKind" + case \ImportDeclSyntax.unexpectedBetweenModifiersAndImportKeyword: + return "unexpectedBetweenModifiersAndImportKeyword" + case \ImportDeclSyntax.importKeyword: + return "importKeyword" + case \ImportDeclSyntax.unexpectedBetweenImportKeywordAndImportKind: + return "unexpectedBetweenImportKeywordAndImportKind" case \ImportDeclSyntax.importKind: return "importKind" case \ImportDeclSyntax.unexpectedBetweenImportKindAndPath: diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodes.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodes.swift index 418c00ba3e6..3cc0ebb9a41 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodes.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodes.swift @@ -11741,9 +11741,9 @@ public struct RawImportDeclSyntax: RawDeclSyntaxNodeProtocol { attributes: RawAttributeListSyntax?, _ unexpectedBetweenAttributesAndModifiers: RawUnexpectedNodesSyntax? = nil, modifiers: RawModifierListSyntax?, - _ unexpectedBetweenModifiersAndImportTok: RawUnexpectedNodesSyntax? = nil, - importTok: RawTokenSyntax, - _ unexpectedBetweenImportTokAndImportKind: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenModifiersAndImportKeyword: RawUnexpectedNodesSyntax? = nil, + importKeyword: RawTokenSyntax, + _ unexpectedBetweenImportKeywordAndImportKind: RawUnexpectedNodesSyntax? = nil, importKind: RawTokenSyntax?, _ unexpectedBetweenImportKindAndPath: RawUnexpectedNodesSyntax? = nil, path: RawImportPathSyntax, @@ -11757,9 +11757,9 @@ public struct RawImportDeclSyntax: RawDeclSyntaxNodeProtocol { layout[1] = attributes?.raw layout[2] = unexpectedBetweenAttributesAndModifiers?.raw layout[3] = modifiers?.raw - layout[4] = unexpectedBetweenModifiersAndImportTok?.raw - layout[5] = importTok.raw - layout[6] = unexpectedBetweenImportTokAndImportKind?.raw + layout[4] = unexpectedBetweenModifiersAndImportKeyword?.raw + layout[5] = importKeyword.raw + layout[6] = unexpectedBetweenImportKeywordAndImportKind?.raw layout[7] = importKind?.raw layout[8] = unexpectedBetweenImportKindAndPath?.raw layout[9] = path.raw @@ -11784,15 +11784,15 @@ public struct RawImportDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[3].map(RawModifierListSyntax.init(raw:)) } - public var unexpectedBetweenModifiersAndImportTok: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenModifiersAndImportKeyword: RawUnexpectedNodesSyntax? { layoutView.children[4].map(RawUnexpectedNodesSyntax.init(raw:)) } - public var importTok: RawTokenSyntax { + public var importKeyword: RawTokenSyntax { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenImportTokAndImportKind: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenImportKeywordAndImportKind: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxDeclNodes.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxDeclNodes.swift index c295d454f40..fa6e048a8f5 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxDeclNodes.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxDeclNodes.swift @@ -2943,9 +2943,9 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { attributes: AttributeListSyntax? = nil, _ unexpectedBetweenAttributesAndModifiers: UnexpectedNodesSyntax? = nil, modifiers: ModifierListSyntax? = nil, - _ unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? = nil, - importTok: TokenSyntax = .keyword(.import), - _ unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenModifiersAndImportKeyword: UnexpectedNodesSyntax? = nil, + importKeyword: TokenSyntax = .keyword(.import), + _ unexpectedBetweenImportKeywordAndImportKind: UnexpectedNodesSyntax? = nil, importKind: TokenSyntax? = nil, _ unexpectedBetweenImportKindAndPath: UnexpectedNodesSyntax? = nil, path: ImportPathSyntax, @@ -2960,9 +2960,9 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { attributes, unexpectedBetweenAttributesAndModifiers, modifiers, - unexpectedBetweenModifiersAndImportTok, - importTok, - unexpectedBetweenImportTokAndImportKind, + unexpectedBetweenModifiersAndImportKeyword, + importKeyword, + unexpectedBetweenImportKeywordAndImportKind, importKind, unexpectedBetweenImportKindAndPath, path, @@ -2973,9 +2973,9 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { attributes?.raw, unexpectedBetweenAttributesAndModifiers?.raw, modifiers?.raw, - unexpectedBetweenModifiersAndImportTok?.raw, - importTok.raw, - unexpectedBetweenImportTokAndImportKind?.raw, + unexpectedBetweenModifiersAndImportKeyword?.raw, + importKeyword.raw, + unexpectedBetweenImportKeywordAndImportKind?.raw, importKind?.raw, unexpectedBetweenImportKindAndPath?.raw, path.raw, @@ -3070,7 +3070,7 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { return ImportDeclSyntax(newData) } - public var unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? { + public var unexpectedBetweenModifiersAndImportKeyword: UnexpectedNodesSyntax? { get { return data.child(at: 4, parent: Syntax(self)).map(UnexpectedNodesSyntax.init) } @@ -3080,7 +3080,7 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { } /// The `import` keyword for this declaration. - public var importTok: TokenSyntax { + public var importKeyword: TokenSyntax { get { return TokenSyntax(data.child(at: 5, parent: Syntax(self))!) } @@ -3089,7 +3089,7 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { } } - public var unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? { + public var unexpectedBetweenImportKeywordAndImportKind: UnexpectedNodesSyntax? { get { return data.child(at: 6, parent: Syntax(self)).map(UnexpectedNodesSyntax.init) } @@ -3161,9 +3161,9 @@ public struct ImportDeclSyntax: DeclSyntaxProtocol, SyntaxHashable { \Self.attributes, \Self.unexpectedBetweenAttributesAndModifiers, \Self.modifiers, - \Self.unexpectedBetweenModifiersAndImportTok, - \Self.importTok, - \Self.unexpectedBetweenImportTokAndImportKind, + \Self.unexpectedBetweenModifiersAndImportKeyword, + \Self.importKeyword, + \Self.unexpectedBetweenImportKeywordAndImportKind, \Self.importKind, \Self.unexpectedBetweenImportKindAndPath, \Self.path, From bfd69ada4527198115975515cf8525297a68e4d8 Mon Sep 17 00:00:00 2001 From: Kim de Vos Date: Wed, 7 Jun 2023 19:20:43 +0200 Subject: [PATCH 2/3] Add `@_disfavoredOverload` to inits --- .../SwiftSyntaxCompatibility.swift | 115 ++++++++++-------- 1 file changed, 62 insertions(+), 53 deletions(-) diff --git a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift index 63f928a1da3..e133d86ed53 100644 --- a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift +++ b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift @@ -66,6 +66,7 @@ public extension EnumDeclSyntax { } @available(*, deprecated, message: "Use an initializer with a genericParameterClause argument.") + @_disfavoredOverload init( leadingTrivia: Trivia? = nil, _ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, @@ -153,6 +154,7 @@ public extension FunctionTypeSyntax { } @available(*, deprecated, message: "Use an initializer with a parameters") + @_disfavoredOverload init( leadingTrivia: Trivia? = nil, _ unexpectedBeforeLeftParen: UnexpectedNodesSyntax? = nil, @@ -187,65 +189,69 @@ public extension FunctionTypeSyntax { } public extension ImportDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenModifiersAndImportKeyword") - var unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? { - get { - return unexpectedBetweenModifiersAndImportKeyword - } - set(value) { - unexpectedBetweenModifiersAndImportKeyword = value - } + @available(*, deprecated, renamed: "unexpectedBetweenModifiersAndImportKeyword") + var unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? { + get { + return unexpectedBetweenModifiersAndImportKeyword } - - @available(*, deprecated, renamed: "importKeyword") - var importTok: TokenSyntax { - get { - return importKeyword - } - set(value) { - importKeyword = value - } + set(value) { + unexpectedBetweenModifiersAndImportKeyword = value } + } - @available(*, deprecated, renamed: "unexpectedBetweenImportKeywordAndImportKind") - var unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? { - get { - return unexpectedBetweenImportKeywordAndImportKind - } - set(value) { - unexpectedBetweenImportKeywordAndImportKind = value - } + @available(*, deprecated, renamed: "importKeyword") + var importTok: TokenSyntax { + get { + return importKeyword + } + set(value) { + importKeyword = value } + } - @available(*, deprecated, message: "Use an initializer with importKeyword") - @_disfavoredOverload - init( - leadingTrivia: Trivia? = nil, - _ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, - attributes: AttributeListSyntax? = nil, - _ unexpectedBetweenAttributesAndModifiers: UnexpectedNodesSyntax? = nil, - modifiers: ModifierListSyntax? = nil, - _ unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? = nil, - importTok: TokenSyntax = .keyword(.import), - _ unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? = nil, - importKind: TokenSyntax? = nil, - _ unexpectedBetweenImportKindAndPath: UnexpectedNodesSyntax? = nil, - path: ImportPathSyntax, - _ unexpectedAfterPath: UnexpectedNodesSyntax? = nil, - trailingTrivia: Trivia? = nil - ) { - self.init( - leadingTrivia: leadingTrivia, unexpectedBeforeAttributes, attributes: attributes, - unexpectedBetweenAttributesAndModifiers, - modifiers: modifiers, - unexpectedBetweenModifiersAndImportTok, - importKeyword: importTok, - unexpectedBetweenImportTokAndImportKind, - importKind: importKind, - unexpectedBetweenImportKindAndPath, - path: path, unexpectedAfterPath, - trailingTrivia: trailingTrivia) + @available(*, deprecated, renamed: "unexpectedBetweenImportKeywordAndImportKind") + var unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? { + get { + return unexpectedBetweenImportKeywordAndImportKind + } + set(value) { + unexpectedBetweenImportKeywordAndImportKind = value } + } + + @available(*, deprecated, message: "Use an initializer with importKeyword") + @_disfavoredOverload + init( + leadingTrivia: Trivia? = nil, + _ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, + attributes: AttributeListSyntax? = nil, + _ unexpectedBetweenAttributesAndModifiers: UnexpectedNodesSyntax? = nil, + modifiers: ModifierListSyntax? = nil, + _ unexpectedBetweenModifiersAndImportTok: UnexpectedNodesSyntax? = nil, + importTok: TokenSyntax = .keyword(.import), + _ unexpectedBetweenImportTokAndImportKind: UnexpectedNodesSyntax? = nil, + importKind: TokenSyntax? = nil, + _ unexpectedBetweenImportKindAndPath: UnexpectedNodesSyntax? = nil, + path: ImportPathSyntax, + _ unexpectedAfterPath: UnexpectedNodesSyntax? = nil, + trailingTrivia: Trivia? = nil + ) { + self.init( + leadingTrivia: leadingTrivia, + unexpectedBeforeAttributes, + attributes: attributes, + unexpectedBetweenAttributesAndModifiers, + modifiers: modifiers, + unexpectedBetweenModifiersAndImportTok, + importKeyword: importTok, + unexpectedBetweenImportTokAndImportKind, + importKind: importKind, + unexpectedBetweenImportKindAndPath, + path: path, + unexpectedAfterPath, + trailingTrivia: trailingTrivia + ) + } } public extension NamedOpaqueReturnTypeSyntax { @@ -280,6 +286,7 @@ public extension NamedOpaqueReturnTypeSyntax { } @available(*, deprecated, message: "Use an initializer with a genericParameterClause argument.") + @_disfavoredOverload init( leadingTrivia: Trivia? = nil, _ unexpectedBeforeGenericParameters: UnexpectedNodesSyntax? = nil, @@ -333,6 +340,7 @@ public extension TupleExprSyntax { } @available(*, deprecated, message: "Use an initializer with a elements argument") + @_disfavoredOverload init( leadingTrivia: Trivia? = nil, _ unexpectedBeforeLeftParen: UnexpectedNodesSyntax? = nil, @@ -363,6 +371,7 @@ public extension EditorPlaceholderDeclSyntax { var identifier: TokenSyntax { placeholder } @available(*, deprecated, renamed: "placeholder") + @_disfavoredOverload init( leadingTrivia: Trivia? = nil, _ unexpectedBeforeIdentifier: UnexpectedNodesSyntax? = nil, From 04708c30c37fc51dbbb39669415d112b1b89a8e7 Mon Sep 17 00:00:00 2001 From: Kim de Vos Date: Wed, 7 Jun 2023 19:21:49 +0200 Subject: [PATCH 3/3] Move `EditorPlaceholderDeclSyntax` to keep it sorted --- .../SwiftSyntaxCompatibility.swift | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift index e133d86ed53..bd4f42008e6 100644 --- a/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift +++ b/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift @@ -34,6 +34,27 @@ public extension DeclGroupSyntax { } } +public extension EditorPlaceholderDeclSyntax { + @available(*, deprecated, renamed: "placeholder") + var identifier: TokenSyntax { placeholder } + + @available(*, deprecated, renamed: "placeholder") + @_disfavoredOverload + init( + leadingTrivia: Trivia? = nil, + _ unexpectedBeforeIdentifier: UnexpectedNodesSyntax? = nil, + identifier: TokenSyntax, + _ unexpectedAfterIdentifier: UnexpectedNodesSyntax? = nil + ) { + self.init( + leadingTrivia: leadingTrivia, + unexpectedBeforeIdentifier, + placeholder: identifier, + unexpectedAfterIdentifier + ) + } +} + public extension EnumDeclSyntax { @available(*, deprecated, renamed: "unexpectedBetweenIdentifierAndGenericParameterClause") var unexpectedBetweenIdentifierAndGenericParameters: UnexpectedNodesSyntax? { @@ -365,24 +386,3 @@ public extension TupleExprSyntax { ) } } - -public extension EditorPlaceholderDeclSyntax { - @available(*, deprecated, renamed: "placeholder") - var identifier: TokenSyntax { placeholder } - - @available(*, deprecated, renamed: "placeholder") - @_disfavoredOverload - init( - leadingTrivia: Trivia? = nil, - _ unexpectedBeforeIdentifier: UnexpectedNodesSyntax? = nil, - identifier: TokenSyntax, - _ unexpectedAfterIdentifier: UnexpectedNodesSyntax? = nil - ) { - self.init( - leadingTrivia: leadingTrivia, - unexpectedBeforeIdentifier, - placeholder: identifier, - unexpectedAfterIdentifier - ) - } -}