Skip to content

Commit 4573ba7

Browse files
authored
Merge pull request #948 from hamishknight/etc
2 parents a09903d + 32ae5d5 commit 4573ba7

File tree

18 files changed

+391
-83
lines changed

18 files changed

+391
-83
lines changed

CodeGeneration/Sources/SyntaxSupport/gyb_generated/GenericNodes.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ public let GENERIC_NODES: [Node] = [
145145
tokenChoices: [
146146
"Identifier"
147147
]),
148+
Child(name: "Ellipsis",
149+
kind: "EllipsisToken",
150+
isOptional: true,
151+
tokenChoices: [
152+
"Ellipsis"
153+
]),
148154
Child(name: "Colon",
149155
kind: "ColonToken",
150156
isOptional: true,

Sources/SwiftBasicFormat/generated/BasicFormat.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2304,13 +2304,15 @@ open class BasicFormat: SyntaxRewriter {
23042304
let attributes = node.attributes.map(self.visit)?.cast(AttributeListSyntax.self)
23052305
let unexpectedBetweenAttributesAndName = node.unexpectedBetweenAttributesAndName.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
23062306
let name = self.visit(node.name).cast(TokenSyntax.self)
2307-
let unexpectedBetweenNameAndColon = node.unexpectedBetweenNameAndColon.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
2307+
let unexpectedBetweenNameAndEllipsis = node.unexpectedBetweenNameAndEllipsis.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
2308+
let ellipsis = node.ellipsis.map(self.visit)?.cast(TokenSyntax.self)
2309+
let unexpectedBetweenEllipsisAndColon = node.unexpectedBetweenEllipsisAndColon.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
23082310
let colon = node.colon.map(self.visit)?.cast(TokenSyntax.self)
23092311
let unexpectedBetweenColonAndInheritedType = node.unexpectedBetweenColonAndInheritedType.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
23102312
let inheritedType = node.inheritedType.map(self.visit)?.cast(TypeSyntax.self)
23112313
let unexpectedBetweenInheritedTypeAndTrailingComma = node.unexpectedBetweenInheritedTypeAndTrailingComma.map(self.visit)?.cast(UnexpectedNodesSyntax.self)
23122314
let trailingComma = node.trailingComma.map(self.visit)?.cast(TokenSyntax.self)
2313-
return Syntax(GenericParameterSyntax(unexpectedBeforeAttributes, attributes: attributes, unexpectedBetweenAttributesAndName, name: name, unexpectedBetweenNameAndColon, colon: colon, unexpectedBetweenColonAndInheritedType, inheritedType: inheritedType, unexpectedBetweenInheritedTypeAndTrailingComma, trailingComma: trailingComma))
2315+
return Syntax(GenericParameterSyntax(unexpectedBeforeAttributes, attributes: attributes, unexpectedBetweenAttributesAndName, name: name, unexpectedBetweenNameAndEllipsis, ellipsis: ellipsis, unexpectedBetweenEllipsisAndColon, colon: colon, unexpectedBetweenColonAndInheritedType, inheritedType: inheritedType, unexpectedBetweenInheritedTypeAndTrailingComma, trailingComma: trailingComma))
23142316
}
23152317

23162318
open override func visit(_ node: PrimaryAssociatedTypeListSyntax) -> Syntax {

Sources/SwiftParser/Declarations.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,20 @@ extension Parser {
313313
}
314314

315315
extension Parser {
316+
/// Attempt to consume an ellipsis prefix, splitting the current token if
317+
/// necessary.
318+
mutating func tryConsumeEllipsisPrefix() -> RawTokenSyntax? {
319+
// It is not sufficient to check currentToken.isEllipsis here, as we may
320+
// have something like '...>'.
321+
// TODO: Recovery for different numbers of dots (which also needs to be
322+
// done for regular variadics).
323+
guard self.at(anyIn: Operator.self) != nil else { return nil }
324+
let text = self.currentToken.tokenText
325+
guard text.hasPrefix("...") else { return nil }
326+
return self.consumePrefix(
327+
SyntaxText(rebasing: text.prefix(3)), as: .ellipsis)
328+
}
329+
316330
@_spi(RawSyntax)
317331
public mutating func parseGenericParameters() -> RawGenericParameterClauseSyntax {
318332
assert(self.currentToken.starts(with: "<"))
@@ -330,6 +344,9 @@ extension Parser {
330344
break
331345
}
332346

347+
// Parse the ellipsis for a type parameter pack 'T...'.
348+
let ellipsis = tryConsumeEllipsisPrefix()
349+
333350
// Parse the ':' followed by a type.
334351
let colon = self.consume(if: .colon)
335352
let inherited: RawTypeSyntax?
@@ -347,6 +364,7 @@ extension Parser {
347364
attributes: attributes,
348365
unexpectedBeforeName,
349366
name: name,
367+
ellipsis: ellipsis,
350368
colon: colon,
351369
inheritedType: inherited,
352370
trailingComma: keepGoing,
@@ -1102,6 +1120,13 @@ extension Parser {
11021120
arena: self.arena)
11031121
}
11041122

1123+
// Detect an attempt to use a type parameter pack.
1124+
var unexpectedAfterName: RawUnexpectedNodesSyntax?
1125+
if let ellipsis = tryConsumeEllipsisPrefix() {
1126+
unexpectedAfterName = RawUnexpectedNodesSyntax(
1127+
elements: [RawSyntax(ellipsis)], arena: self.arena)
1128+
}
1129+
11051130
// Parse optional inheritance clause.
11061131
let inheritance: RawTypeInheritanceClauseSyntax?
11071132
if self.at(.colon) {
@@ -1137,6 +1162,7 @@ extension Parser {
11371162
associatedtypeKeyword: assocKeyword,
11381163
unexpectedBeforeName,
11391164
identifier: name,
1165+
unexpectedAfterName,
11401166
inheritanceClause: inheritance,
11411167
initializer: defaultType,
11421168
genericWhereClause: whereClause,

Sources/SwiftParser/Diagnostics/ParseDiagnosticsGenerator.swift

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,29 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
145145
addDiagnostic(incorrectContainer, message(misplacedTokens), fixIts: fixIts, handledNodes: [incorrectContainer.id] + correctAndMissingTokens.map(\.id))
146146
}
147147

148+
/// Utility function to remove a misplaced token with a custom error message.
149+
public func removeToken(
150+
_ unexpected: UnexpectedNodesSyntax?,
151+
where predicate: (TokenSyntax) -> Bool,
152+
message: (TokenSyntax) -> DiagnosticMessage
153+
) {
154+
guard let unexpected = unexpected,
155+
let misplacedToken = unexpected.onlyToken(where: predicate)
156+
else {
157+
// If there is no unexpected node or the unexpected doesn't have the
158+
// expected token, don't emit a diagnostic.
159+
return
160+
}
161+
let fixit = FixIt(
162+
message: RemoveNodesFixIt(unexpected),
163+
changes: [.remove(unexpected: unexpected)]
164+
)
165+
addDiagnostic(
166+
unexpected, message(misplacedToken), fixIts: [fixit],
167+
handledNodes: [unexpected.id]
168+
)
169+
}
170+
148171
// MARK: - Generic diagnostic generation
149172

150173
public override func visitAny(_ node: Syntax) -> SyntaxVisitorContinueKind {
@@ -563,6 +586,20 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
563586
return .visitChildren
564587
}
565588

589+
public override func visit(_ node: AssociatedtypeDeclSyntax) -> SyntaxVisitorContinueKind {
590+
if shouldSkip(node) {
591+
return .skipChildren
592+
}
593+
// Emit a custom diagnostic for an unexpected '...' after an associatedtype
594+
// name.
595+
removeToken(
596+
node.unexpectedBetweenIdentifierAndInheritanceClause,
597+
where: { $0.tokenKind == .ellipsis },
598+
message: { _ in StaticParserError.associatedTypeCannotUsePack }
599+
)
600+
return .visitChildren
601+
}
602+
566603
public override func visit(_ node: VariableDeclSyntax) -> SyntaxVisitorContinueKind {
567604
if shouldSkip(node) {
568605
return .skipChildren

Sources/SwiftParser/Diagnostics/ParserDiagnosticMessages.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public enum StaticParserError: String, DiagnosticMessage {
8585
case tryMustBePlacedOnThrownExpr = "'try' must be placed on the thrown expression"
8686
case tryOnInitialValueExpression = "'try' must be placed on the initial value expression"
8787
case unexpectedSemicolon = "unexpected ';' separator"
88+
case associatedTypeCannotUsePack = "associated types cannot be variadic"
8889

8990
public var message: String { self.rawValue }
9091

Sources/SwiftParser/Lookahead.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,6 @@ extension Parser.Lookahead {
250250
"async",
251251
"Sendable",
252252
"unchecked",
253-
"_typeSequence",
254253
"_local",
255254
"block_storage",
256255
"box",

Sources/SwiftParser/gyb_generated/DeclarationAttribute.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ extension Parser {
6363
case _objcRuntimeName = "_objcRuntimeName"
6464
case _staticInitializeObjCMetadata = "_staticInitializeObjCMetadata"
6565
case _restatedObjCConformance = "_restatedObjCConformance"
66-
case _typeSequence = "_typeSequence"
6766
case _optimize = "_optimize"
6867
case _clangImporterSynthesizedType = "_clangImporterSynthesizedType"
6968
case _weakLinked = "_weakLinked"

Sources/SwiftParser/gyb_generated/TypeAttribute.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ extension Parser {
2525
case async = "async"
2626
case Sendable = "Sendable"
2727
case unchecked = "unchecked"
28-
case _typeSequence = "_typeSequence"
2928
case _local = "_local"
3029
case _noMetadata = "_noMetadata"
3130
case _opaqueReturnTypeOf = "_opaqueReturnTypeOf"

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxNodes.swift

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19427,7 +19427,9 @@ public struct RawGenericParameterSyntax: RawSyntaxNodeProtocol, RawSyntaxToSynta
1942719427
attributes: RawAttributeListSyntax?,
1942819428
_ unexpectedBetweenAttributesAndName: RawUnexpectedNodesSyntax? = nil,
1942919429
name: RawTokenSyntax,
19430-
_ unexpectedBetweenNameAndColon: RawUnexpectedNodesSyntax? = nil,
19430+
_ unexpectedBetweenNameAndEllipsis: RawUnexpectedNodesSyntax? = nil,
19431+
ellipsis: RawTokenSyntax?,
19432+
_ unexpectedBetweenEllipsisAndColon: RawUnexpectedNodesSyntax? = nil,
1943119433
colon: RawTokenSyntax?,
1943219434
_ unexpectedBetweenColonAndInheritedType: RawUnexpectedNodesSyntax? = nil,
1943319435
inheritedType: RawTypeSyntax?,
@@ -19437,19 +19439,21 @@ public struct RawGenericParameterSyntax: RawSyntaxNodeProtocol, RawSyntaxToSynta
1943719439
arena: __shared SyntaxArena
1943819440
) {
1943919441
let raw = RawSyntax.makeLayout(
19440-
kind: .genericParameter, uninitializedCount: 11, arena: arena) { layout in
19442+
kind: .genericParameter, uninitializedCount: 13, arena: arena) { layout in
1944119443
layout.initialize(repeating: nil)
1944219444
layout[0] = unexpectedBeforeAttributes?.raw
1944319445
layout[1] = attributes?.raw
1944419446
layout[2] = unexpectedBetweenAttributesAndName?.raw
1944519447
layout[3] = name.raw
19446-
layout[4] = unexpectedBetweenNameAndColon?.raw
19447-
layout[5] = colon?.raw
19448-
layout[6] = unexpectedBetweenColonAndInheritedType?.raw
19449-
layout[7] = inheritedType?.raw
19450-
layout[8] = unexpectedBetweenInheritedTypeAndTrailingComma?.raw
19451-
layout[9] = trailingComma?.raw
19452-
layout[10] = unexpectedAfterTrailingComma?.raw
19448+
layout[4] = unexpectedBetweenNameAndEllipsis?.raw
19449+
layout[5] = ellipsis?.raw
19450+
layout[6] = unexpectedBetweenEllipsisAndColon?.raw
19451+
layout[7] = colon?.raw
19452+
layout[8] = unexpectedBetweenColonAndInheritedType?.raw
19453+
layout[9] = inheritedType?.raw
19454+
layout[10] = unexpectedBetweenInheritedTypeAndTrailingComma?.raw
19455+
layout[11] = trailingComma?.raw
19456+
layout[12] = unexpectedAfterTrailingComma?.raw
1945319457
}
1945419458
self.init(raw: raw)
1945519459
}
@@ -19478,47 +19482,59 @@ public struct RawGenericParameterSyntax: RawSyntaxNodeProtocol, RawSyntaxToSynta
1947819482
public func withName(_ name: RawTokenSyntax, arena: SyntaxArena) -> RawGenericParameterSyntax {
1947919483
return layoutView.replacingChild(at: 3, with: RawSyntax(name), arena: arena).as(RawGenericParameterSyntax.self)!
1948019484
}
19481-
public var unexpectedBetweenNameAndColon: RawUnexpectedNodesSyntax? {
19485+
public var unexpectedBetweenNameAndEllipsis: RawUnexpectedNodesSyntax? {
1948219486
layoutView.children[4].map(RawUnexpectedNodesSyntax.init(raw:))
1948319487
}
19484-
public func withUnexpectedBetweenNameAndColon(_ unexpectedBetweenNameAndColon: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19485-
return layoutView.replacingChild(at: 4, with: unexpectedBetweenNameAndColon.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19488+
public func withUnexpectedBetweenNameAndEllipsis(_ unexpectedBetweenNameAndEllipsis: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19489+
return layoutView.replacingChild(at: 4, with: unexpectedBetweenNameAndEllipsis.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1948619490
}
19487-
public var colon: RawTokenSyntax? {
19491+
public var ellipsis: RawTokenSyntax? {
1948819492
layoutView.children[5].map(RawTokenSyntax.init(raw:))
1948919493
}
19494+
public func withEllipsis(_ ellipsis: RawTokenSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19495+
return layoutView.replacingChild(at: 5, with: ellipsis.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19496+
}
19497+
public var unexpectedBetweenEllipsisAndColon: RawUnexpectedNodesSyntax? {
19498+
layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:))
19499+
}
19500+
public func withUnexpectedBetweenEllipsisAndColon(_ unexpectedBetweenEllipsisAndColon: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19501+
return layoutView.replacingChild(at: 6, with: unexpectedBetweenEllipsisAndColon.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19502+
}
19503+
public var colon: RawTokenSyntax? {
19504+
layoutView.children[7].map(RawTokenSyntax.init(raw:))
19505+
}
1949019506
public func withColon(_ colon: RawTokenSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19491-
return layoutView.replacingChild(at: 5, with: colon.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19507+
return layoutView.replacingChild(at: 7, with: colon.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1949219508
}
1949319509
public var unexpectedBetweenColonAndInheritedType: RawUnexpectedNodesSyntax? {
19494-
layoutView.children[6].map(RawUnexpectedNodesSyntax.init(raw:))
19510+
layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:))
1949519511
}
1949619512
public func withUnexpectedBetweenColonAndInheritedType(_ unexpectedBetweenColonAndInheritedType: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19497-
return layoutView.replacingChild(at: 6, with: unexpectedBetweenColonAndInheritedType.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19513+
return layoutView.replacingChild(at: 8, with: unexpectedBetweenColonAndInheritedType.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1949819514
}
1949919515
public var inheritedType: RawTypeSyntax? {
19500-
layoutView.children[7].map(RawTypeSyntax.init(raw:))
19516+
layoutView.children[9].map(RawTypeSyntax.init(raw:))
1950119517
}
1950219518
public func withInheritedType(_ inheritedType: RawTypeSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19503-
return layoutView.replacingChild(at: 7, with: inheritedType.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19519+
return layoutView.replacingChild(at: 9, with: inheritedType.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1950419520
}
1950519521
public var unexpectedBetweenInheritedTypeAndTrailingComma: RawUnexpectedNodesSyntax? {
19506-
layoutView.children[8].map(RawUnexpectedNodesSyntax.init(raw:))
19522+
layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:))
1950719523
}
1950819524
public func withUnexpectedBetweenInheritedTypeAndTrailingComma(_ unexpectedBetweenInheritedTypeAndTrailingComma: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19509-
return layoutView.replacingChild(at: 8, with: unexpectedBetweenInheritedTypeAndTrailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19525+
return layoutView.replacingChild(at: 10, with: unexpectedBetweenInheritedTypeAndTrailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1951019526
}
1951119527
public var trailingComma: RawTokenSyntax? {
19512-
layoutView.children[9].map(RawTokenSyntax.init(raw:))
19528+
layoutView.children[11].map(RawTokenSyntax.init(raw:))
1951319529
}
1951419530
public func withTrailingComma(_ trailingComma: RawTokenSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19515-
return layoutView.replacingChild(at: 9, with: trailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19531+
return layoutView.replacingChild(at: 11, with: trailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1951619532
}
1951719533
public var unexpectedAfterTrailingComma: RawUnexpectedNodesSyntax? {
19518-
layoutView.children[10].map(RawUnexpectedNodesSyntax.init(raw:))
19534+
layoutView.children[12].map(RawUnexpectedNodesSyntax.init(raw:))
1951919535
}
1952019536
public func withUnexpectedAfterTrailingComma(_ unexpectedAfterTrailingComma: RawUnexpectedNodesSyntax?, arena: SyntaxArena) -> RawGenericParameterSyntax {
19521-
return layoutView.replacingChild(at: 10, with: unexpectedAfterTrailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
19537+
return layoutView.replacingChild(at: 12, with: unexpectedAfterTrailingComma.map(RawSyntax.init), arena: arena).as(RawGenericParameterSyntax.self)!
1952219538
}
1952319539
}
1952419540

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxValidation.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2175,18 +2175,20 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
21752175
}
21762176
break
21772177
case .genericParameter:
2178-
assert(layout.count == 11)
2178+
assert(layout.count == 13)
21792179
_verify(layout[0], as: RawUnexpectedNodesSyntax?.self)
21802180
_verify(layout[1], as: RawAttributeListSyntax?.self)
21812181
_verify(layout[2], as: RawUnexpectedNodesSyntax?.self)
21822182
_verify(layout[3], as: RawTokenSyntax.self)
21832183
_verify(layout[4], as: RawUnexpectedNodesSyntax?.self)
21842184
_verify(layout[5], as: RawTokenSyntax?.self)
21852185
_verify(layout[6], as: RawUnexpectedNodesSyntax?.self)
2186-
_verify(layout[7], as: RawTypeSyntax?.self)
2186+
_verify(layout[7], as: RawTokenSyntax?.self)
21872187
_verify(layout[8], as: RawUnexpectedNodesSyntax?.self)
2188-
_verify(layout[9], as: RawTokenSyntax?.self)
2188+
_verify(layout[9], as: RawTypeSyntax?.self)
21892189
_verify(layout[10], as: RawUnexpectedNodesSyntax?.self)
2190+
_verify(layout[11], as: RawTokenSyntax?.self)
2191+
_verify(layout[12], as: RawUnexpectedNodesSyntax?.self)
21902192
break
21912193
case .primaryAssociatedTypeList:
21922194
for element in layout {

Sources/SwiftSyntax/SyntaxFactory.swift.gyb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ public enum SyntaxFactory {
185185
@available(*, deprecated, message: "Use initializer on GenericParameterSyntax")
186186
public static func makeGenericParameter(name: TokenSyntax,
187187
trailingComma: TokenSyntax) -> GenericParameterSyntax {
188-
return makeGenericParameter(attributes: nil, name: name, colon: nil,
189-
inheritedType: nil,
188+
return makeGenericParameter(attributes: nil, name: name, ellipsis: nil,
189+
colon: nil, inheritedType: nil,
190190
trailingComma: trailingComma)
191191
}
192192

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6596,13 +6596,15 @@ public enum SyntaxFactory {
65966596
return GenericParameterListSyntax(data)
65976597
}
65986598
@available(*, deprecated, message: "Use initializer on GenericParameterSyntax")
6599-
public static func makeGenericParameter(_ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, attributes: AttributeListSyntax?, _ unexpectedBetweenAttributesAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndColon: UnexpectedNodesSyntax? = nil, colon: TokenSyntax?, _ unexpectedBetweenColonAndInheritedType: UnexpectedNodesSyntax? = nil, inheritedType: TypeSyntax?, _ unexpectedBetweenInheritedTypeAndTrailingComma: UnexpectedNodesSyntax? = nil, trailingComma: TokenSyntax?, _ unexpectedAfterTrailingComma: UnexpectedNodesSyntax? = nil) -> GenericParameterSyntax {
6599+
public static func makeGenericParameter(_ unexpectedBeforeAttributes: UnexpectedNodesSyntax? = nil, attributes: AttributeListSyntax?, _ unexpectedBetweenAttributesAndName: UnexpectedNodesSyntax? = nil, name: TokenSyntax, _ unexpectedBetweenNameAndEllipsis: UnexpectedNodesSyntax? = nil, ellipsis: TokenSyntax?, _ unexpectedBetweenEllipsisAndColon: UnexpectedNodesSyntax? = nil, colon: TokenSyntax?, _ unexpectedBetweenColonAndInheritedType: UnexpectedNodesSyntax? = nil, inheritedType: TypeSyntax?, _ unexpectedBetweenInheritedTypeAndTrailingComma: UnexpectedNodesSyntax? = nil, trailingComma: TokenSyntax?, _ unexpectedAfterTrailingComma: UnexpectedNodesSyntax? = nil) -> GenericParameterSyntax {
66006600
let layout: [RawSyntax?] = [
66016601
unexpectedBeforeAttributes?.raw,
66026602
attributes?.raw,
66036603
unexpectedBetweenAttributesAndName?.raw,
66046604
name.raw,
6605-
unexpectedBetweenNameAndColon?.raw,
6605+
unexpectedBetweenNameAndEllipsis?.raw,
6606+
ellipsis?.raw,
6607+
unexpectedBetweenEllipsisAndColon?.raw,
66066608
colon?.raw,
66076609
unexpectedBetweenColonAndInheritedType?.raw,
66086610
inheritedType?.raw,
@@ -6631,6 +6633,8 @@ public enum SyntaxFactory {
66316633
nil,
66326634
nil,
66336635
nil,
6636+
nil,
6637+
nil,
66346638
], arena: .default))
66356639
return GenericParameterSyntax(data)
66366640
}
@@ -9044,8 +9048,8 @@ public enum SyntaxFactory {
90449048
@available(*, deprecated, message: "Use initializer on GenericParameterSyntax")
90459049
public static func makeGenericParameter(name: TokenSyntax,
90469050
trailingComma: TokenSyntax) -> GenericParameterSyntax {
9047-
return makeGenericParameter(attributes: nil, name: name, colon: nil,
9048-
inheritedType: nil,
9051+
return makeGenericParameter(attributes: nil, name: name, ellipsis: nil,
9052+
colon: nil, inheritedType: nil,
90499053
trailingComma: trailingComma)
90509054
}
90519055

0 commit comments

Comments
 (0)