From d7dfd949ef19eb2913e5d0db358db20a1d2b0f4f Mon Sep 17 00:00:00 2001 From: Tony Allevato Date: Wed, 15 Jan 2025 16:19:36 -0500 Subject: [PATCH] Parse an extended type as part of a nominal type declaration's name. These are parser changes necessary for automatic extension synthesis that would allow users to write ```swift struct Outer.Inner {} ``` instead of ```swift extension Outer { struct Inner {} } ``` --- .../Sources/SyntaxSupport/DeclNodes.swift | 66 +++++++++ Sources/SwiftParser/Declarations.swift | 12 ++ Sources/SwiftParser/Expressions.swift | 2 +- Sources/SwiftParser/Names.swift | 8 ++ Sources/SwiftParser/Nominals.swift | 48 +++++++ Sources/SwiftParser/Types.swift | 38 ++++- .../generated/ChildNameForKeyPath.swift | 72 ++++++++-- .../RenamedChildrenCompatibility.swift | 132 ++++++++++++------ .../generated/raw/RawSyntaxNodesAB.swift | 72 ++++++---- .../generated/raw/RawSyntaxNodesC.swift | 72 ++++++---- .../generated/raw/RawSyntaxNodesEF.swift | 72 ++++++---- .../generated/raw/RawSyntaxNodesOP.swift | 72 ++++++---- .../generated/raw/RawSyntaxNodesQRS.swift | 72 ++++++---- .../generated/raw/RawSyntaxNodesTUVWXYZ.swift | 64 ++++++--- .../generated/raw/RawSyntaxValidation.swift | 94 ++++++++----- .../generated/syntaxNodes/SyntaxNodesAB.swift | 109 +++++++++++---- .../generated/syntaxNodes/SyntaxNodesC.swift | 109 +++++++++++---- .../generated/syntaxNodes/SyntaxNodesEF.swift | 109 +++++++++++---- .../generated/syntaxNodes/SyntaxNodesOP.swift | 109 +++++++++++---- .../syntaxNodes/SyntaxNodesQRS.swift | 109 +++++++++++---- .../syntaxNodes/SyntaxNodesTUVWXYZ.swift | 101 +++++++++++--- .../generated/BuildableNodes.swift | 60 ++++++-- .../RenamedChildrenBuilderCompatibility.swift | 60 ++++++-- Tests/SwiftParserTest/DeclarationTests.swift | 87 ++++++++++++ Tests/SwiftSyntaxTest/RawSyntaxTests.swift | 2 + 25 files changed, 1349 insertions(+), 402 deletions(-) diff --git a/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift b/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift index 0dea2d63426..d15d0401e82 100644 --- a/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift +++ b/CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift @@ -206,6 +206,17 @@ public let DECL_NODES: [Node] = [ kind: .token(choices: [.keyword(.actor)]), documentation: "The `actor` keyword." ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this actor is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]), @@ -386,6 +397,17 @@ public let DECL_NODES: [Node] = [ kind: .token(choices: [.keyword(.class)]), documentation: "The `class` keyword for this declaration." ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this class is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]), @@ -830,6 +852,17 @@ public let DECL_NODES: [Node] = [ kind: .token(choices: [.keyword(.enum)]), documentation: "The `enum` keyword for this declaration." ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this enum declaration is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]), @@ -2085,6 +2118,17 @@ public let DECL_NODES: [Node] = [ kind: .token(choices: [.keyword(.protocol)]), documentation: "The `protocol` keyword for this declaration." ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this protocol is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]), @@ -2265,6 +2309,17 @@ public let DECL_NODES: [Node] = [ kind: .token(choices: [.keyword(.struct)]), documentation: "The `struct` keyword for this declaration." ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this struct is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]), @@ -2432,6 +2487,17 @@ public let DECL_NODES: [Node] = [ name: "typealiasKeyword", kind: .token(choices: [.keyword(.typealias)]) ), + Child( + name: "extendedType", + kind: .node(kind: .type), + documentation: "The `type` in which this type alias is nested.", + isOptional: true + ), + Child( + name: "period", + kind: .token(choices: [.token(.period)]), + isOptional: true + ), Child( name: "name", kind: .token(choices: [.token(.identifier)]) diff --git a/Sources/SwiftParser/Declarations.swift b/Sources/SwiftParser/Declarations.swift index d186a4b0a7d..02ef9fb0f96 100644 --- a/Sources/SwiftParser/Declarations.swift +++ b/Sources/SwiftParser/Declarations.swift @@ -1660,6 +1660,15 @@ extension Parser { _ handle: RecoveryConsumptionHandle ) -> RawTypeAliasDeclSyntax { let (unexpectedBeforeTypealiasKeyword, typealiasKeyword) = self.eat(handle) + + var extendedType: RawTypeSyntax? = nil + var unexpectedBeforePeriod: RawUnexpectedNodesSyntax? = nil + var period: RawTokenSyntax? = nil + if self.lookahead().canParseExtendedTypeForNominalTypeDecl() { + extendedType = parseSimpleType(parsingContext: .nominalTypeDeclExtendedName) + (unexpectedBeforePeriod, period) = self.expect(.period) + } + let (unexpectedBeforeName, name) = self.expectIdentifier(keywordRecovery: true) // Parse a generic parameter list if it is present. @@ -1700,6 +1709,9 @@ extension Parser { modifiers: attrs.modifiers, unexpectedBeforeTypealiasKeyword, typealiasKeyword: typealiasKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeName, name: name, genericParameterClause: generics, diff --git a/Sources/SwiftParser/Expressions.swift b/Sources/SwiftParser/Expressions.swift index bf1c9fba52d..3194f7f77c2 100644 --- a/Sources/SwiftParser/Expressions.swift +++ b/Sources/SwiftParser/Expressions.swift @@ -1027,7 +1027,7 @@ extension Parser { // the token is an operator starts with '.', or the following token is '['. let rootType: RawTypeSyntax? if !self.at(prefix: ".") { - rootType = self.parseSimpleType(allowMemberTypes: false) + rootType = self.parseSimpleType(parsingContext: .keyPathRoot) } else { rootType = nil } diff --git a/Sources/SwiftParser/Names.swift b/Sources/SwiftParser/Names.swift index 3a9efe5878f..26a481ea3b0 100644 --- a/Sources/SwiftParser/Names.swift +++ b/Sources/SwiftParser/Names.swift @@ -271,6 +271,14 @@ extension Parser.Lookahead { } return lookahead.at(prefix: ".") } + + func canParseExtendedTypeForNominalTypeDecl() -> Bool { + var lookahead = self.lookahead() + guard lookahead.canParseSimpleType(parsingContext: .nominalTypeDeclExtendedName) else { + return false + } + return lookahead.at(prefix: ".") + } } extension Parser.Lookahead { diff --git a/Sources/SwiftParser/Nominals.swift b/Sources/SwiftParser/Nominals.swift index 8929833e516..30327042a17 100644 --- a/Sources/SwiftParser/Nominals.swift +++ b/Sources/SwiftParser/Nominals.swift @@ -24,6 +24,9 @@ protocol NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: PrimaryOrGenerics?, @@ -42,6 +45,9 @@ extension RawProtocolDeclSyntax: NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: RawPrimaryAssociatedTypeClauseSyntax?, @@ -55,6 +61,9 @@ extension RawProtocolDeclSyntax: NominalTypeDeclarationTrait { modifiers: modifiers, unexpectedBeforeIntroducerKeyword, protocolKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeIdentifier, name: name, primaryAssociatedTypeClause: primaryOrGenerics, @@ -76,6 +85,9 @@ extension RawClassDeclSyntax: NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: RawGenericParameterClauseSyntax?, @@ -89,6 +101,9 @@ extension RawClassDeclSyntax: NominalTypeDeclarationTrait { modifiers: modifiers, unexpectedBeforeIntroducerKeyword, classKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeIdentifier, name: name, genericParameterClause: primaryOrGenerics, @@ -110,6 +125,9 @@ extension RawActorDeclSyntax: NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: RawGenericParameterClauseSyntax?, @@ -123,6 +141,9 @@ extension RawActorDeclSyntax: NominalTypeDeclarationTrait { modifiers: modifiers, unexpectedBeforeIntroducerKeyword, actorKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeIdentifier, name: name, genericParameterClause: primaryOrGenerics, @@ -144,6 +165,9 @@ extension RawStructDeclSyntax: NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: RawGenericParameterClauseSyntax?, @@ -157,6 +181,9 @@ extension RawStructDeclSyntax: NominalTypeDeclarationTrait { modifiers: modifiers, unexpectedBeforeIntroducerKeyword, structKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeIdentifier, name: name, genericParameterClause: primaryOrGenerics, @@ -178,6 +205,9 @@ extension RawEnumDeclSyntax: NominalTypeDeclarationTrait { modifiers: RawDeclModifierListSyntax, _ unexpectedBeforeIntroducerKeyword: RawUnexpectedNodesSyntax?, introducerKeyword: RawTokenSyntax, + extendedType: RawTypeSyntax?, + _ unexpectedBeforePeriod: RawUnexpectedNodesSyntax?, + period: RawTokenSyntax?, _ unexpectedBeforeIdentifier: RawUnexpectedNodesSyntax?, name: RawTokenSyntax, primaryOrGenerics: RawGenericParameterClauseSyntax?, @@ -191,6 +221,9 @@ extension RawEnumDeclSyntax: NominalTypeDeclarationTrait { modifiers: modifiers, unexpectedBeforeIntroducerKeyword, enumKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeIdentifier, name: name, genericParameterClause: primaryOrGenerics, @@ -214,6 +247,15 @@ extension Parser { introucerHandle: RecoveryConsumptionHandle ) -> T where T: NominalTypeDeclarationTrait { let (unexpectedBeforeIntroducerKeyword, introducerKeyword) = self.eat(introucerHandle) + + var extendedType: RawTypeSyntax? = nil + var unexpectedBeforePeriod: RawUnexpectedNodesSyntax? = nil + var period: RawTokenSyntax? = nil + if self.lookahead().canParseExtendedTypeForNominalTypeDecl() { + extendedType = parseSimpleType(parsingContext: .nominalTypeDeclExtendedName) + (unexpectedBeforePeriod, period) = self.expect(.period) + } + let (unexpectedBeforeName, name) = self.expectIdentifier(keywordRecovery: true) if unexpectedBeforeName == nil && name.isMissing && self.atStartOfLine { return T.init( @@ -221,6 +263,9 @@ extension Parser { modifiers: attrs.modifiers, unexpectedBeforeIntroducerKeyword, introducerKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeName, name: name, primaryOrGenerics: nil, @@ -264,6 +309,9 @@ extension Parser { modifiers: attrs.modifiers, unexpectedBeforeIntroducerKeyword, introducerKeyword: introducerKeyword, + extendedType: extendedType, + unexpectedBeforePeriod, + period: period, unexpectedBeforeName, name: name, primaryOrGenerics: primaryOrGenerics, diff --git a/Sources/SwiftParser/Types.swift b/Sources/SwiftParser/Types.swift index 89d7ce16210..9d11df0de37 100644 --- a/Sources/SwiftParser/Types.swift +++ b/Sources/SwiftParser/Types.swift @@ -16,6 +16,13 @@ @_spi(RawSyntax) @_spi(ExperimentalLanguageFeatures) import SwiftSyntax #endif +enum SimpleTypeParsingContext { + case `default` + case keyPathRoot + case attributeName + case nominalTypeDeclExtendedName +} + extension Parser { /// Parse a type. mutating func parseType(misplacedSpecifiers: [RawTokenSyntax] = []) -> RawTypeSyntax { @@ -187,12 +194,11 @@ extension Parser { /// Parse the subset of types that we allow in attribute names. mutating func parseAttributeName() -> RawTypeSyntax { - return parseSimpleType(forAttributeName: true) + return parseSimpleType(parsingContext: .attributeName) } mutating func parseSimpleType( - allowMemberTypes: Bool = true, - forAttributeName: Bool = false + parsingContext: SimpleTypeParsingContext = .default ) -> RawTypeSyntax { enum TypeBaseStart: TokenSpecSet { case `Self` @@ -257,9 +263,25 @@ extension Parser { return wrapInTilde(RawTypeSyntax(RawMissingTypeSyntax(arena: self.arena))) } + func shouldContinueAfterPeriod() -> Bool { + if self.peek(isAt: .keyword(.Type), .keyword(.Protocol)) { + return true + } + switch parsingContext { + case .keyPathRoot: + return false + case .nominalTypeDeclExtendedName: + var lookahead = self.lookahead() + lookahead.eat(.period) + return lookahead.canParseExtendedTypeForNominalTypeDecl() + default: + return true + } + } + var loopProgress = LoopProgressCondition() while self.hasProgressed(&loopProgress) { - if self.at(.period) && (allowMemberTypes || self.peek(isAt: .keyword(.Type), .keyword(.Protocol))) { + if self.at(.period) && shouldContinueAfterPeriod() { let (unexpectedPeriod, period, skipMemberName) = self.consumeMemberPeriod(previousNode: base) if skipMemberName { let missingIdentifier = missingToken(.identifier) @@ -315,7 +337,7 @@ extension Parser { } // Do not allow ? or ! suffixes when parsing attribute names. - if forAttributeName { + if parsingContext == .attributeName { break } @@ -691,7 +713,7 @@ extension Parser.Lookahead { return true } - mutating func canParseSimpleType() -> Bool { + mutating func canParseSimpleType(parsingContext: SimpleTypeParsingContext = .default) -> Bool { switch self.currentToken { case TokenSpec(.Any): self.consumeAnyToken() @@ -736,6 +758,10 @@ extension Parser.Lookahead { var loopProgress = LoopProgressCondition() while self.hasProgressed(&loopProgress) { if self.at(.period) { + if parsingContext == .nominalTypeDeclExtendedName { + return true + } + self.consumeAnyToken() if self.at(.keyword(.Type)) || self.at(.keyword(.Protocol)) { self.consumeAnyToken() diff --git a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift index 566b0142125..7416517f292 100644 --- a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift +++ b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift @@ -99,8 +99,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndActorKeyword" case \ActorDeclSyntax.actorKeyword: return "actorKeyword" - case \ActorDeclSyntax.unexpectedBetweenActorKeywordAndName: - return "unexpectedBetweenActorKeywordAndName" + case \ActorDeclSyntax.unexpectedBetweenActorKeywordAndExtendedType: + return "unexpectedBetweenActorKeywordAndExtendedType" + case \ActorDeclSyntax.extendedType: + return "extendedType" + case \ActorDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \ActorDeclSyntax.period: + return "period" + case \ActorDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \ActorDeclSyntax.name: return "name" case \ActorDeclSyntax.unexpectedBetweenNameAndGenericParameterClause: @@ -437,8 +445,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndClassKeyword" case \ClassDeclSyntax.classKeyword: return "classKeyword" - case \ClassDeclSyntax.unexpectedBetweenClassKeywordAndName: - return "unexpectedBetweenClassKeywordAndName" + case \ClassDeclSyntax.unexpectedBetweenClassKeywordAndExtendedType: + return "unexpectedBetweenClassKeywordAndExtendedType" + case \ClassDeclSyntax.extendedType: + return "extendedType" + case \ClassDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \ClassDeclSyntax.period: + return "period" + case \ClassDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \ClassDeclSyntax.name: return "name" case \ClassDeclSyntax.unexpectedBetweenNameAndGenericParameterClause: @@ -1189,8 +1205,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndEnumKeyword" case \EnumDeclSyntax.enumKeyword: return "enumKeyword" - case \EnumDeclSyntax.unexpectedBetweenEnumKeywordAndName: - return "unexpectedBetweenEnumKeywordAndName" + case \EnumDeclSyntax.unexpectedBetweenEnumKeywordAndExtendedType: + return "unexpectedBetweenEnumKeywordAndExtendedType" + case \EnumDeclSyntax.extendedType: + return "extendedType" + case \EnumDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \EnumDeclSyntax.period: + return "period" + case \EnumDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \EnumDeclSyntax.name: return "name" case \EnumDeclSyntax.unexpectedBetweenNameAndGenericParameterClause: @@ -2705,8 +2729,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndProtocolKeyword" case \ProtocolDeclSyntax.protocolKeyword: return "protocolKeyword" - case \ProtocolDeclSyntax.unexpectedBetweenProtocolKeywordAndName: - return "unexpectedBetweenProtocolKeywordAndName" + case \ProtocolDeclSyntax.unexpectedBetweenProtocolKeywordAndExtendedType: + return "unexpectedBetweenProtocolKeywordAndExtendedType" + case \ProtocolDeclSyntax.extendedType: + return "extendedType" + case \ProtocolDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \ProtocolDeclSyntax.period: + return "period" + case \ProtocolDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \ProtocolDeclSyntax.name: return "name" case \ProtocolDeclSyntax.unexpectedBetweenNameAndPrimaryAssociatedTypeClause: @@ -2927,8 +2959,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndStructKeyword" case \StructDeclSyntax.structKeyword: return "structKeyword" - case \StructDeclSyntax.unexpectedBetweenStructKeywordAndName: - return "unexpectedBetweenStructKeywordAndName" + case \StructDeclSyntax.unexpectedBetweenStructKeywordAndExtendedType: + return "unexpectedBetweenStructKeywordAndExtendedType" + case \StructDeclSyntax.extendedType: + return "extendedType" + case \StructDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \StructDeclSyntax.period: + return "period" + case \StructDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \StructDeclSyntax.name: return "name" case \StructDeclSyntax.unexpectedBetweenNameAndGenericParameterClause: @@ -3275,8 +3315,16 @@ public func childName(_ keyPath: AnyKeyPath) -> String? { return "unexpectedBetweenModifiersAndTypealiasKeyword" case \TypeAliasDeclSyntax.typealiasKeyword: return "typealiasKeyword" - case \TypeAliasDeclSyntax.unexpectedBetweenTypealiasKeywordAndName: - return "unexpectedBetweenTypealiasKeywordAndName" + case \TypeAliasDeclSyntax.unexpectedBetweenTypealiasKeywordAndExtendedType: + return "unexpectedBetweenTypealiasKeywordAndExtendedType" + case \TypeAliasDeclSyntax.extendedType: + return "extendedType" + case \TypeAliasDeclSyntax.unexpectedBetweenExtendedTypeAndPeriod: + return "unexpectedBetweenExtendedTypeAndPeriod" + case \TypeAliasDeclSyntax.period: + return "period" + case \TypeAliasDeclSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" case \TypeAliasDeclSyntax.name: return "name" case \TypeAliasDeclSyntax.unexpectedBetweenNameAndGenericParameterClause: diff --git a/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift b/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift index a3b1e896b37..20aa60443c4 100644 --- a/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift +++ b/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift @@ -103,13 +103,13 @@ extension AccessorDeclSyntax { } extension ActorDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenActorKeywordAndName") - public var unexpectedBetweenActorKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenActorKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenActorKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -133,7 +133,7 @@ extension ActorDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:actorKeyword:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:actorKeyword:_:extendedType:_:period:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -143,7 +143,11 @@ extension ActorDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndActorKeyword: UnexpectedNodesSyntax? = nil, actorKeyword: TokenSyntax = .keyword(.actor), - _ unexpectedBetweenActorKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenActorKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -164,7 +168,11 @@ extension ActorDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndActorKeyword, actorKeyword: actorKeyword, - unexpectedBetweenActorKeywordAndIdentifier, + unexpectedBetweenActorKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -1074,13 +1082,13 @@ extension _CanImportVersionInfoSyntax { } extension ClassDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenClassKeywordAndName") - public var unexpectedBetweenClassKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenClassKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenClassKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -1104,7 +1112,7 @@ extension ClassDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:classKeyword:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:classKeyword:_:extendedType:_:period:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -1114,7 +1122,11 @@ extension ClassDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndClassKeyword: UnexpectedNodesSyntax? = nil, classKeyword: TokenSyntax = .keyword(.class), - _ unexpectedBetweenClassKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenClassKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -1135,7 +1147,11 @@ extension ClassDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndClassKeyword, classKeyword: classKeyword, - unexpectedBetweenClassKeywordAndIdentifier, + unexpectedBetweenClassKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -2574,13 +2590,13 @@ extension EnumCaseParameterSyntax { } extension EnumDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenEnumKeywordAndName") - public var unexpectedBetweenEnumKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenEnumKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenEnumKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -2624,7 +2640,7 @@ extension EnumDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:enumKeyword:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:enumKeyword:_:extendedType:_:period:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -2634,7 +2650,11 @@ extension EnumDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndEnumKeyword: UnexpectedNodesSyntax? = nil, enumKeyword: TokenSyntax = .keyword(.enum), - _ unexpectedBetweenEnumKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenEnumKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndGenericParameters: UnexpectedNodesSyntax? = nil, genericParameters: GenericParameterClauseSyntax? = nil, @@ -2655,7 +2675,11 @@ extension EnumDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndEnumKeyword, enumKeyword: enumKeyword, - unexpectedBetweenEnumKeywordAndIdentifier, + unexpectedBetweenEnumKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndGenericParameters, genericParameterClause: genericParameters, @@ -6366,13 +6390,13 @@ extension PrimaryAssociatedTypeClauseSyntax { } extension ProtocolDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenProtocolKeywordAndName") - public var unexpectedBetweenProtocolKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenProtocolKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenProtocolKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -6396,7 +6420,7 @@ extension ProtocolDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:protocolKeyword:_:name:_:primaryAssociatedTypeClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:protocolKeyword:_:extendedType:_:period:_:name:_:primaryAssociatedTypeClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -6406,7 +6430,11 @@ extension ProtocolDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndProtocolKeyword: UnexpectedNodesSyntax? = nil, protocolKeyword: TokenSyntax = .keyword(.protocol), - _ unexpectedBetweenProtocolKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenProtocolKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause: UnexpectedNodesSyntax? = nil, primaryAssociatedTypeClause: PrimaryAssociatedTypeClauseSyntax? = nil, @@ -6427,7 +6455,11 @@ extension ProtocolDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndProtocolKeyword, protocolKeyword: protocolKeyword, - unexpectedBetweenProtocolKeywordAndIdentifier, + unexpectedBetweenProtocolKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause, primaryAssociatedTypeClause: primaryAssociatedTypeClause, @@ -7139,13 +7171,13 @@ extension StringLiteralExprSyntax { } extension StructDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenStructKeywordAndName") - public var unexpectedBetweenStructKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenStructKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenStructKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -7169,7 +7201,7 @@ extension StructDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:structKeyword:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:structKeyword:_:extendedType:_:period:_:name:_:genericParameterClause:_:inheritanceClause:_:genericWhereClause:_:memberBlock:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -7179,7 +7211,11 @@ extension StructDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndStructKeyword: UnexpectedNodesSyntax? = nil, structKeyword: TokenSyntax = .keyword(.struct), - _ unexpectedBetweenStructKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenStructKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -7200,7 +7236,11 @@ extension StructDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndStructKeyword, structKeyword: structKeyword, - unexpectedBetweenStructKeywordAndIdentifier, + unexpectedBetweenStructKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -8003,13 +8043,13 @@ extension TupleTypeElementSyntax { } extension TypeAliasDeclSyntax { - @available(*, deprecated, renamed: "unexpectedBetweenTypealiasKeywordAndName") - public var unexpectedBetweenTypealiasKeywordAndIdentifier: UnexpectedNodesSyntax? { + @available(*, deprecated, renamed: "unexpectedBetweenPeriodAndName") + public var unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? { get { - return unexpectedBetweenTypealiasKeywordAndName + return unexpectedBetweenPeriodAndName } set { - unexpectedBetweenTypealiasKeywordAndName = newValue + unexpectedBetweenPeriodAndName = newValue } } @@ -8033,7 +8073,7 @@ extension TypeAliasDeclSyntax { } } - @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:typealiasKeyword:_:name:_:genericParameterClause:_:initializer:_:genericWhereClause:_:trailingTrivia:)") + @available(*, deprecated, renamed: "init(leadingTrivia:_:attributes:_:modifiers:_:typealiasKeyword:_:extendedType:_:period:_:name:_:genericParameterClause:_:initializer:_:genericWhereClause:_:trailingTrivia:)") @_disfavoredOverload public init( leadingTrivia: Trivia? = nil, @@ -8043,7 +8083,11 @@ extension TypeAliasDeclSyntax { modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndTypealiasKeyword: UnexpectedNodesSyntax? = nil, typealiasKeyword: TokenSyntax = .keyword(.typealias), - _ unexpectedBetweenTypealiasKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenTypealiasKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, _ unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -8062,7 +8106,11 @@ extension TypeAliasDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndTypealiasKeyword, typealiasKeyword: typealiasKeyword, - unexpectedBetweenTypealiasKeywordAndIdentifier, + unexpectedBetweenTypealiasKeywordAndExtendedType, + extendedType: extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, name: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift index e25bab64ee6..834b3cfbe8a 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift @@ -602,7 +602,11 @@ public struct RawActorDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndActorKeyword: RawUnexpectedNodesSyntax? = nil, actorKeyword: RawTokenSyntax, - _ unexpectedBetweenActorKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenActorKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? = nil, genericParameterClause: RawGenericParameterClauseSyntax?, @@ -616,7 +620,7 @@ public struct RawActorDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .actorDecl, uninitializedCount: 17, arena: arena) { layout in + kind: .actorDecl, uninitializedCount: 21, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -624,17 +628,21 @@ public struct RawActorDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndActorKeyword?.raw layout[5] = actorKeyword.raw - layout[6] = unexpectedBetweenActorKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndGenericParameterClause?.raw - layout[9] = genericParameterClause?.raw - layout[10] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw - layout[11] = inheritanceClause?.raw - layout[12] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw - layout[15] = memberBlock.raw - layout[16] = unexpectedAfterMemberBlock?.raw + layout[6] = unexpectedBetweenActorKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndGenericParameterClause?.raw + layout[13] = genericParameterClause?.raw + layout[14] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw + layout[15] = inheritanceClause?.raw + layout[16] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw + layout[19] = memberBlock.raw + layout[20] = unexpectedAfterMemberBlock?.raw } self.init(unchecked: raw) } @@ -663,48 +671,64 @@ public struct RawActorDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenActorKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenActorKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericParameterClause: RawGenericParameterClauseSyntax? { - layoutView.children[9].map(RawGenericParameterClauseSyntax.init(raw:)) + layoutView.children[13].map(RawGenericParameterClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var inheritanceClause: RawInheritanceClauseSyntax? { - layoutView.children[11].map(RawInheritanceClauseSyntax.init(raw:)) + layoutView.children[15].map(RawInheritanceClauseSyntax.init(raw:)) } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } public var memberBlock: RawMemberBlockSyntax { - layoutView.children[15].map(RawMemberBlockSyntax.init(raw:))! + layoutView.children[19].map(RawMemberBlockSyntax.init(raw:))! } public var unexpectedAfterMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[20].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift index 8e4a50643d6..5a01f4a1775 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift @@ -512,7 +512,11 @@ public struct RawClassDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndClassKeyword: RawUnexpectedNodesSyntax? = nil, classKeyword: RawTokenSyntax, - _ unexpectedBetweenClassKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenClassKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? = nil, genericParameterClause: RawGenericParameterClauseSyntax?, @@ -526,7 +530,7 @@ public struct RawClassDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .classDecl, uninitializedCount: 17, arena: arena) { layout in + kind: .classDecl, uninitializedCount: 21, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -534,17 +538,21 @@ public struct RawClassDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndClassKeyword?.raw layout[5] = classKeyword.raw - layout[6] = unexpectedBetweenClassKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndGenericParameterClause?.raw - layout[9] = genericParameterClause?.raw - layout[10] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw - layout[11] = inheritanceClause?.raw - layout[12] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw - layout[15] = memberBlock.raw - layout[16] = unexpectedAfterMemberBlock?.raw + layout[6] = unexpectedBetweenClassKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndGenericParameterClause?.raw + layout[13] = genericParameterClause?.raw + layout[14] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw + layout[15] = inheritanceClause?.raw + layout[16] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw + layout[19] = memberBlock.raw + layout[20] = unexpectedAfterMemberBlock?.raw } self.init(unchecked: raw) } @@ -573,48 +581,64 @@ public struct RawClassDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenClassKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenClassKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericParameterClause: RawGenericParameterClauseSyntax? { - layoutView.children[9].map(RawGenericParameterClauseSyntax.init(raw:)) + layoutView.children[13].map(RawGenericParameterClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var inheritanceClause: RawInheritanceClauseSyntax? { - layoutView.children[11].map(RawInheritanceClauseSyntax.init(raw:)) + layoutView.children[15].map(RawInheritanceClauseSyntax.init(raw:)) } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } public var memberBlock: RawMemberBlockSyntax { - layoutView.children[15].map(RawMemberBlockSyntax.init(raw:))! + layoutView.children[19].map(RawMemberBlockSyntax.init(raw:))! } public var unexpectedAfterMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[20].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift index 7ac0c48d843..6f3a52ac928 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift @@ -741,7 +741,11 @@ public struct RawEnumDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndEnumKeyword: RawUnexpectedNodesSyntax? = nil, enumKeyword: RawTokenSyntax, - _ unexpectedBetweenEnumKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenEnumKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? = nil, genericParameterClause: RawGenericParameterClauseSyntax?, @@ -755,7 +759,7 @@ public struct RawEnumDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .enumDecl, uninitializedCount: 17, arena: arena) { layout in + kind: .enumDecl, uninitializedCount: 21, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -763,17 +767,21 @@ public struct RawEnumDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndEnumKeyword?.raw layout[5] = enumKeyword.raw - layout[6] = unexpectedBetweenEnumKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndGenericParameterClause?.raw - layout[9] = genericParameterClause?.raw - layout[10] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw - layout[11] = inheritanceClause?.raw - layout[12] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw - layout[15] = memberBlock.raw - layout[16] = unexpectedAfterMemberBlock?.raw + layout[6] = unexpectedBetweenEnumKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndGenericParameterClause?.raw + layout[13] = genericParameterClause?.raw + layout[14] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw + layout[15] = inheritanceClause?.raw + layout[16] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw + layout[19] = memberBlock.raw + layout[20] = unexpectedAfterMemberBlock?.raw } self.init(unchecked: raw) } @@ -802,48 +810,64 @@ public struct RawEnumDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenEnumKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenEnumKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericParameterClause: RawGenericParameterClauseSyntax? { - layoutView.children[9].map(RawGenericParameterClauseSyntax.init(raw:)) + layoutView.children[13].map(RawGenericParameterClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var inheritanceClause: RawInheritanceClauseSyntax? { - layoutView.children[11].map(RawInheritanceClauseSyntax.init(raw:)) + layoutView.children[15].map(RawInheritanceClauseSyntax.init(raw:)) } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } public var memberBlock: RawMemberBlockSyntax { - layoutView.children[15].map(RawMemberBlockSyntax.init(raw:))! + layoutView.children[19].map(RawMemberBlockSyntax.init(raw:))! } public var unexpectedAfterMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[20].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift index e36fb1f30ce..3cc537fd9ef 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift @@ -2710,7 +2710,11 @@ public struct RawProtocolDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndProtocolKeyword: RawUnexpectedNodesSyntax? = nil, protocolKeyword: RawTokenSyntax, - _ unexpectedBetweenProtocolKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenProtocolKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndPrimaryAssociatedTypeClause: RawUnexpectedNodesSyntax? = nil, primaryAssociatedTypeClause: RawPrimaryAssociatedTypeClauseSyntax?, @@ -2724,7 +2728,7 @@ public struct RawProtocolDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .protocolDecl, uninitializedCount: 17, arena: arena) { layout in + kind: .protocolDecl, uninitializedCount: 21, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -2732,17 +2736,21 @@ public struct RawProtocolDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndProtocolKeyword?.raw layout[5] = protocolKeyword.raw - layout[6] = unexpectedBetweenProtocolKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndPrimaryAssociatedTypeClause?.raw - layout[9] = primaryAssociatedTypeClause?.raw - layout[10] = unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause?.raw - layout[11] = inheritanceClause?.raw - layout[12] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw - layout[15] = memberBlock.raw - layout[16] = unexpectedAfterMemberBlock?.raw + layout[6] = unexpectedBetweenProtocolKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndPrimaryAssociatedTypeClause?.raw + layout[13] = primaryAssociatedTypeClause?.raw + layout[14] = unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause?.raw + layout[15] = inheritanceClause?.raw + layout[16] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw + layout[19] = memberBlock.raw + layout[20] = unexpectedAfterMemberBlock?.raw } self.init(unchecked: raw) } @@ -2771,47 +2779,63 @@ public struct RawProtocolDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenProtocolKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenProtocolKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndPrimaryAssociatedTypeClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var primaryAssociatedTypeClause: RawPrimaryAssociatedTypeClauseSyntax? { - layoutView.children[9].map(RawPrimaryAssociatedTypeClauseSyntax.init(raw:)) + layoutView.children[13].map(RawPrimaryAssociatedTypeClauseSyntax.init(raw:)) } public var unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var inheritanceClause: RawInheritanceClauseSyntax? { - layoutView.children[11].map(RawInheritanceClauseSyntax.init(raw:)) + layoutView.children[15].map(RawInheritanceClauseSyntax.init(raw:)) } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } public var memberBlock: RawMemberBlockSyntax { - layoutView.children[15].map(RawMemberBlockSyntax.init(raw:))! + layoutView.children[19].map(RawMemberBlockSyntax.init(raw:))! } public var unexpectedAfterMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[20].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift index fb8d2038f1a..5c9c572a44a 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift @@ -1520,7 +1520,11 @@ public struct RawStructDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndStructKeyword: RawUnexpectedNodesSyntax? = nil, structKeyword: RawTokenSyntax, - _ unexpectedBetweenStructKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenStructKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? = nil, genericParameterClause: RawGenericParameterClauseSyntax?, @@ -1534,7 +1538,7 @@ public struct RawStructDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .structDecl, uninitializedCount: 17, arena: arena) { layout in + kind: .structDecl, uninitializedCount: 21, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -1542,17 +1546,21 @@ public struct RawStructDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndStructKeyword?.raw layout[5] = structKeyword.raw - layout[6] = unexpectedBetweenStructKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndGenericParameterClause?.raw - layout[9] = genericParameterClause?.raw - layout[10] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw - layout[11] = inheritanceClause?.raw - layout[12] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw - layout[15] = memberBlock.raw - layout[16] = unexpectedAfterMemberBlock?.raw + layout[6] = unexpectedBetweenStructKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndGenericParameterClause?.raw + layout[13] = genericParameterClause?.raw + layout[14] = unexpectedBetweenGenericParameterClauseAndInheritanceClause?.raw + layout[15] = inheritanceClause?.raw + layout[16] = unexpectedBetweenInheritanceClauseAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedBetweenGenericWhereClauseAndMemberBlock?.raw + layout[19] = memberBlock.raw + layout[20] = unexpectedAfterMemberBlock?.raw } self.init(unchecked: raw) } @@ -1581,48 +1589,64 @@ public struct RawStructDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenStructKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenStructKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericParameterClause: RawGenericParameterClauseSyntax? { - layoutView.children[9].map(RawGenericParameterClauseSyntax.init(raw:)) + layoutView.children[13].map(RawGenericParameterClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var inheritanceClause: RawInheritanceClauseSyntax? { - layoutView.children[11].map(RawInheritanceClauseSyntax.init(raw:)) + layoutView.children[15].map(RawInheritanceClauseSyntax.init(raw:)) } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } public var memberBlock: RawMemberBlockSyntax { - layoutView.children[15].map(RawMemberBlockSyntax.init(raw:))! + layoutView.children[19].map(RawMemberBlockSyntax.init(raw:))! } public var unexpectedAfterMemberBlock: RawUnexpectedNodesSyntax? { - layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[20].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift index 0de57b84777..05e786792b9 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift @@ -1046,7 +1046,11 @@ public struct RawTypeAliasDeclSyntax: RawDeclSyntaxNodeProtocol { modifiers: RawDeclModifierListSyntax, _ unexpectedBetweenModifiersAndTypealiasKeyword: RawUnexpectedNodesSyntax? = nil, typealiasKeyword: RawTokenSyntax, - _ unexpectedBetweenTypealiasKeywordAndName: RawUnexpectedNodesSyntax? = nil, + _ unexpectedBetweenTypealiasKeywordAndExtendedType: RawUnexpectedNodesSyntax? = nil, + extendedType: RawTypeSyntax?, + _ unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? = nil, + period: RawTokenSyntax?, + _ unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? = nil, name: RawTokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? = nil, genericParameterClause: RawGenericParameterClauseSyntax?, @@ -1058,7 +1062,7 @@ public struct RawTypeAliasDeclSyntax: RawDeclSyntaxNodeProtocol { arena: __shared SyntaxArena ) { let raw = RawSyntax.makeLayout( - kind: .typeAliasDecl, uninitializedCount: 15, arena: arena) { layout in + kind: .typeAliasDecl, uninitializedCount: 19, arena: arena) { layout in layout.initialize(repeating: nil) layout[0] = unexpectedBeforeAttributes?.raw layout[1] = attributes.raw @@ -1066,15 +1070,19 @@ public struct RawTypeAliasDeclSyntax: RawDeclSyntaxNodeProtocol { layout[3] = modifiers.raw layout[4] = unexpectedBetweenModifiersAndTypealiasKeyword?.raw layout[5] = typealiasKeyword.raw - layout[6] = unexpectedBetweenTypealiasKeywordAndName?.raw - layout[7] = name.raw - layout[8] = unexpectedBetweenNameAndGenericParameterClause?.raw - layout[9] = genericParameterClause?.raw - layout[10] = unexpectedBetweenGenericParameterClauseAndInitializer?.raw - layout[11] = initializer.raw - layout[12] = unexpectedBetweenInitializerAndGenericWhereClause?.raw - layout[13] = genericWhereClause?.raw - layout[14] = unexpectedAfterGenericWhereClause?.raw + layout[6] = unexpectedBetweenTypealiasKeywordAndExtendedType?.raw + layout[7] = extendedType?.raw + layout[8] = unexpectedBetweenExtendedTypeAndPeriod?.raw + layout[9] = period?.raw + layout[10] = unexpectedBetweenPeriodAndName?.raw + layout[11] = name.raw + layout[12] = unexpectedBetweenNameAndGenericParameterClause?.raw + layout[13] = genericParameterClause?.raw + layout[14] = unexpectedBetweenGenericParameterClauseAndInitializer?.raw + layout[15] = initializer.raw + layout[16] = unexpectedBetweenInitializerAndGenericWhereClause?.raw + layout[17] = genericWhereClause?.raw + layout[18] = unexpectedAfterGenericWhereClause?.raw } self.init(unchecked: raw) } @@ -1103,40 +1111,56 @@ public struct RawTypeAliasDeclSyntax: RawDeclSyntaxNodeProtocol { layoutView.children[5].map(RawTokenSyntax.init(raw:))! } - public var unexpectedBetweenTypealiasKeywordAndName: RawUnexpectedNodesSyntax? { + public var unexpectedBetweenTypealiasKeywordAndExtendedType: RawUnexpectedNodesSyntax? { layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:)) } + public var extendedType: RawTypeSyntax? { + layoutView.children[7].map(RawTypeSyntax.init(raw:)) + } + + public var unexpectedBetweenExtendedTypeAndPeriod: RawUnexpectedNodesSyntax? { + layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + } + + public var period: RawTokenSyntax? { + layoutView.children[9].map(RawTokenSyntax.init(raw:)) + } + + public var unexpectedBetweenPeriodAndName: RawUnexpectedNodesSyntax? { + layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + } + public var name: RawTokenSyntax { - layoutView.children[7].map(RawTokenSyntax.init(raw:))! + layoutView.children[11].map(RawTokenSyntax.init(raw:))! } public var unexpectedBetweenNameAndGenericParameterClause: RawUnexpectedNodesSyntax? { - layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericParameterClause: RawGenericParameterClauseSyntax? { - layoutView.children[9].map(RawGenericParameterClauseSyntax.init(raw:)) + layoutView.children[13].map(RawGenericParameterClauseSyntax.init(raw:)) } public var unexpectedBetweenGenericParameterClauseAndInitializer: RawUnexpectedNodesSyntax? { - layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) } public var initializer: RawTypeInitializerClauseSyntax { - layoutView.children[11].map(RawTypeInitializerClauseSyntax.init(raw:))! + layoutView.children[15].map(RawTypeInitializerClauseSyntax.init(raw:))! } public var unexpectedBetweenInitializerAndGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[16].map(RawUnexpectedNodesSyntax.init(raw:)) } public var genericWhereClause: RawGenericWhereClauseSyntax? { - layoutView.children[13].map(RawGenericWhereClauseSyntax.init(raw:)) + layoutView.children[17].map(RawGenericWhereClauseSyntax.init(raw:)) } public var unexpectedAfterGenericWhereClause: RawUnexpectedNodesSyntax? { - layoutView.children[14].map(RawUnexpectedNodesSyntax.init(raw:)) + layoutView.children[18].map(RawUnexpectedNodesSyntax.init(raw:)) } } diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift b/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift index c46645b2dc1..e91d67f5d80 100644 --- a/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift +++ b/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift @@ -280,7 +280,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) } func validateActorDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 17) + assert(layout.count == 21) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -288,16 +288,20 @@ 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: [.keyword("actor")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawGenericParameterClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawInheritanceClauseSyntax?.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawGenericParameterClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 15, verify(layout[15], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 15, verify(layout[15], as: RawInheritanceClauseSyntax?.self)) assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 19, verify(layout[19], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 20, verify(layout[20], as: RawUnexpectedNodesSyntax?.self)) } func validateArrayElementListSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { for (index, element) in layout.enumerated() { @@ -554,7 +558,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) } func validateClassDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 17) + assert(layout.count == 21) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -562,16 +566,20 @@ 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: [.keyword("class")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawGenericParameterClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawInheritanceClauseSyntax?.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawGenericParameterClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 15, verify(layout[15], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 15, verify(layout[15], as: RawInheritanceClauseSyntax?.self)) assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 19, verify(layout[19], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 20, verify(layout[20], as: RawUnexpectedNodesSyntax?.self)) } func validateClassRestrictionTypeSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { assert(layout.count == 3) @@ -1208,7 +1216,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) } func validateEnumDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 17) + assert(layout.count == 21) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -1216,16 +1224,20 @@ 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: [.keyword("enum")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawGenericParameterClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawInheritanceClauseSyntax?.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawGenericParameterClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 15, verify(layout[15], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 15, verify(layout[15], as: RawInheritanceClauseSyntax?.self)) assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 19, verify(layout[19], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 20, verify(layout[20], as: RawUnexpectedNodesSyntax?.self)) } func validateExposeAttributeArgumentsSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { assert(layout.count == 7) @@ -2424,7 +2436,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 4, verify(layout[4], as: RawUnexpectedNodesSyntax?.self)) } func validateProtocolDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 17) + assert(layout.count == 21) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -2432,16 +2444,20 @@ 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: [.keyword("protocol")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawPrimaryAssociatedTypeClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawInheritanceClauseSyntax?.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawPrimaryAssociatedTypeClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 15, verify(layout[15], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 15, verify(layout[15], as: RawInheritanceClauseSyntax?.self)) assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 19, verify(layout[19], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 20, verify(layout[20], as: RawUnexpectedNodesSyntax?.self)) } func validateRegexLiteralExprSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { assert(layout.count == 11) @@ -2613,7 +2629,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) } func validateStructDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 17) + assert(layout.count == 21) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -2621,16 +2637,20 @@ 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: [.keyword("struct")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawGenericParameterClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawInheritanceClauseSyntax?.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawGenericParameterClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 15, verify(layout[15], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 15, verify(layout[15], as: RawInheritanceClauseSyntax?.self)) assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 19, verify(layout[19], as: RawMemberBlockSyntax.self)) + assertNoError(kind, 20, verify(layout[20], as: RawUnexpectedNodesSyntax?.self)) } func validateSubscriptCallExprSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { assert(layout.count == 13) @@ -2870,7 +2890,7 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) { assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) } func validateTypeAliasDeclSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { - assert(layout.count == 15) + assert(layout.count == 19) assertNoError(kind, 0, verify(layout[0], as: RawUnexpectedNodesSyntax?.self)) assertNoError(kind, 1, verify(layout[1], as: RawAttributeListSyntax.self)) assertNoError(kind, 2, verify(layout[2], as: RawUnexpectedNodesSyntax?.self)) @@ -2878,14 +2898,18 @@ 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: [.keyword("typealias")])) assertNoError(kind, 6, verify(layout[6], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 7, verify(layout[7], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) + assertNoError(kind, 7, verify(layout[7], as: RawTypeSyntax?.self)) assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 9, verify(layout[9], as: RawGenericParameterClauseSyntax?.self)) + assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self, tokenChoices: [.tokenKind(.period)])) assertNoError(kind, 10, verify(layout[10], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 11, verify(layout[11], as: RawTypeInitializerClauseSyntax.self)) + assertNoError(kind, 11, verify(layout[11], as: RawTokenSyntax.self, tokenChoices: [.tokenKind(.identifier)])) assertNoError(kind, 12, verify(layout[12], as: RawUnexpectedNodesSyntax?.self)) - assertNoError(kind, 13, verify(layout[13], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 13, verify(layout[13], as: RawGenericParameterClauseSyntax?.self)) assertNoError(kind, 14, verify(layout[14], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 15, verify(layout[15], as: RawTypeInitializerClauseSyntax.self)) + assertNoError(kind, 16, verify(layout[16], as: RawUnexpectedNodesSyntax?.self)) + assertNoError(kind, 17, verify(layout[17], as: RawGenericWhereClauseSyntax?.self)) + assertNoError(kind, 18, verify(layout[18], as: RawUnexpectedNodesSyntax?.self)) } func validateTypeAnnotationSyntax(kind: SyntaxKind, layout: RawSyntaxBuffer) { assert(layout.count == 5) diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift index 8d16c8b8715..dea0f15675d 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift @@ -1201,6 +1201,8 @@ public struct AccessorParametersSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyn /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `actorKeyword`: `actor` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `genericParameterClause`: ``GenericParameterClauseSyntax``? /// - `inheritanceClause`: ``InheritanceClauseSyntax``? @@ -1225,6 +1227,7 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt /// - leadingTrivia: Trivia to be prepended to the leading trivia of the node’s first token. If the node is empty, there is no token to attach the trivia to and the parameter is ignored. /// - modifiers: Modifiers like `public` that are attached to the actor declaration. /// - actorKeyword: The `actor` keyword. + /// - extendedType: The `type` in which this actor is nested. /// - name: The name of the actor. If the name matches a reserved keyword use backticks to escape it. /// - genericParameterClause: The parameter clause that defines the generic parameters. /// - genericWhereClause: A `where` clause that places additional constraints on generic parameters like `where Element: Hashable`. @@ -1237,7 +1240,11 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndActorKeyword: UnexpectedNodesSyntax? = nil, actorKeyword: TokenSyntax = .keyword(.actor), - _ unexpectedBetweenActorKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenActorKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -1259,7 +1266,11 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers, unexpectedBetweenModifiersAndActorKeyword, actorKeyword, - unexpectedBetweenActorKeywordAndName, + unexpectedBetweenActorKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause, @@ -1278,7 +1289,11 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers.raw, unexpectedBetweenModifiersAndActorKeyword?.raw, actorKeyword.raw, - unexpectedBetweenActorKeywordAndName?.raw, + unexpectedBetweenActorKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndGenericParameterClause?.raw, genericParameterClause?.raw, @@ -1415,7 +1430,7 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt } } - public var unexpectedBetweenActorKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenActorKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -1424,6 +1439,46 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt } } + /// The `type` in which this actor is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + } + } + /// The name of the actor. If the name matches a reserved keyword use backticks to escape it. /// /// ### Tokens @@ -1431,93 +1486,93 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } /// The parameter clause that defines the generic parameters. public var genericParameterClause: GenericParameterClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(GenericParameterClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(GenericParameterClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var inheritanceClause: InheritanceClauseSyntax? { get { - return Syntax(self).child(at: 11)?.cast(InheritanceClauseSyntax.self) + return Syntax(self).child(at: 15)?.cast(InheritanceClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } /// A `where` clause that places additional constraints on generic parameters like `where Element: Hashable`. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var memberBlock: MemberBlockSyntax { get { - return Syntax(self).child(at: 15)!.cast(MemberBlockSyntax.self) + return Syntax(self).child(at: 19)!.cast(MemberBlockSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 19, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } public var unexpectedAfterMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 20)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) + self = Syntax(self).replacingChild(at: 20, with: Syntax(value), arena: SyntaxArena()).cast(ActorDeclSyntax.self) } } @@ -1528,7 +1583,11 @@ public struct ActorDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt \Self.modifiers, \Self.unexpectedBetweenModifiersAndActorKeyword, \Self.actorKeyword, - \Self.unexpectedBetweenActorKeywordAndName, + \Self.unexpectedBetweenActorKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndGenericParameterClause, \Self.genericParameterClause, diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift index 388e1a4a1c3..1cb0a325bec 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift @@ -756,6 +756,8 @@ public struct CatchItemSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyntaxNodePr /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `classKeyword`: `class` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `genericParameterClause`: ``GenericParameterClauseSyntax``? /// - `inheritanceClause`: ``InheritanceClauseSyntax``? @@ -781,6 +783,7 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt /// - attributes: Attributes attached to the class declaration, such as an `@available` attribute. /// - modifiers: Modifiers like `public` that are attached to the class declaration. /// - classKeyword: The `class` keyword for this declaration. + /// - extendedType: The `type` in which this class is nested. /// - name: The name of the class. /// - genericParameterClause: The generic parameters, if any, of the class declaration. /// - inheritanceClause: The inheritance clause describing one or more conformances for this class declaration. @@ -795,7 +798,11 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndClassKeyword: UnexpectedNodesSyntax? = nil, classKeyword: TokenSyntax = .keyword(.class), - _ unexpectedBetweenClassKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenClassKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -817,7 +824,11 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers, unexpectedBetweenModifiersAndClassKeyword, classKeyword, - unexpectedBetweenClassKeywordAndName, + unexpectedBetweenClassKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause, @@ -836,7 +847,11 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt modifiers.raw, unexpectedBetweenModifiersAndClassKeyword?.raw, classKeyword.raw, - unexpectedBetweenClassKeywordAndName?.raw, + unexpectedBetweenClassKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndGenericParameterClause?.raw, genericParameterClause?.raw, @@ -974,7 +989,7 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt } } - public var unexpectedBetweenClassKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenClassKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -983,6 +998,46 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt } } + /// The `type` in which this class is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + } + } + /// The name of the class. /// /// ### Tokens @@ -990,95 +1045,95 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } public var unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } /// The generic parameters, if any, of the class declaration. public var genericParameterClause: GenericParameterClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(GenericParameterClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(GenericParameterClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } /// The inheritance clause describing one or more conformances for this class declaration. public var inheritanceClause: InheritanceClauseSyntax? { get { - return Syntax(self).child(at: 11)?.cast(InheritanceClauseSyntax.self) + return Syntax(self).child(at: 15)?.cast(InheritanceClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } /// The `where` clause that applies to the generic parameters of this class declaration. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } /// The members of the class declaration. As class extension declarations may declare additional members, the contents of this member block isn't guaranteed to be a complete list of members for this type. public var memberBlock: MemberBlockSyntax { get { - return Syntax(self).child(at: 15)!.cast(MemberBlockSyntax.self) + return Syntax(self).child(at: 19)!.cast(MemberBlockSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 19, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } public var unexpectedAfterMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 20)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) + self = Syntax(self).replacingChild(at: 20, with: Syntax(value), arena: SyntaxArena()).cast(ClassDeclSyntax.self) } } @@ -1089,7 +1144,11 @@ public struct ClassDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynt \Self.modifiers, \Self.unexpectedBetweenModifiersAndClassKeyword, \Self.classKeyword, - \Self.unexpectedBetweenClassKeywordAndName, + \Self.unexpectedBetweenClassKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndGenericParameterClause, \Self.genericParameterClause, diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift index 01ac92dda70..d54ac1d70bc 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift @@ -1255,6 +1255,8 @@ public struct EnumCaseParameterSyntax: SyntaxProtocol, SyntaxHashable, _LeafSynt /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `enumKeyword`: `enum` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `genericParameterClause`: ``GenericParameterClauseSyntax``? /// - `inheritanceClause`: ``InheritanceClauseSyntax``? @@ -1280,6 +1282,7 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta /// - attributes: The attributes applied to the enum declaration. /// - modifiers: The declaration modifiers applied to the enum declaration. /// - enumKeyword: The `enum` keyword for this declaration. + /// - extendedType: The `type` in which this enum declaration is nested. /// - name: Declares the name of this enum. If the name matches a reserved keyword use backticks to escape it. /// - genericParameterClause: The generic parameters, if any, for this enum declaration. /// - inheritanceClause: The inheritance clause describing conformances or raw values for this enum declaration. @@ -1294,7 +1297,11 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndEnumKeyword: UnexpectedNodesSyntax? = nil, enumKeyword: TokenSyntax = .keyword(.enum), - _ unexpectedBetweenEnumKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenEnumKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -1316,7 +1323,11 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta modifiers, unexpectedBetweenModifiersAndEnumKeyword, enumKeyword, - unexpectedBetweenEnumKeywordAndName, + unexpectedBetweenEnumKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause, @@ -1335,7 +1346,11 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta modifiers.raw, unexpectedBetweenModifiersAndEnumKeyword?.raw, enumKeyword.raw, - unexpectedBetweenEnumKeywordAndName?.raw, + unexpectedBetweenEnumKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndGenericParameterClause?.raw, genericParameterClause?.raw, @@ -1473,7 +1488,7 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta } } - public var unexpectedBetweenEnumKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenEnumKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -1482,6 +1497,46 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta } } + /// The `type` in which this enum declaration is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + } + } + /// Declares the name of this enum. If the name matches a reserved keyword use backticks to escape it. /// /// ### Tokens @@ -1489,95 +1544,95 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } public var unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } /// The generic parameters, if any, for this enum declaration. public var genericParameterClause: GenericParameterClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(GenericParameterClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(GenericParameterClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } /// The inheritance clause describing conformances or raw values for this enum declaration. public var inheritanceClause: InheritanceClauseSyntax? { get { - return Syntax(self).child(at: 11)?.cast(InheritanceClauseSyntax.self) + return Syntax(self).child(at: 15)?.cast(InheritanceClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } /// The `where` clause that applies to the generic parameters of this enum declaration. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } /// The cases and other members associated with this enum declaration. Because enum extension declarations may declare additional members the contents of this member block isn't guaranteed to be a complete list of members for this type. public var memberBlock: MemberBlockSyntax { get { - return Syntax(self).child(at: 15)!.cast(MemberBlockSyntax.self) + return Syntax(self).child(at: 19)!.cast(MemberBlockSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 19, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } public var unexpectedAfterMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 20)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) + self = Syntax(self).replacingChild(at: 20, with: Syntax(value), arena: SyntaxArena()).cast(EnumDeclSyntax.self) } } @@ -1588,7 +1643,11 @@ public struct EnumDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSynta \Self.modifiers, \Self.unexpectedBetweenModifiersAndEnumKeyword, \Self.enumKeyword, - \Self.unexpectedBetweenEnumKeywordAndName, + \Self.unexpectedBetweenEnumKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndGenericParameterClause, \Self.genericParameterClause, diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift index 86366893f9b..9a080e28ce0 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift @@ -4471,6 +4471,8 @@ public struct PrimaryAssociatedTypeSyntax: SyntaxProtocol, SyntaxHashable, _Leaf /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `protocolKeyword`: `protocol` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `primaryAssociatedTypeClause`: ``PrimaryAssociatedTypeClauseSyntax``? /// - `inheritanceClause`: ``InheritanceClauseSyntax``? @@ -4496,6 +4498,7 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS /// - attributes: Attributes attached to the protocol declaration, such as an `@available` attribute. /// - modifiers: Modifiers attached to the protocol declaration, such as `public`. /// - protocolKeyword: The `protocol` keyword for this declaration. + /// - extendedType: The `type` in which this protocol is nested. /// - name: The name of the protocol. /// - primaryAssociatedTypeClause: The primary associated type for the protocol. /// - inheritanceClause: The inheritance clause describing one or more conformances for this protocol declaration. @@ -4510,7 +4513,11 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndProtocolKeyword: UnexpectedNodesSyntax? = nil, protocolKeyword: TokenSyntax = .keyword(.protocol), - _ unexpectedBetweenProtocolKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenProtocolKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndPrimaryAssociatedTypeClause: UnexpectedNodesSyntax? = nil, primaryAssociatedTypeClause: PrimaryAssociatedTypeClauseSyntax? = nil, @@ -4532,7 +4539,11 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS modifiers, unexpectedBetweenModifiersAndProtocolKeyword, protocolKeyword, - unexpectedBetweenProtocolKeywordAndName, + unexpectedBetweenProtocolKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndPrimaryAssociatedTypeClause, primaryAssociatedTypeClause, @@ -4551,7 +4562,11 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS modifiers.raw, unexpectedBetweenModifiersAndProtocolKeyword?.raw, protocolKeyword.raw, - unexpectedBetweenProtocolKeywordAndName?.raw, + unexpectedBetweenProtocolKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndPrimaryAssociatedTypeClause?.raw, primaryAssociatedTypeClause?.raw, @@ -4689,7 +4704,7 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS } } - public var unexpectedBetweenProtocolKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenProtocolKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -4698,6 +4713,46 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS } } + /// The `type` in which this protocol is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + } + } + /// The name of the protocol. /// /// ### Tokens @@ -4705,95 +4760,95 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } public var unexpectedBetweenNameAndPrimaryAssociatedTypeClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } /// The primary associated type for the protocol. public var primaryAssociatedTypeClause: PrimaryAssociatedTypeClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(PrimaryAssociatedTypeClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(PrimaryAssociatedTypeClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } public var unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } /// The inheritance clause describing one or more conformances for this protocol declaration. public var inheritanceClause: InheritanceClauseSyntax? { get { - return Syntax(self).child(at: 11)?.cast(InheritanceClauseSyntax.self) + return Syntax(self).child(at: 15)?.cast(InheritanceClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } /// The `where` clause that applies to the generic parameters of this protocol declaration. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } /// The members of the protocol declaration. public var memberBlock: MemberBlockSyntax { get { - return Syntax(self).child(at: 15)!.cast(MemberBlockSyntax.self) + return Syntax(self).child(at: 19)!.cast(MemberBlockSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 19, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } public var unexpectedAfterMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 20)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) + self = Syntax(self).replacingChild(at: 20, with: Syntax(value), arena: SyntaxArena()).cast(ProtocolDeclSyntax.self) } } @@ -4804,7 +4859,11 @@ public struct ProtocolDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclS \Self.modifiers, \Self.unexpectedBetweenModifiersAndProtocolKeyword, \Self.protocolKeyword, - \Self.unexpectedBetweenProtocolKeywordAndName, + \Self.unexpectedBetweenProtocolKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndPrimaryAssociatedTypeClause, \Self.primaryAssociatedTypeClause, diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift index 21a910ba8af..7019383bdd9 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift @@ -2492,6 +2492,8 @@ public struct StringSegmentSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyntaxNo /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `structKeyword`: `struct` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `genericParameterClause`: ``GenericParameterClauseSyntax``? /// - `inheritanceClause`: ``InheritanceClauseSyntax``? @@ -2517,6 +2519,7 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn /// - attributes: Attributes that are attached to the struct declaration. /// - modifiers: Modifiers like `public` that are attached to the struct declaration. /// - structKeyword: The `struct` keyword for this declaration. + /// - extendedType: The `type` in which this struct is nested. /// - name: Declares the name of this struct. If the name matches a reserved keyword use backticks to escape it. /// - genericParameterClause: The generic parameters, if any, of the struct declaration. /// - inheritanceClause: The struct declaration inheritance clause describing one or more conformances for this struct declaration. @@ -2531,7 +2534,11 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndStructKeyword: UnexpectedNodesSyntax? = nil, structKeyword: TokenSyntax = .keyword(.struct), - _ unexpectedBetweenStructKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenStructKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -2553,7 +2560,11 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn modifiers, unexpectedBetweenModifiersAndStructKeyword, structKeyword, - unexpectedBetweenStructKeywordAndName, + unexpectedBetweenStructKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause, @@ -2572,7 +2583,11 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn modifiers.raw, unexpectedBetweenModifiersAndStructKeyword?.raw, structKeyword.raw, - unexpectedBetweenStructKeywordAndName?.raw, + unexpectedBetweenStructKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndGenericParameterClause?.raw, genericParameterClause?.raw, @@ -2710,7 +2725,7 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn } } - public var unexpectedBetweenStructKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenStructKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -2719,6 +2734,46 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn } } + /// The `type` in which this struct is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + } + } + /// Declares the name of this struct. If the name matches a reserved keyword use backticks to escape it. /// /// ### Tokens @@ -2726,95 +2781,95 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } public var unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } /// The generic parameters, if any, of the struct declaration. public var genericParameterClause: GenericParameterClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(GenericParameterClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(GenericParameterClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } public var unexpectedBetweenGenericParameterClauseAndInheritanceClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } /// The struct declaration inheritance clause describing one or more conformances for this struct declaration. public var inheritanceClause: InheritanceClauseSyntax? { get { - return Syntax(self).child(at: 11)?.cast(InheritanceClauseSyntax.self) + return Syntax(self).child(at: 15)?.cast(InheritanceClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } public var unexpectedBetweenInheritanceClauseAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } /// The `where` clause that applies to the generic parameters of this struct declaration. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } public var unexpectedBetweenGenericWhereClauseAndMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } /// The members of the struct declaration. Because struct extension declarations may declare additional members the contents of this member block isn't guaranteed to be a complete list of members for this type. public var memberBlock: MemberBlockSyntax { get { - return Syntax(self).child(at: 15)!.cast(MemberBlockSyntax.self) + return Syntax(self).child(at: 19)!.cast(MemberBlockSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 19, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } public var unexpectedAfterMemberBlock: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 20)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) + self = Syntax(self).replacingChild(at: 20, with: Syntax(value), arena: SyntaxArena()).cast(StructDeclSyntax.self) } } @@ -2825,7 +2880,11 @@ public struct StructDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDeclSyn \Self.modifiers, \Self.unexpectedBetweenModifiersAndStructKeyword, \Self.structKeyword, - \Self.unexpectedBetweenStructKeywordAndName, + \Self.unexpectedBetweenStructKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndGenericParameterClause, \Self.genericParameterClause, diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift index 2c9705a89c0..9bda1320d4b 100644 --- a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift +++ b/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift @@ -1848,6 +1848,8 @@ public struct TupleTypeSyntax: TypeSyntaxProtocol, SyntaxHashable, _LeafTypeSynt /// - `attributes`: ``AttributeListSyntax`` /// - `modifiers`: ``DeclModifierListSyntax`` /// - `typealiasKeyword`: `typealias` +/// - `extendedType`: ``TypeSyntax``? +/// - `period`: `.`? /// - `name`: `` /// - `genericParameterClause`: ``GenericParameterClauseSyntax``? /// - `initializer`: ``TypeInitializerClauseSyntax`` @@ -1869,6 +1871,7 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl /// - Parameters: /// - leadingTrivia: Trivia to be prepended to the leading trivia of the node’s first token. If the node is empty, there is no token to attach the trivia to and the parameter is ignored. + /// - extendedType: The `type` in which this type alias is nested. /// - genericParameterClause: The parameter clause that defines the generic parameters. /// - genericWhereClause: A `where` clause that places additional constraints on generic parameters like `where Element: Hashable`. /// - trailingTrivia: Trivia to be appended to the trailing trivia of the node’s last token. If the node is empty, there is no token to attach the trivia to and the parameter is ignored. @@ -1880,7 +1883,11 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl modifiers: DeclModifierListSyntax = [], _ unexpectedBetweenModifiersAndTypealiasKeyword: UnexpectedNodesSyntax? = nil, typealiasKeyword: TokenSyntax = .keyword(.typealias), - _ unexpectedBetweenTypealiasKeywordAndName: UnexpectedNodesSyntax? = nil, + _ unexpectedBetweenTypealiasKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: (some TypeSyntaxProtocol)? = TypeSyntax?.none, + _ unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + _ unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -1900,7 +1907,11 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl modifiers, unexpectedBetweenModifiersAndTypealiasKeyword, typealiasKeyword, - unexpectedBetweenTypealiasKeywordAndName, + unexpectedBetweenTypealiasKeywordAndExtendedType, + extendedType, + unexpectedBetweenExtendedTypeAndPeriod, + period, + unexpectedBetweenPeriodAndName, name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause, @@ -1917,7 +1928,11 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl modifiers.raw, unexpectedBetweenModifiersAndTypealiasKeyword?.raw, typealiasKeyword.raw, - unexpectedBetweenTypealiasKeywordAndName?.raw, + unexpectedBetweenTypealiasKeywordAndExtendedType?.raw, + extendedType?.raw, + unexpectedBetweenExtendedTypeAndPeriod?.raw, + period?.raw, + unexpectedBetweenPeriodAndName?.raw, name.raw, unexpectedBetweenNameAndGenericParameterClause?.raw, genericParameterClause?.raw, @@ -2049,7 +2064,7 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl } } - public var unexpectedBetweenTypealiasKeywordAndName: UnexpectedNodesSyntax? { + public var unexpectedBetweenTypealiasKeywordAndExtendedType: UnexpectedNodesSyntax? { get { return Syntax(self).child(at: 6)?.cast(UnexpectedNodesSyntax.self) } @@ -2058,80 +2073,120 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl } } + /// The `type` in which this type alias is nested. + public var extendedType: TypeSyntax? { + get { + return Syntax(self).child(at: 7)?.cast(TypeSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + } + } + + public var unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + } + } + + /// ### Tokens + /// + /// For syntax trees generated by the parser, this is guaranteed to be `.`. + public var period: TokenSyntax? { + get { + return Syntax(self).child(at: 9)?.cast(TokenSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + } + } + + public var unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? { + get { + return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + } + set(value) { + self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + } + } + /// ### Tokens /// /// For syntax trees generated by the parser, this is guaranteed to be ``. public var name: TokenSyntax { get { - return Syntax(self).child(at: 7)!.cast(TokenSyntax.self) + return Syntax(self).child(at: 11)!.cast(TokenSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 7, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } public var unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 8)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 8, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } /// The parameter clause that defines the generic parameters. public var genericParameterClause: GenericParameterClauseSyntax? { get { - return Syntax(self).child(at: 9)?.cast(GenericParameterClauseSyntax.self) + return Syntax(self).child(at: 13)?.cast(GenericParameterClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 9, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } public var unexpectedBetweenGenericParameterClauseAndInitializer: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 10)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 10, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } public var initializer: TypeInitializerClauseSyntax { get { - return Syntax(self).child(at: 11)!.cast(TypeInitializerClauseSyntax.self) + return Syntax(self).child(at: 15)!.cast(TypeInitializerClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 11, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 15, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } public var unexpectedBetweenInitializerAndGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 12)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 16)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 12, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 16, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } /// A `where` clause that places additional constraints on generic parameters like `where Element: Hashable`. public var genericWhereClause: GenericWhereClauseSyntax? { get { - return Syntax(self).child(at: 13)?.cast(GenericWhereClauseSyntax.self) + return Syntax(self).child(at: 17)?.cast(GenericWhereClauseSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 13, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 17, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } public var unexpectedAfterGenericWhereClause: UnexpectedNodesSyntax? { get { - return Syntax(self).child(at: 14)?.cast(UnexpectedNodesSyntax.self) + return Syntax(self).child(at: 18)?.cast(UnexpectedNodesSyntax.self) } set(value) { - self = Syntax(self).replacingChild(at: 14, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) + self = Syntax(self).replacingChild(at: 18, with: Syntax(value), arena: SyntaxArena()).cast(TypeAliasDeclSyntax.self) } } @@ -2142,7 +2197,11 @@ public struct TypeAliasDeclSyntax: DeclSyntaxProtocol, SyntaxHashable, _LeafDecl \Self.modifiers, \Self.unexpectedBetweenModifiersAndTypealiasKeyword, \Self.typealiasKeyword, - \Self.unexpectedBetweenTypealiasKeywordAndName, + \Self.unexpectedBetweenTypealiasKeywordAndExtendedType, + \Self.extendedType, + \Self.unexpectedBetweenExtendedTypeAndPeriod, + \Self.period, + \Self.unexpectedBetweenPeriodAndName, \Self.name, \Self.unexpectedBetweenNameAndGenericParameterClause, \Self.genericParameterClause, diff --git a/Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift b/Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift index fae1d39d232..6fcc65ea951 100644 --- a/Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift +++ b/Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift @@ -69,7 +69,11 @@ extension ActorDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndActorKeyword: UnexpectedNodesSyntax? = nil, actorKeyword: TokenSyntax = .keyword(.actor), - unexpectedBetweenActorKeywordAndName: UnexpectedNodesSyntax? = nil, + unexpectedBetweenActorKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -90,7 +94,11 @@ extension ActorDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndActorKeyword, actorKeyword: actorKeyword, - unexpectedBetweenActorKeywordAndName, + unexpectedBetweenActorKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndName, name: name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -170,7 +178,11 @@ extension ClassDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndClassKeyword: UnexpectedNodesSyntax? = nil, classKeyword: TokenSyntax = .keyword(.class), - unexpectedBetweenClassKeywordAndName: UnexpectedNodesSyntax? = nil, + unexpectedBetweenClassKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -191,7 +203,11 @@ extension ClassDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndClassKeyword, classKeyword: classKeyword, - unexpectedBetweenClassKeywordAndName, + unexpectedBetweenClassKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndName, name: name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -451,7 +467,11 @@ extension EnumDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndEnumKeyword: UnexpectedNodesSyntax? = nil, enumKeyword: TokenSyntax = .keyword(.enum), - unexpectedBetweenEnumKeywordAndName: UnexpectedNodesSyntax? = nil, + unexpectedBetweenEnumKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -472,7 +492,11 @@ extension EnumDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndEnumKeyword, enumKeyword: enumKeyword, - unexpectedBetweenEnumKeywordAndName, + unexpectedBetweenEnumKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndName, name: name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -1121,7 +1145,11 @@ extension ProtocolDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndProtocolKeyword: UnexpectedNodesSyntax? = nil, protocolKeyword: TokenSyntax = .keyword(.protocol), - unexpectedBetweenProtocolKeywordAndName: UnexpectedNodesSyntax? = nil, + unexpectedBetweenProtocolKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, unexpectedBetweenNameAndPrimaryAssociatedTypeClause: UnexpectedNodesSyntax? = nil, primaryAssociatedTypeClause: PrimaryAssociatedTypeClauseSyntax? = nil, @@ -1142,7 +1170,11 @@ extension ProtocolDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndProtocolKeyword, protocolKeyword: protocolKeyword, - unexpectedBetweenProtocolKeywordAndName, + unexpectedBetweenProtocolKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndName, name: name, unexpectedBetweenNameAndPrimaryAssociatedTypeClause, primaryAssociatedTypeClause: primaryAssociatedTypeClause, @@ -1245,7 +1277,11 @@ extension StructDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndStructKeyword: UnexpectedNodesSyntax? = nil, structKeyword: TokenSyntax = .keyword(.struct), - unexpectedBetweenStructKeywordAndName: UnexpectedNodesSyntax? = nil, + unexpectedBetweenStructKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, unexpectedBetweenNameAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -1266,7 +1302,11 @@ extension StructDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndStructKeyword, structKeyword: structKeyword, - unexpectedBetweenStructKeywordAndName, + unexpectedBetweenStructKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndName, name: name, unexpectedBetweenNameAndGenericParameterClause, genericParameterClause: genericParameterClause, diff --git a/Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift b/Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift index f7f344ef9a9..1bd13e20d37 100644 --- a/Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift +++ b/Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift @@ -73,7 +73,11 @@ extension ActorDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndActorKeyword: UnexpectedNodesSyntax? = nil, actorKeyword: TokenSyntax = .keyword(.actor), - unexpectedBetweenActorKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + unexpectedBetweenActorKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -94,7 +98,11 @@ extension ActorDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndActorKeyword, actorKeyword: actorKeyword, - unexpectedBetweenActorKeywordAndIdentifier, + unexpectedBetweenActorKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, identifier: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -151,7 +159,11 @@ extension ClassDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndClassKeyword: UnexpectedNodesSyntax? = nil, classKeyword: TokenSyntax = .keyword(.class), - unexpectedBetweenClassKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + unexpectedBetweenClassKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -172,7 +184,11 @@ extension ClassDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndClassKeyword, classKeyword: classKeyword, - unexpectedBetweenClassKeywordAndIdentifier, + unexpectedBetweenClassKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, identifier: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, @@ -200,7 +216,11 @@ extension EnumDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndEnumKeyword: UnexpectedNodesSyntax? = nil, enumKeyword: TokenSyntax = .keyword(.enum), - unexpectedBetweenEnumKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + unexpectedBetweenEnumKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, unexpectedBetweenIdentifierAndGenericParameters: UnexpectedNodesSyntax? = nil, genericParameters: GenericParameterClauseSyntax? = nil, @@ -221,7 +241,11 @@ extension EnumDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndEnumKeyword, enumKeyword: enumKeyword, - unexpectedBetweenEnumKeywordAndIdentifier, + unexpectedBetweenEnumKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, identifier: identifier, unexpectedBetweenIdentifierAndGenericParameters, genericParameters: genericParameters, @@ -711,7 +735,11 @@ extension ProtocolDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndProtocolKeyword: UnexpectedNodesSyntax? = nil, protocolKeyword: TokenSyntax = .keyword(.protocol), - unexpectedBetweenProtocolKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + unexpectedBetweenProtocolKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause: UnexpectedNodesSyntax? = nil, primaryAssociatedTypeClause: PrimaryAssociatedTypeClauseSyntax? = nil, @@ -732,7 +760,11 @@ extension ProtocolDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndProtocolKeyword, protocolKeyword: protocolKeyword, - unexpectedBetweenProtocolKeywordAndIdentifier, + unexpectedBetweenProtocolKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, identifier: identifier, unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause, primaryAssociatedTypeClause: primaryAssociatedTypeClause, @@ -789,7 +821,11 @@ extension StructDeclSyntax { modifiers: DeclModifierListSyntax = [], unexpectedBetweenModifiersAndStructKeyword: UnexpectedNodesSyntax? = nil, structKeyword: TokenSyntax = .keyword(.struct), - unexpectedBetweenStructKeywordAndIdentifier: UnexpectedNodesSyntax? = nil, + unexpectedBetweenStructKeywordAndExtendedType: UnexpectedNodesSyntax? = nil, + extendedType: TypeSyntaxProtocol? = TypeSyntax?.none, + unexpectedBetweenExtendedTypeAndPeriod: UnexpectedNodesSyntax? = nil, + period: TokenSyntax? = nil, + unexpectedBetweenPeriodAndIdentifier: UnexpectedNodesSyntax? = nil, identifier: TokenSyntax, unexpectedBetweenIdentifierAndGenericParameterClause: UnexpectedNodesSyntax? = nil, genericParameterClause: GenericParameterClauseSyntax? = nil, @@ -810,7 +846,11 @@ extension StructDeclSyntax { modifiers: modifiers, unexpectedBetweenModifiersAndStructKeyword, structKeyword: structKeyword, - unexpectedBetweenStructKeywordAndIdentifier, + unexpectedBetweenStructKeywordAndExtendedType, + extendedType: TypeSyntax(fromProtocol: extendedType), + unexpectedBetweenExtendedTypeAndPeriod, + period: period, + unexpectedBetweenPeriodAndIdentifier, identifier: identifier, unexpectedBetweenIdentifierAndGenericParameterClause, genericParameterClause: genericParameterClause, diff --git a/Tests/SwiftParserTest/DeclarationTests.swift b/Tests/SwiftParserTest/DeclarationTests.swift index 50a651948b2..db78b36f64b 100644 --- a/Tests/SwiftParserTest/DeclarationTests.swift +++ b/Tests/SwiftParserTest/DeclarationTests.swift @@ -3402,4 +3402,91 @@ final class DeclarationTests: ParserTestCase { ] ) } + + func testImplicitlyNestedNominals() { + assertParse( + "struct Outer.Inner {}", + substructure: StructDeclSyntax( + extendedType: TypeSyntax(IdentifierTypeSyntax(name: .identifier("Outer"))), + period: .periodToken(), + name: .identifier("Inner"), + memberBlock: MemberBlockSyntax( + leftBrace: .leftBraceToken(), + members: MemberBlockItemListSyntax(), + rightBrace: .rightBraceToken() + ) + ) + ) + assertParse( + "class Outer.Middle.Inner {}", + substructure: ClassDeclSyntax( + extendedType: TypeSyntax( + MemberTypeSyntax( + baseType: IdentifierTypeSyntax(name: .identifier("Outer")), + name: .identifier("Middle") + ) + ), + period: .periodToken(), + name: .identifier("Inner"), + memberBlock: MemberBlockSyntax( + leftBrace: .leftBraceToken(), + members: MemberBlockItemListSyntax(), + rightBrace: .rightBraceToken() + ) + ) + ) + assertParse( + "enum [Int].Nested {}", + substructure: EnumDeclSyntax( + extendedType: TypeSyntax( + ArrayTypeSyntax(element: IdentifierTypeSyntax(name: .identifier("Int"))) + ), + period: .periodToken(), + name: .identifier("Nested"), + memberBlock: MemberBlockSyntax( + leftBrace: .leftBraceToken(), + members: MemberBlockItemListSyntax(), + rightBrace: .rightBraceToken() + ) + ) + ) + assertParse( + "protocol Outer?.Inner {}", + substructure: ProtocolDeclSyntax( + extendedType: TypeSyntax( + OptionalTypeSyntax(wrappedType: IdentifierTypeSyntax(name: .identifier("Outer"))) + ), + period: .periodToken(), + name: .identifier("Inner"), + memberBlock: MemberBlockSyntax( + leftBrace: .leftBraceToken(), + members: MemberBlockItemListSyntax(), + rightBrace: .rightBraceToken() + ) + ) + ) + assertParse( + "typealias Outer.Inner = Other", + substructure: TypeAliasDeclSyntax( + extendedType: TypeSyntax( + IdentifierTypeSyntax( + name: .identifier("Outer"), + genericArgumentClause: GenericArgumentClauseSyntax( + arguments: [ + GenericArgumentSyntax( + argument: .type( + TypeSyntax(IdentifierTypeSyntax(name: .identifier("Param"))) + ) + ) + ]) + ) + ), + period: .periodToken(), + name: .identifier("Inner"), + initializer: TypeInitializerClauseSyntax( + value: IdentifierTypeSyntax(name: .identifier("Other")) + ) + ) + ) + } } diff --git a/Tests/SwiftSyntaxTest/RawSyntaxTests.swift b/Tests/SwiftSyntaxTest/RawSyntaxTests.swift index 67a6074dc1a..482a15310e2 100644 --- a/Tests/SwiftSyntaxTest/RawSyntaxTests.swift +++ b/Tests/SwiftSyntaxTest/RawSyntaxTests.swift @@ -56,6 +56,8 @@ fileprivate func cannedStructDecl(arena: ParsingSyntaxArena) -> RawStructDeclSyn attributes: RawAttributeListSyntax(elements: [], arena: arena), modifiers: RawDeclModifierListSyntax(elements: [], arena: arena), structKeyword: structKW, + extendedType: nil, + period: nil, name: fooID, genericParameterClause: nil, inheritanceClause: nil,