Skip to content

Commit d239cac

Browse files
authored
Merge pull request #67716 from ahoppen/ahoppen/swift-syntax-deprecations
[Macros/ASTGen] Fix deprecation warnings from SwiftSyntax
2 parents 6ae2a1d + b76f605 commit d239cac

File tree

13 files changed

+172
-212
lines changed

13 files changed

+172
-212
lines changed

lib/ASTGen/Sources/ASTGen/Decls.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import SwiftParser
33
import SwiftSyntax
44

55
extension ASTGenVisitor {
6-
public func visit(_ node: TypealiasDeclSyntax) -> ASTNode {
6+
public func visit(_ node: TypeAliasDeclSyntax) -> ASTNode {
77
let aliasLoc = bridgedSourceLoc(for: node.typealiasKeyword)
88
let equalLoc = bridgedSourceLoc(for: node.initializer.equal)
9-
var nameText = node.identifier.text
9+
var nameText = node.name.text
1010
let name = nameText.withBridgedString { bridgedName in
1111
return ASTContext_getIdentifier(ctx, bridgedName)
1212
}
13-
let nameLoc = bridgedSourceLoc(for: node.identifier)
13+
let nameLoc = bridgedSourceLoc(for: node.name)
1414
let genericParams = node.genericParameterClause.map { self.visit($0).rawValue }
1515
let out = TypeAliasDecl_create(
1616
self.ctx, self.declContext, aliasLoc, equalLoc, name, nameLoc, genericParams)
@@ -27,7 +27,7 @@ extension ASTGenVisitor {
2727

2828
public func visit(_ node: StructDeclSyntax) -> ASTNode {
2929
let loc = bridgedSourceLoc(for: node)
30-
var nameText = node.identifier.text
30+
var nameText = node.name.text
3131
let name = nameText.withBridgedString { bridgedName in
3232
return ASTContext_getIdentifier(ctx, bridgedName)
3333
}
@@ -50,7 +50,7 @@ extension ASTGenVisitor {
5050

5151
public func visit(_ node: ClassDeclSyntax) -> ASTNode {
5252
let loc = bridgedSourceLoc(for: node)
53-
var nameText = node.identifier.text
53+
var nameText = node.name.text
5454
let name = nameText.withBridgedString { bridgedName in
5555
return ASTContext_getIdentifier(ctx, bridgedName)
5656
}
@@ -75,7 +75,7 @@ extension ASTGenVisitor {
7575

7676
let loc = bridgedSourceLoc(for: node)
7777
let isStatic = false // TODO: compute this
78-
let isLet = node.bindingKeyword.tokenKind == .keyword(.let)
78+
let isLet = node.bindingSpecifier.tokenKind == .keyword(.let)
7979

8080
// TODO: don't drop "initializer" on the floor.
8181
return .decl(
@@ -118,23 +118,23 @@ extension ASTGenVisitor {
118118
public func visit(_ node: FunctionDeclSyntax) -> ASTNode {
119119
let staticLoc = bridgedSourceLoc(for: node)
120120
let funcLoc = bridgedSourceLoc(for: node.funcKeyword)
121-
let nameLoc = bridgedSourceLoc(for: node.identifier)
122-
let rParamLoc = bridgedSourceLoc(for: node.signature.input.leftParen)
123-
let lParamLoc = bridgedSourceLoc(for: node.signature.input.rightParen)
121+
let nameLoc = bridgedSourceLoc(for: node.name)
122+
let rParamLoc = bridgedSourceLoc(for: node.signature.parameterClause.leftParen)
123+
let lParamLoc = bridgedSourceLoc(for: node.signature.parameterClause.rightParen)
124124

125-
var nameText = node.identifier.text
125+
var nameText = node.name.text
126126
let name = nameText.withBridgedString { bridgedName in
127127
return ASTContext_getIdentifier(ctx, bridgedName)
128128
}
129129

130130
let returnType: ASTNode?
131-
if let output = node.signature.output {
132-
returnType = visit(output.returnType)
131+
if let output = node.signature.returnClause {
132+
returnType = visit(output.type)
133133
} else {
134134
returnType = nil
135135
}
136136

137-
let params = node.signature.input.parameterList.map { visit($0).rawValue }
137+
let params = node.signature.parameterClause.parameters.map { visit($0).rawValue }
138138
let out = params.withBridgedArrayRef { ref in
139139
FuncDecl_create(
140140
ctx, staticLoc, false, funcLoc, name, nameLoc, false, nil, false, nil, rParamLoc, ref,

lib/ASTGen/Sources/ASTGen/Exprs.swift

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,25 @@ extension ASTGenVisitor {
1717
public func visit(_ node: FunctionCallExprSyntax) -> ASTNode {
1818
// Transform the trailing closure into an argument.
1919
if let trailingClosure = node.trailingClosure {
20-
let tupleElement = TupleExprElementSyntax(
20+
let tupleElement = LabeledExprSyntax(
2121
label: nil, colon: nil, expression: ExprSyntax(trailingClosure), trailingComma: nil)
2222

23-
return visit(node.addArgument(tupleElement).with(\.trailingClosure, nil))
23+
var node = node
24+
node.arguments.append(tupleElement)
25+
node.trailingClosure = nil
26+
return visit(node)
2427
}
2528

26-
let args = visit(node.argumentList).rawValue
29+
let args = visit(node.arguments).rawValue
2730
let callee = visit(node.calledExpression).rawValue
2831

2932
return .expr(FunctionCallExpr_create(self.ctx, callee, args))
3033
}
3134

32-
public func visit(_ node: IdentifierExprSyntax) -> ASTNode {
35+
public func visit(_ node: DeclReferenceExprSyntax) -> ASTNode {
3336
let loc = bridgedSourceLoc(for: node)
3437

35-
var text = node.identifier.text
38+
var text = node.baseName.text
3639
let id = text.withBridgedString { bridgedText in
3740
return ASTContext_getIdentifier(ctx, bridgedText)
3841
}
@@ -54,7 +57,7 @@ extension ASTGenVisitor {
5457
public func visit(_ node: MemberAccessExprSyntax) -> ASTNode {
5558
let loc = bridgedSourceLoc(for: node)
5659
let base = visit(node.base!).rawValue
57-
var nameText = node.name.text
60+
var nameText = node.declName.baseName.text
5861
let name = nameText.withBridgedString { bridgedName in
5962
return ASTContext_getIdentifier(ctx, bridgedName)
6063
}
@@ -71,7 +74,7 @@ extension ASTGenVisitor {
7174
return .expr(sve)
7275
}
7376

74-
public func visit(_ node: TupleExprElementListSyntax) -> ASTNode {
77+
public func visit(_ node: LabeledExprListSyntax) -> ASTNode {
7578
let elements = node.map { self.visit($0).rawValue }
7679
let labels: [BridgedIdentifier?] = node.map {
7780
guard var name = $0.label?.text else {

lib/ASTGen/Sources/ASTGen/Generics.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import SwiftSyntax
44

55
extension ASTGenVisitor {
66
func visit(_ node: GenericParameterClauseSyntax) -> ASTNode {
7-
let lAngleLoc = bridgedSourceLoc(for: node.leftAngleBracket)
7+
let lAngleLoc = bridgedSourceLoc(for: node.leftAngle)
88
let whereLoc = bridgedSourceLoc(for: node.genericWhereClause?.whereKeyword)
9-
let rAngleLoc = bridgedSourceLoc(for: node.rightAngleBracket)
9+
let rAngleLoc = bridgedSourceLoc(for: node.rightAngle)
1010
return .misc(
1111
self.withBridgedParametersAndRequirements(node) { params, reqs in
1212
return GenericParamList_create(self.ctx, lAngleLoc, params, whereLoc, reqs, rAngleLoc)
@@ -19,7 +19,7 @@ extension ASTGenVisitor {
1919
return ASTContext_getIdentifier(ctx, bridgedName)
2020
}
2121
let nameLoc = bridgedSourceLoc(for: node.name)
22-
let eachLoc = bridgedSourceLoc(for: node.each)
22+
let eachLoc = bridgedSourceLoc(for: node.eachKeyword)
2323

2424
var genericParameterIndex: Int?
2525
for (index, sibling) in (node.parent?.as(GenericParameterListSyntax.self) ?? []).enumerated() {
@@ -46,7 +46,7 @@ extension ASTGenVisitor {
4646
) -> T {
4747
var params = [UnsafeMutableRawPointer]()
4848
var requirements = [BridgedRequirementRepr]()
49-
for param in node.genericParameterList {
49+
for param in node.parameters {
5050
let loweredParameter = self.visit(param).rawValue
5151
params.append(loweredParameter)
5252

@@ -58,23 +58,23 @@ extension ASTGenVisitor {
5858
GenericTypeParamDecl_setInheritedType(self.ctx, loweredParameter, loweredRequirement.rawValue)
5959
}
6060

61-
if let nodeRequirements = node.genericWhereClause?.requirementList {
61+
if let nodeRequirements = node.genericWhereClause?.requirements {
6262
for requirement in nodeRequirements {
63-
switch requirement.body {
63+
switch requirement.requirement {
6464
case .conformanceRequirement(let conformance):
65-
let firstType = self.visit(conformance.leftTypeIdentifier).rawValue
65+
let firstType = self.visit(conformance.leftType).rawValue
6666
let separatorLoc = bridgedSourceLoc(for: conformance.colon)
67-
let secondType = self.visit(conformance.rightTypeIdentifier).rawValue
67+
let secondType = self.visit(conformance.rightType).rawValue
6868
requirements.append(
6969
BridgedRequirementRepr(
7070
SeparatorLoc: separatorLoc,
7171
Kind: .typeConstraint,
7272
FirstType: firstType,
7373
SecondType: secondType))
7474
case .sameTypeRequirement(let sameType):
75-
let firstType = self.visit(sameType.leftTypeIdentifier).rawValue
76-
let separatorLoc = bridgedSourceLoc(for: sameType.equalityToken)
77-
let secondType = self.visit(sameType.rightTypeIdentifier).rawValue
75+
let firstType = self.visit(sameType.leftType).rawValue
76+
let separatorLoc = bridgedSourceLoc(for: sameType.equal)
77+
let secondType = self.visit(sameType.rightType).rawValue
7878
requirements.append(
7979
BridgedRequirementRepr(
8080
SeparatorLoc: separatorLoc,

lib/ASTGen/Sources/ASTGen/Literals.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ extension ASTGenVisitor {
1414

1515
public func visit(_ node: IntegerLiteralExprSyntax) -> ASTNode {
1616
let loc = bridgedSourceLoc(for: node)
17-
var segment = node.digits.text
17+
var segment = node.literal.text
1818
return .expr(
1919
segment.withBridgedString { bridgedSegment in
2020
return IntegerLiteralExpr_create(ctx, bridgedSegment, loc)
@@ -23,7 +23,7 @@ extension ASTGenVisitor {
2323

2424
public func visit(_ node: BooleanLiteralExprSyntax) -> ASTNode {
2525
let loc = bridgedSourceLoc(for: node)
26-
let value = node.booleanLiteral == .keyword(.true)
26+
let value = node.literal == .keyword(.true)
2727
return .expr(BooleanLiteralExpr_create(ctx, value, loc))
2828
}
2929

lib/ASTGen/Sources/ASTGen/Macros.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,9 +326,9 @@ func checkMacroDefinition(
326326
return BridgedMacroDefinitionKind.externalMacro.rawValue
327327

328328
case let .expansion(expansionSyntax, replacements: _)
329-
where expansionSyntax.macro.text == "externalMacro":
329+
where expansionSyntax.macroName.text == "externalMacro":
330330
// Extract the identifier from the "module" argument.
331-
guard let firstArg = expansionSyntax.argumentList.first,
331+
guard let firstArg = expansionSyntax.arguments.first,
332332
let firstArgLabel = firstArg.label?.text,
333333
firstArgLabel == "module",
334334
let module = identifierFromStringLiteral(firstArg.expression) else {
@@ -344,7 +344,7 @@ func checkMacroDefinition(
344344
}
345345

346346
// Extract the identifier from the "type" argument.
347-
guard let secondArg = expansionSyntax.argumentList.dropFirst().first,
347+
guard let secondArg = expansionSyntax.arguments.dropFirst().first,
348348
let secondArgLabel = secondArg.label?.text,
349349
secondArgLabel == "type",
350350
let type = identifierFromStringLiteral(secondArg.expression) else {
@@ -514,9 +514,9 @@ func expandFreestandingMacroIPC(
514514

515515
let macroName: String
516516
if let exprSyntax = expansionSyntax.as(MacroExpansionExprSyntax.self) {
517-
macroName = exprSyntax.macro.text
517+
macroName = exprSyntax.macroName.text
518518
} else if let declSyntax = expansionSyntax.as(MacroExpansionDeclSyntax.self) {
519-
macroName = declSyntax.macro.text
519+
macroName = declSyntax.macroName.text
520520
} else {
521521
fatalError("unknown syntax")
522522
}
@@ -1009,7 +1009,7 @@ func expandAttachedMacroInProcess(
10091009
"""
10101010
let placeholderStruct = placeholderDecl.cast(StructDeclSyntax.self)
10111011
if let inheritanceClause = placeholderStruct.inheritanceClause {
1012-
conformanceListSyntax = inheritanceClause.inheritedTypeCollection
1012+
conformanceListSyntax = inheritanceClause.inheritedTypes
10131013
} else {
10141014
conformanceListSyntax = nil
10151015
}

lib/ASTGen/Sources/ASTGen/Misc.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import SwiftParser
33
import SwiftSyntax
44

55
extension ASTGenVisitor {
6-
public func visit(_ node: MemberDeclListItemSyntax) -> ASTNode {
6+
public func visit(_ node: MemberBlockItemSyntax) -> ASTNode {
77
visit(Syntax(node.decl))
88
}
99

10-
public func visit(_ node: TupleExprElementSyntax) -> ASTNode {
10+
public func visit(_ node: LabeledExprSyntax) -> ASTNode {
1111
visit(node.expression)
1212
}
1313

lib/ASTGen/Sources/ASTGen/SourceManager.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ extension SourceManager {
5656

5757
let detached: Node
5858
if let operatorTable = operatorTable {
59-
detached = operatorTable.foldAll(node) { _ in }.as(Node.self)!.detach()
59+
detached = operatorTable.foldAll(node) { _ in }.as(Node.self)!.detached
6060
} else {
61-
detached = node.detach()
61+
detached = node.detached
6262
}
6363

6464
detachedNodes[Syntax(detached)] = (node.root, node.position.utf8Offset)

0 commit comments

Comments
 (0)