Skip to content

Commit a153695

Browse files
committed
Update syntax to for-await-in syntax definitions
1 parent 669acb1 commit a153695

File tree

5 files changed

+104
-24
lines changed

5 files changed

+104
-24
lines changed

Sources/SwiftSyntax/gyb_generated/Misc.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1952,6 +1952,6 @@ extension Syntax {
19521952
extension SyntaxParser {
19531953
static func verifyNodeDeclarationHash() -> Bool {
19541954
return String(cString: swiftparse_syntax_structure_versioning_identifier()!) ==
1955-
"0741fb1877365f4e66ca42dc7d84d31d7ccdd35a"
1955+
"87a7d7e3a5692f5e70906dbde9053e64d7651ab0"
19561956
}
19571957
}

Sources/SwiftSyntax/gyb_generated/SyntaxBuilders.swift

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7252,7 +7252,7 @@ extension WhereClauseSyntax {
72527252

72537253
public struct ForInStmtSyntaxBuilder {
72547254
private var layout =
7255-
Array<RawSyntax?>(repeating: nil, count: 10)
7255+
Array<RawSyntax?>(repeating: nil, count: 12)
72567256

72577257
internal init() {}
72587258

@@ -7271,6 +7271,16 @@ public struct ForInStmtSyntaxBuilder {
72717271
layout[idx] = node.raw
72727272
}
72737273

7274+
public mutating func useTryKeyword(_ node: TokenSyntax) {
7275+
let idx = ForInStmtSyntax.Cursor.tryKeyword.rawValue
7276+
layout[idx] = node.raw
7277+
}
7278+
7279+
public mutating func useAwaitKeyword(_ node: TokenSyntax) {
7280+
let idx = ForInStmtSyntax.Cursor.awaitKeyword.rawValue
7281+
layout[idx] = node.raw
7282+
}
7283+
72747284
public mutating func useCaseKeyword(_ node: TokenSyntax) {
72757285
let idx = ForInStmtSyntax.Cursor.caseKeyword.rawValue
72767286
layout[idx] = node.raw
@@ -7310,17 +7320,17 @@ public struct ForInStmtSyntaxBuilder {
73107320
if (layout[2] == nil) {
73117321
layout[2] = RawSyntax.missingToken(TokenKind.forKeyword)
73127322
}
7313-
if (layout[4] == nil) {
7314-
layout[4] = RawSyntax.missing(SyntaxKind.pattern)
7315-
}
73167323
if (layout[6] == nil) {
7317-
layout[6] = RawSyntax.missingToken(TokenKind.inKeyword)
7324+
layout[6] = RawSyntax.missing(SyntaxKind.pattern)
73187325
}
7319-
if (layout[7] == nil) {
7320-
layout[7] = RawSyntax.missing(SyntaxKind.expr)
7326+
if (layout[8] == nil) {
7327+
layout[8] = RawSyntax.missingToken(TokenKind.inKeyword)
73217328
}
73227329
if (layout[9] == nil) {
7323-
layout[9] = RawSyntax.missing(SyntaxKind.codeBlock)
7330+
layout[9] = RawSyntax.missing(SyntaxKind.expr)
7331+
}
7332+
if (layout[11] == nil) {
7333+
layout[11] = RawSyntax.missing(SyntaxKind.codeBlock)
73247334
}
73257335

73267336
return .forRoot(RawSyntax.createAndCalcLength(kind: .forInStmt,

Sources/SwiftSyntax/gyb_generated/SyntaxClassification.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ extension SyntaxClassification {
8787
return (.keyword, false)
8888
case (.attribute, 1):
8989
return (.attribute, false)
90+
case (.forInStmt, 4):
91+
return (.keyword, false)
9092
case (.simpleTypeIdentifier, 0):
9193
return (.typeIdentifier, false)
9294
case (.memberTypeIdentifier, 2):

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3304,11 +3304,13 @@ public enum SyntaxFactory {
33043304
], length: .zero, presence: .present))
33053305
return WhereClauseSyntax(data)
33063306
}
3307-
public static func makeForInStmt(labelName: TokenSyntax?, labelColon: TokenSyntax?, forKeyword: TokenSyntax, caseKeyword: TokenSyntax?, pattern: PatternSyntax, typeAnnotation: TypeAnnotationSyntax?, inKeyword: TokenSyntax, sequenceExpr: ExprSyntax, whereClause: WhereClauseSyntax?, body: CodeBlockSyntax) -> ForInStmtSyntax {
3307+
public static func makeForInStmt(labelName: TokenSyntax?, labelColon: TokenSyntax?, forKeyword: TokenSyntax, tryKeyword: TokenSyntax?, awaitKeyword: TokenSyntax?, caseKeyword: TokenSyntax?, pattern: PatternSyntax, typeAnnotation: TypeAnnotationSyntax?, inKeyword: TokenSyntax, sequenceExpr: ExprSyntax, whereClause: WhereClauseSyntax?, body: CodeBlockSyntax) -> ForInStmtSyntax {
33083308
let layout: [RawSyntax?] = [
33093309
labelName?.raw,
33103310
labelColon?.raw,
33113311
forKeyword.raw,
3312+
tryKeyword?.raw,
3313+
awaitKeyword?.raw,
33123314
caseKeyword?.raw,
33133315
pattern.raw,
33143316
typeAnnotation?.raw,
@@ -3330,6 +3332,8 @@ public enum SyntaxFactory {
33303332
nil,
33313333
RawSyntax.missingToken(TokenKind.forKeyword),
33323334
nil,
3335+
nil,
3336+
nil,
33333337
RawSyntax.missing(SyntaxKind.pattern),
33343338
nil,
33353339
RawSyntax.missingToken(TokenKind.inKeyword),

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxStmtNodes.swift

Lines changed: 78 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,8 @@ public struct ForInStmtSyntax: StmtSyntaxProtocol, SyntaxHashable {
983983
case labelName
984984
case labelColon
985985
case forKeyword
986+
case tryKeyword
987+
case awaitKeyword
986988
case caseKeyword
987989
case pattern
988990
case typeAnnotation
@@ -1078,6 +1080,50 @@ public struct ForInStmtSyntax: StmtSyntaxProtocol, SyntaxHashable {
10781080
return ForInStmtSyntax(newData)
10791081
}
10801082

1083+
public var tryKeyword: TokenSyntax? {
1084+
get {
1085+
let childData = data.child(at: Cursor.tryKeyword,
1086+
parent: Syntax(self))
1087+
if childData == nil { return nil }
1088+
return TokenSyntax(childData!)
1089+
}
1090+
set(value) {
1091+
self = withTryKeyword(value)
1092+
}
1093+
}
1094+
1095+
/// Returns a copy of the receiver with its `tryKeyword` replaced.
1096+
/// - param newChild: The new `tryKeyword` to replace the node's
1097+
/// current `tryKeyword`, if present.
1098+
public func withTryKeyword(
1099+
_ newChild: TokenSyntax?) -> ForInStmtSyntax {
1100+
let raw = newChild?.raw
1101+
let newData = data.replacingChild(raw, at: Cursor.tryKeyword)
1102+
return ForInStmtSyntax(newData)
1103+
}
1104+
1105+
public var awaitKeyword: TokenSyntax? {
1106+
get {
1107+
let childData = data.child(at: Cursor.awaitKeyword,
1108+
parent: Syntax(self))
1109+
if childData == nil { return nil }
1110+
return TokenSyntax(childData!)
1111+
}
1112+
set(value) {
1113+
self = withAwaitKeyword(value)
1114+
}
1115+
}
1116+
1117+
/// Returns a copy of the receiver with its `awaitKeyword` replaced.
1118+
/// - param newChild: The new `awaitKeyword` to replace the node's
1119+
/// current `awaitKeyword`, if present.
1120+
public func withAwaitKeyword(
1121+
_ newChild: TokenSyntax?) -> ForInStmtSyntax {
1122+
let raw = newChild?.raw
1123+
let newData = data.replacingChild(raw, at: Cursor.awaitKeyword)
1124+
return ForInStmtSyntax(newData)
1125+
}
1126+
10811127
public var caseKeyword: TokenSyntax? {
10821128
get {
10831129
let childData = data.child(at: Cursor.caseKeyword,
@@ -1231,7 +1277,7 @@ public struct ForInStmtSyntax: StmtSyntaxProtocol, SyntaxHashable {
12311277

12321278
public func _validateLayout() {
12331279
let rawChildren = Array(RawSyntaxChildren(Syntax(self)))
1234-
assert(rawChildren.count == 10)
1280+
assert(rawChildren.count == 12)
12351281
// Check child #0 child is TokenSyntax or missing
12361282
if let raw = rawChildren[0].raw {
12371283
let info = rawChildren[0].syntaxInfo
@@ -1265,56 +1311,72 @@ public struct ForInStmtSyntax: StmtSyntaxProtocol, SyntaxHashable {
12651311
let syntaxChild = Syntax(syntaxData)
12661312
assert(syntaxChild.is(TokenSyntax.self))
12671313
}
1268-
// Check child #4 child is PatternSyntax
1269-
assert(rawChildren[4].raw != nil)
1314+
// Check child #4 child is TokenSyntax or missing
12701315
if let raw = rawChildren[4].raw {
12711316
let info = rawChildren[4].syntaxInfo
12721317
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
12731318
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
12741319
let syntaxChild = Syntax(syntaxData)
1275-
assert(syntaxChild.is(PatternSyntax.self))
1320+
assert(syntaxChild.is(TokenSyntax.self))
12761321
}
1277-
// Check child #5 child is TypeAnnotationSyntax or missing
1322+
// Check child #5 child is TokenSyntax or missing
12781323
if let raw = rawChildren[5].raw {
12791324
let info = rawChildren[5].syntaxInfo
12801325
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
12811326
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
12821327
let syntaxChild = Syntax(syntaxData)
1283-
assert(syntaxChild.is(TypeAnnotationSyntax.self))
1328+
assert(syntaxChild.is(TokenSyntax.self))
12841329
}
1285-
// Check child #6 child is TokenSyntax
1330+
// Check child #6 child is PatternSyntax
12861331
assert(rawChildren[6].raw != nil)
12871332
if let raw = rawChildren[6].raw {
12881333
let info = rawChildren[6].syntaxInfo
12891334
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
12901335
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
12911336
let syntaxChild = Syntax(syntaxData)
1292-
assert(syntaxChild.is(TokenSyntax.self))
1337+
assert(syntaxChild.is(PatternSyntax.self))
12931338
}
1294-
// Check child #7 child is ExprSyntax
1295-
assert(rawChildren[7].raw != nil)
1339+
// Check child #7 child is TypeAnnotationSyntax or missing
12961340
if let raw = rawChildren[7].raw {
12971341
let info = rawChildren[7].syntaxInfo
12981342
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
12991343
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
13001344
let syntaxChild = Syntax(syntaxData)
1301-
assert(syntaxChild.is(ExprSyntax.self))
1345+
assert(syntaxChild.is(TypeAnnotationSyntax.self))
13021346
}
1303-
// Check child #8 child is WhereClauseSyntax or missing
1347+
// Check child #8 child is TokenSyntax
1348+
assert(rawChildren[8].raw != nil)
13041349
if let raw = rawChildren[8].raw {
13051350
let info = rawChildren[8].syntaxInfo
13061351
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
13071352
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
13081353
let syntaxChild = Syntax(syntaxData)
1309-
assert(syntaxChild.is(WhereClauseSyntax.self))
1354+
assert(syntaxChild.is(TokenSyntax.self))
13101355
}
1311-
// Check child #9 child is CodeBlockSyntax
1356+
// Check child #9 child is ExprSyntax
13121357
assert(rawChildren[9].raw != nil)
13131358
if let raw = rawChildren[9].raw {
13141359
let info = rawChildren[9].syntaxInfo
13151360
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
13161361
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
13171362
let syntaxChild = Syntax(syntaxData)
1363+
assert(syntaxChild.is(ExprSyntax.self))
1364+
}
1365+
// Check child #10 child is WhereClauseSyntax or missing
1366+
if let raw = rawChildren[10].raw {
1367+
let info = rawChildren[10].syntaxInfo
1368+
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
1369+
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
1370+
let syntaxChild = Syntax(syntaxData)
1371+
assert(syntaxChild.is(WhereClauseSyntax.self))
1372+
}
1373+
// Check child #11 child is CodeBlockSyntax
1374+
assert(rawChildren[11].raw != nil)
1375+
if let raw = rawChildren[11].raw {
1376+
let info = rawChildren[11].syntaxInfo
1377+
let absoluteRaw = AbsoluteRawSyntax(raw: raw, info: info)
1378+
let syntaxData = SyntaxData(absoluteRaw, parent: Syntax(self))
1379+
let syntaxChild = Syntax(syntaxData)
13181380
assert(syntaxChild.is(CodeBlockSyntax.self))
13191381
}
13201382
}
@@ -1326,6 +1388,8 @@ extension ForInStmtSyntax: CustomReflectable {
13261388
"labelName": labelName.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,
13271389
"labelColon": labelColon.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,
13281390
"forKeyword": Syntax(forKeyword).asProtocol(SyntaxProtocol.self),
1391+
"tryKeyword": tryKeyword.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,
1392+
"awaitKeyword": awaitKeyword.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,
13291393
"caseKeyword": caseKeyword.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,
13301394
"pattern": Syntax(pattern).asProtocol(SyntaxProtocol.self),
13311395
"typeAnnotation": typeAnnotation.map(Syntax.init)?.asProtocol(SyntaxProtocol.self) as Any,

0 commit comments

Comments
 (0)