Skip to content

Commit 1c0e46a

Browse files
authored
Merge pull request #2926 from rintaro/raw-syntax-arena
[NFC] Rename 'SyntaxArena' to 'RawSyntaxArena'
2 parents d8ca62d + d9882f0 commit 1c0e46a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2756
-2738
lines changed

CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/RawSyntaxNodesFile.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func rawSyntaxNodesFile(nodesStartingWith: [Character]) -> SourceFileSyntax {
119119
let element = node.elementChoices.only != nil ? node.elementChoices.only!.raw.syntaxType : "Element"
120120
DeclSyntax(
121121
"""
122-
public init(elements: [\(element)], arena: __shared SyntaxArena) {
122+
public init(elements: [\(element)], arena: __shared RawSyntaxArena) {
123123
let raw = RawSyntax.makeLayout(
124124
kind: .\(node.memberCallName), uninitializedCount: elements.count, arena: arena) { layout in
125125
guard var ptr = layout.baseAddress else { return }
@@ -154,7 +154,7 @@ func rawSyntaxNodesFile(nodesStartingWith: [Character]) -> SourceFileSyntax {
154154
)
155155
}
156156

157-
FunctionParameterSyntax("arena: __shared SyntaxArena")
157+
FunctionParameterSyntax("arena: __shared RawSyntaxArena")
158158
}
159159
try InitializerDeclSyntax("public init(\(params))") {
160160
if !node.children.isEmpty {

CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxNodesFile.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func syntaxNode(nodesStartingWith: [Character]) -> SourceFileSyntax {
103103
calledExpression: ExprSyntax("withExtendedLifetime"),
104104
leftParen: .leftParenToken(),
105105
arguments: LabeledExprListSyntax {
106-
LabeledExprSyntax(expression: ExprSyntax("(SyntaxArena(), (\(parameters)))"))
106+
LabeledExprSyntax(expression: ExprSyntax("(RawSyntaxArena(), (\(parameters)))"))
107107
},
108108
rightParen: .rightParenToken(),
109109
trailingClosure: ClosureExprSyntax(signature: closureSignature) {
@@ -163,7 +163,7 @@ func syntaxNode(nodesStartingWith: [Character]) -> SourceFileSyntax {
163163
AccessorDeclSyntax(
164164
"""
165165
set(value) {
166-
self = Syntax(self).replacingChild(at: \(raw: index), with: Syntax(value), arena: SyntaxArena()).cast(\(node.kind.syntaxType).self)
166+
self = Syntax(self).replacingChild(at: \(raw: index), with: Syntax(value), rawAllocationArena: RawSyntaxArena()).cast(\(node.kind.syntaxType).self)
167167
}
168168
"""
169169
)
@@ -192,15 +192,15 @@ func syntaxNode(nodesStartingWith: [Character]) -> SourceFileSyntax {
192192
@available(*, deprecated, message: "Use node.\(child.identifier).append(newElement) instead")
193193
public func add\(raw: childElt)(_ element: \(childEltType)) -> \(node.kind.syntaxType) {
194194
var collection: RawSyntax
195-
let arena = SyntaxArena()
195+
let arena = RawSyntaxArena()
196196
if let col = raw.layoutView!.children[\(raw: index)] {
197197
collection = col.layoutView!.appending(element.raw, arena: arena)
198198
} else {
199199
collection = RawSyntax.makeLayout(kind: SyntaxKind.\(childNode.memberCallName),
200200
from: [element.raw], arena: arena)
201201
}
202202
return Syntax(self)
203-
.replacingChild(at: \(raw: index), with: collection, rawNodeArena: arena, allocationArena: arena)
203+
.replacingChild(at: \(raw: index), with: collection, rawNodeArena: arena, rawAllocationArena: arena)
204204
.cast(\(node.kind.syntaxType).self)
205205
}
206206
"""

CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/SyntaxRewriterFile.swift

+13-13
Original file line numberDiff line numberDiff line change
@@ -33,30 +33,30 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
3333
DeclSyntax("public let viewMode: SyntaxTreeViewMode")
3434
DeclSyntax(
3535
"""
36-
/// The arena in which the parents of rewritten nodes should be allocated.
36+
/// The raw arena in which the parents of rewritten nodes should be allocated.
3737
///
3838
/// The `SyntaxRewriter` subclass is responsible for generating the rewritten nodes. To incorporate them into the
3939
/// tree, all of the rewritten node's parents also need to be re-created. This is the arena in which those
40-
/// intermediate nodes should be allocated.
41-
private let arena: SyntaxArena?
40+
/// intermediate raw nodes should be allocated.
41+
private let rawArena: RawSyntaxArena?
4242
"""
4343
)
4444

4545
DeclSyntax(
4646
"""
4747
public init(viewMode: SyntaxTreeViewMode = .sourceAccurate) {
4848
self.viewMode = viewMode
49-
self.arena = nil
49+
self.rawArena = nil
5050
}
5151
"""
5252
)
5353

5454
DeclSyntax(
5555
"""
5656
@_spi(RawSyntax)
57-
public init(viewMode: SyntaxTreeViewMode = .sourceAccurate, arena: SyntaxArena? = nil) {
57+
public init(viewMode: SyntaxTreeViewMode = .sourceAccurate, rawAllocationArena: RawSyntaxArena? = nil) {
5858
self.viewMode = viewMode
59-
self.arena = arena
59+
self.rawArena = rawAllocationArena
6060
}
6161
"""
6262
)
@@ -71,7 +71,7 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
7171
}
7272
7373
return withExtendedLifetime(rewritten) {
74-
return Syntax(node).replacingSelf(rewritten.raw, rawNodeArena: rewritten.raw.arenaReference.retained, allocationArena: SyntaxArena())
74+
return Syntax(node).replacingSelf(rewritten.raw, rawNodeArena: rewritten.raw.arenaReference.retained, rawAllocationArena: RawSyntaxArena())
7575
}
7676
}
7777
"""
@@ -319,9 +319,9 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
319319
// nodes are being collected.
320320
var newLayout: UnsafeMutableBufferPointer<RawSyntax?> = .init(start: nil, count: 0)
321321
322-
// Keep 'SyntaxArena' of rewritten nodes alive until they are wrapped
322+
// Keep 'RawSyntaxArena' of rewritten nodes alive until they are wrapped
323323
// with 'Syntax'
324-
var rewrittens: ContiguousArray<RetainedSyntaxArena> = []
324+
var rewrittens: ContiguousArray<RetainedRawSyntaxArena> = []
325325
326326
for case let childDataRef? in node.layoutBuffer where viewMode.shouldTraverse(node: childDataRef.pointee.raw) {
327327
@@ -347,13 +347,13 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
347347
if newLayout.baseAddress != nil {
348348
// A child node was rewritten. Build the updated node.
349349
350-
let arena = self.arena ?? SyntaxArena()
351-
let newRaw = node.raw.layoutView!.replacingLayout(with: newLayout, arena: arena)
350+
let rawArena = self.rawArena ?? RawSyntaxArena()
351+
let newRaw = node.raw.layoutView!.replacingLayout(with: newLayout, arena: rawArena)
352352
newLayout.deinitialize()
353353
newLayout.deallocate()
354-
// 'withExtendedLifetime' to keep 'SyntaxArena's of them alive until here.
354+
// 'withExtendedLifetime' to keep 'RawSyntaxArena's of them alive until here.
355355
return withExtendedLifetime(rewrittens) {
356-
Syntax(raw: newRaw, rawNodeArena: arena)
356+
Syntax(raw: newRaw, rawNodeArena: rawArena)
357357
}
358358
} else {
359359
// No child node was rewritten. So no need to change this node as well.

CodeGeneration/Sources/generate-swift-syntax/templates/swiftsyntax/TriviaPiecesFile.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ let triviaPiecesFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
188188

189189
try FunctionDeclSyntax(
190190
"""
191-
static func make(_ piece: TriviaPiece, arena: SyntaxArena) -> RawTriviaPiece
191+
static func make(_ piece: TriviaPiece, arena: RawSyntaxArena) -> RawTriviaPiece
192192
"""
193193
) {
194194
try SwitchExprSyntax("switch piece") {

Sources/SwiftIDEUtils/SyntaxClassifier.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private struct ClassificationVisitor {
126126
self.targetRange = range
127127
self.classifications = []
128128

129-
// `withExtendedLifetime` to make sure ``SyntaxArena`` for the node alive
129+
// `withExtendedLifetime` to make sure ``RawSyntaxArena`` for the node alive
130130
// during the visit.
131131
withExtendedLifetime(node) {
132132
_ = self.visit(

Sources/SwiftParser/Attributes.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ extension RawLabeledExprSyntax {
411411
identifier: RawTokenSyntax,
412412
_ unexpectedBetweenIdentifierAndTrailingComma: RawUnexpectedNodesSyntax? = nil,
413413
trailingComma: RawTokenSyntax? = nil,
414-
arena: __shared SyntaxArena
414+
arena: __shared RawSyntaxArena
415415
) {
416416
self.init(
417417
label: nil,

Sources/SwiftParser/CollectionNodes+Parsable.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ fileprivate extension SyntaxCollection {
2020
static func parse(
2121
from parser: inout Parser,
2222
parse: (_ parser: inout Parser) -> some RawSyntaxNodeProtocol,
23-
makeMissing: (_ remainingTokens: [RawSyntax], _ arena: SyntaxArena) -> some RawSyntaxNodeProtocol
23+
makeMissing: (_ remainingTokens: [RawSyntax], _ arena: RawSyntaxArena) -> some RawSyntaxNodeProtocol
2424
) -> Self {
2525
// Keep the parser alive so that the arena in which `raw` is allocated
2626
// doesn’t get deallocated before we have a chance to create a syntax node

Sources/SwiftParser/Nominals.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ protocol NominalTypeDeclarationTrait {
3030
inheritanceClause: RawInheritanceClauseSyntax?,
3131
genericWhereClause: RawGenericWhereClauseSyntax?,
3232
memberBlock: RawMemberBlockSyntax,
33-
arena: __shared SyntaxArena
33+
arena: __shared RawSyntaxArena
3434
)
3535

3636
static func parsePrimaryOrGenerics(_ parser: inout Parser) -> PrimaryOrGenerics?
@@ -48,7 +48,7 @@ extension RawProtocolDeclSyntax: NominalTypeDeclarationTrait {
4848
inheritanceClause: RawInheritanceClauseSyntax?,
4949
genericWhereClause: RawGenericWhereClauseSyntax?,
5050
memberBlock: RawMemberBlockSyntax,
51-
arena: __shared SyntaxArena
51+
arena: __shared RawSyntaxArena
5252
) {
5353
self.init(
5454
attributes: attributes,
@@ -82,7 +82,7 @@ extension RawClassDeclSyntax: NominalTypeDeclarationTrait {
8282
inheritanceClause: RawInheritanceClauseSyntax?,
8383
genericWhereClause: RawGenericWhereClauseSyntax?,
8484
memberBlock: RawMemberBlockSyntax,
85-
arena: __shared SyntaxArena
85+
arena: __shared RawSyntaxArena
8686
) {
8787
self.init(
8888
attributes: attributes,
@@ -116,7 +116,7 @@ extension RawActorDeclSyntax: NominalTypeDeclarationTrait {
116116
inheritanceClause: RawInheritanceClauseSyntax?,
117117
genericWhereClause: RawGenericWhereClauseSyntax?,
118118
memberBlock: RawMemberBlockSyntax,
119-
arena: __shared SyntaxArena
119+
arena: __shared RawSyntaxArena
120120
) {
121121
self.init(
122122
attributes: attributes,
@@ -150,7 +150,7 @@ extension RawStructDeclSyntax: NominalTypeDeclarationTrait {
150150
inheritanceClause: RawInheritanceClauseSyntax?,
151151
genericWhereClause: RawGenericWhereClauseSyntax?,
152152
memberBlock: RawMemberBlockSyntax,
153-
arena: __shared SyntaxArena
153+
arena: __shared RawSyntaxArena
154154
) {
155155
self.init(
156156
attributes: attributes,
@@ -184,7 +184,7 @@ extension RawEnumDeclSyntax: NominalTypeDeclarationTrait {
184184
inheritanceClause: RawInheritanceClauseSyntax?,
185185
genericWhereClause: RawGenericWhereClauseSyntax?,
186186
memberBlock: RawMemberBlockSyntax,
187-
arena: __shared SyntaxArena
187+
arena: __shared RawSyntaxArena
188188
) {
189189
self.init(
190190
attributes: attributes,

Sources/SwiftParser/Parameters.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ extension RawEnumCaseParameterSyntax: RawParameterTrait {}
2929
protocol RawParameterListTrait: RawSyntaxNodeProtocol {
3030
associatedtype ParameterSyntax: RawParameterTrait
3131

32-
init(elements: [ParameterSyntax], arena: __shared SyntaxArena)
32+
init(elements: [ParameterSyntax], arena: __shared RawSyntaxArena)
3333
}
3434

3535
extension RawFunctionParameterListSyntax: RawParameterListTrait {}
@@ -47,7 +47,7 @@ protocol RawParameterClauseTrait: RawSyntaxNodeProtocol {
4747
_ unexpectedBetweenParameterListAndRightParen: RawUnexpectedNodesSyntax?,
4848
rightParen: RawTokenSyntax,
4949
_ unexpectedAfterRightParen: RawUnexpectedNodesSyntax?,
50-
arena: __shared SyntaxArena
50+
arena: __shared RawSyntaxArena
5151
)
5252
}
5353

Sources/SwiftParser/Parser.swift

+5-5
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
/// tokens as needed to disambiguate a parse. However, because lookahead
9292
/// operates on a copy of the lexical stream, no input tokens are lost..
9393
public struct Parser {
94-
var arena: ParsingSyntaxArena
94+
var arena: ParsingRawSyntaxArena
9595

9696
/// A view of the sequence of lexemes in the input.
9797
var lexemes: Lexer.LexemeSequence
@@ -222,7 +222,7 @@ public struct Parser {
222222
buffer input: UnsafeBufferPointer<UInt8>,
223223
maximumNestingLevel: Int?,
224224
parseTransition: IncrementalParseTransition?,
225-
arena: ParsingSyntaxArena?,
225+
arena: ParsingRawSyntaxArena?,
226226
swiftVersion: SwiftVersion?,
227227
experimentalFeatures: ExperimentalFeatures
228228
) {
@@ -231,7 +231,7 @@ public struct Parser {
231231
self.arena = arena
232232
precondition(arena.contains(text: SyntaxText(baseAddress: input.baseAddress, count: input.count)))
233233
} else {
234-
self.arena = ParsingSyntaxArena(parseTriviaFunction: TriviaParser.parseTrivia)
234+
self.arena = ParsingRawSyntaxArena(parseTriviaFunction: TriviaParser.parseTrivia)
235235
input = self.arena.internSourceBuffer(input)
236236
}
237237

@@ -347,7 +347,7 @@ public struct Parser {
347347
_ input: UnsafeBufferPointer<UInt8>,
348348
maximumNestingLevel: Int? = nil,
349349
parseTransition: IncrementalParseTransition? = nil,
350-
arena: ParsingSyntaxArena? = nil,
350+
arena: ParsingRawSyntaxArena? = nil,
351351
swiftVersion: SwiftVersion? = nil,
352352
experimentalFeatures: ExperimentalFeatures
353353
) {
@@ -831,7 +831,7 @@ extension Parser {
831831

832832
/// Creates a replicate of `syntax` with all tokens marked as missing.
833833
func withAllTokensMarkedMissing<T: RawSyntaxNodeProtocol>(syntax: T) -> T {
834-
let tokenMissingMaker = TokenMissingMaker(arena: self.arena)
834+
let tokenMissingMaker = TokenMissingMaker(rawAllocationArena: self.arena)
835835
let allMissing = tokenMissingMaker.rewrite(
836836
Syntax(raw: RawSyntax(syntax), rawNodeArena: self.arena)
837837
).raw

Sources/SwiftParser/Specifiers.swift

+7-7
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,13 @@ protocol RawMisplacedEffectSpecifiersTrait {
168168
init(
169169
asyncSpecifier: RawTokenSyntax?,
170170
throwsClause: RawThrowsClauseSyntax?,
171-
arena: __shared SyntaxArena
171+
arena: __shared RawSyntaxArena
172172
)
173173

174174
func withMisplaced(
175175
async misplacedAsyncKeyword: RawTokenSyntax?,
176176
throws misplacedThrowsClause: RawThrowsClauseSyntax?,
177-
arena: __shared SyntaxArena
177+
arena: __shared RawSyntaxArena
178178
) -> Self
179179
}
180180

@@ -188,15 +188,15 @@ protocol RawEffectSpecifiersTrait: RawMisplacedEffectSpecifiersTrait {
188188
_ unexpectedBetweenAsyncSpecifierAndThrowsClause: RawUnexpectedNodesSyntax?,
189189
throwsClause: RawThrowsClauseSyntax?,
190190
_ unexpectedAfterThrowsClause: RawUnexpectedNodesSyntax?,
191-
arena: __shared SyntaxArena
191+
arena: __shared RawSyntaxArena
192192
)
193193
}
194194

195195
extension RawEffectSpecifiersTrait {
196196
init(
197197
asyncSpecifier: RawTokenSyntax?,
198198
throwsClause: RawThrowsClauseSyntax?,
199-
arena: __shared SyntaxArena
199+
arena: __shared RawSyntaxArena
200200
) {
201201
self.init(
202202
nil,
@@ -211,7 +211,7 @@ extension RawEffectSpecifiersTrait {
211211
func withMisplaced(
212212
async misplacedAsyncKeyword: RawTokenSyntax?,
213213
throws misplacedThrowsClause: RawThrowsClauseSyntax?,
214-
arena: __shared SyntaxArena
214+
arena: __shared RawSyntaxArena
215215
) -> Self {
216216
return Self.init(
217217
self.unexpectedBeforeAsyncSpecifier,
@@ -543,7 +543,7 @@ extension RawDeinitializerEffectSpecifiersSyntax: RawMisplacedEffectSpecifiersTr
543543
init(
544544
asyncSpecifier: RawTokenSyntax?,
545545
throwsClause: RawThrowsClauseSyntax?,
546-
arena: __shared SwiftSyntax.SyntaxArena
546+
arena: __shared SwiftSyntax.RawSyntaxArena
547547
) {
548548
// `throwsSpecifier` should never be present because `parseMisplacedEffectSpecifiers()` only creates missing tokens
549549
// and `CorrectThrowsTokenKinds` is an empty `TokenSpecSet`.
@@ -561,7 +561,7 @@ extension RawDeinitializerEffectSpecifiersSyntax: RawMisplacedEffectSpecifiersTr
561561
func withMisplaced(
562562
async misplacedAsyncKeyword: RawTokenSyntax?,
563563
throws misplacedThrowsClause: RawThrowsClauseSyntax?,
564-
arena: SyntaxArena
564+
arena: RawSyntaxArena
565565
) -> RawDeinitializerEffectSpecifiersSyntax {
566566
// `throwsClause` should never be present because `parseMisplacedEffectSpecifiers()` only creates missing tokens
567567
// and `CorrectThrowsTokenKinds` is an empty `TokenSpecSet`.

Sources/SwiftParser/StringLiterals.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
fileprivate class StringLiteralExpressionIndentationChecker {
2222
// MARK: Entry
2323

24-
init(expectedIndentation: SyntaxText, arena: SyntaxArena) {
24+
init(expectedIndentation: SyntaxText, arena: RawSyntaxArena) {
2525
self.expectedIndentation = expectedIndentation
2626
self.arena = arena
2727
}
@@ -37,7 +37,7 @@ fileprivate class StringLiteralExpressionIndentationChecker {
3737
// MARK: Implementation
3838

3939
private let expectedIndentation: SyntaxText
40-
private let arena: SyntaxArena
40+
private let arena: RawSyntaxArena
4141

4242
private func visit(node: RawSyntax) -> RawSyntax? {
4343
if node.isToken {

0 commit comments

Comments
 (0)