Skip to content

Commit ca5b6d4

Browse files
committed
[NFC] Rename 'SyntaxArena' to 'RawSyntaxArena'
The current `SyntaxArena` only manages `RawSyntax` green tree things. In swift-syntax, "Syntax" refers to `Syntax` the red tree. So the naming was a bit confusing. Also rename `SyntaxArenaAllocated(Buffer)Pointer` to 'ArenaAllocated*' in preparation for future introduction of other "arenas".
1 parent d8ca62d commit ca5b6d4

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

+2603
-2605
lines changed

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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 3 additions & 3 deletions
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), arena: RawSyntaxArena()).cast(\(node.kind.syntaxType).self)
167167
}
168168
"""
169169
)
@@ -192,7 +192,7 @@ 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 {

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
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
4040
/// intermediate nodes should be allocated.
41-
private let arena: SyntaxArena?
41+
private let arena: RawSyntaxArena?
4242
"""
4343
)
4444

@@ -54,7 +54,7 @@ let syntaxRewriterFile = SourceFileSyntax(leadingTrivia: copyrightHeader) {
5454
DeclSyntax(
5555
"""
5656
@_spi(RawSyntax)
57-
public init(viewMode: SyntaxTreeViewMode = .sourceAccurate, arena: SyntaxArena? = nil) {
57+
public init(viewMode: SyntaxTreeViewMode = .sourceAccurate, arena: RawSyntaxArena? = nil) {
5858
self.viewMode = viewMode
5959
self.arena = arena
6060
}
@@ -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, allocationArena: 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,11 +347,11 @@ 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()
350+
let arena = self.arena ?? RawSyntaxArena()
351351
let newRaw = node.raw.layoutView!.replacingLayout(with: newLayout, arena: arena)
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) {
356356
Syntax(raw: newRaw, rawNodeArena: arena)
357357
}

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 6 additions & 6 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 4 additions & 4 deletions
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
) {

Sources/SwiftParser/Specifiers.swift

Lines changed: 7 additions & 7 deletions
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

Lines changed: 2 additions & 2 deletions
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 {

Sources/SwiftParser/SyntaxUtils.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ extension RawUnexpectedNodesSyntax {
3232

3333
/// If `nodes` is not empty, construct a ``RawUnexpectedNodesSyntax``
3434
/// containing those tokens, otherwise return `nil`.
35-
init?<SyntaxType: RawSyntaxNodeProtocol>(_ nodes: [SyntaxType], arena: __shared SyntaxArena) {
35+
init?<SyntaxType: RawSyntaxNodeProtocol>(_ nodes: [SyntaxType], arena: __shared RawSyntaxArena) {
3636
if nodes.isEmpty {
3737
return nil
3838
} else {
@@ -42,7 +42,7 @@ extension RawUnexpectedNodesSyntax {
4242

4343
/// If `nodes` contains non-`nil` values, construct a ``RawUnexpectedNodesSyntax``
4444
/// containing those tokens, otherwise return `nil`.
45-
init?<SyntaxType: RawSyntaxNodeProtocol>(_ nodes: [SyntaxType?], arena: __shared SyntaxArena) {
45+
init?<SyntaxType: RawSyntaxNodeProtocol>(_ nodes: [SyntaxType?], arena: __shared RawSyntaxArena) {
4646
self.init(nodes.compactMap({ $0 }), arena: arena)
4747
}
4848
}
@@ -80,7 +80,7 @@ extension RawUnexpectedNodesSyntax {
8080
init?(
8181
combining syntax1: some UnexpectedNodesCombinable,
8282
_ syntax2: some UnexpectedNodesCombinable,
83-
arena: __shared SyntaxArena
83+
arena: __shared RawSyntaxArena
8484
) {
8585
self.init(syntax1.elements + syntax2.elements, arena: arena)
8686
}
@@ -89,7 +89,7 @@ extension RawUnexpectedNodesSyntax {
8989
combining syntax1: some UnexpectedNodesCombinable,
9090
_ syntax2: some UnexpectedNodesCombinable,
9191
_ syntax3: some UnexpectedNodesCombinable,
92-
arena: __shared SyntaxArena
92+
arena: __shared RawSyntaxArena
9393
) {
9494
self.init(syntax1.elements + syntax2.elements + syntax3.elements, arena: arena)
9595
}
@@ -99,7 +99,7 @@ extension RawUnexpectedNodesSyntax {
9999
_ syntax2: some UnexpectedNodesCombinable,
100100
_ syntax3: some UnexpectedNodesCombinable,
101101
_ syntax4: some UnexpectedNodesCombinable,
102-
arena: __shared SyntaxArena
102+
arena: __shared RawSyntaxArena
103103
) {
104104
self.init(syntax1.elements + syntax2.elements + syntax3.elements + syntax4.elements, arena: arena)
105105
}
@@ -129,7 +129,7 @@ extension RawSyntaxNodeProtocol {
129129
/// trailing unexpected node children.
130130
func makeUnexpectedKeepingFirstNode<KeptNode: RawSyntaxNodeProtocol>(
131131
of keptType: KeptNode.Type,
132-
arena: SyntaxArena,
132+
arena: RawSyntaxArena,
133133
where predicate: (KeptNode) -> Bool,
134134
makeMissing: () -> KeptNode
135135
) -> KeptNode {
@@ -203,7 +203,7 @@ extension RawSyntaxNodeProtocol {
203203
/// unexpected node children. Note that there is always at least one node in the array.
204204
func makeUnexpectedKeepingNodes<KeptNode: RawSyntaxNodeProtocol>(
205205
of keptType: KeptNode.Type,
206-
arena: SyntaxArena,
206+
arena: RawSyntaxArena,
207207
where predicate: (KeptNode) -> Bool,
208208
makeMissing: () -> KeptNode
209209
) -> [KeptNode] {

0 commit comments

Comments
 (0)