Skip to content

Commit 1e39d2d

Browse files
committed
Remove RetainedSyntaxArena
1 parent 3a8c221 commit 1e39d2d

File tree

2 files changed

+8
-15
lines changed

2 files changed

+8
-15
lines changed

Sources/SwiftSyntax/Identifier.swift

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,40 +20,31 @@ public struct Identifier: Equatable, Hashable, Sendable {
2020
@_spi(RawSyntax)
2121
public let raw: RawIdentifier
2222

23+
private let arena: SyntaxArenaRef
24+
2325
public init?(_ token: TokenSyntax) {
2426
guard case .identifier = token.tokenKind else {
2527
return nil
2628
}
2729

2830
self.raw = RawIdentifier(token.tokenView)
31+
self.arena = token.tokenView.raw.arenaReference
2932
}
3033
}
3134

3235
@_spi(RawSyntax)
3336
public struct RawIdentifier: Equatable, Hashable, Sendable {
3437
public let name: SyntaxText
3538

36-
private let arena: RetainedSyntaxArena
37-
3839
@_spi(RawSyntax)
3940
fileprivate init(_ raw: RawSyntaxTokenView) {
4041
let backtick = SyntaxText("`")
41-
let arena = SyntaxArena()
4242
if raw.rawText.count > 2 && raw.rawText.hasPrefix(backtick) && raw.rawText.hasSuffix(backtick) {
4343
let startIndex = raw.rawText.index(after: raw.rawText.startIndex)
4444
let endIndex = raw.rawText.index(before: raw.rawText.endIndex)
4545
self.name = SyntaxText(rebasing: raw.rawText[startIndex..<endIndex])
4646
} else {
4747
self.name = raw.rawText
4848
}
49-
self.arena = raw.raw.arenaReference.retained
50-
}
51-
52-
public static func == (lhs: RawIdentifier, rhs: RawIdentifier) -> Bool {
53-
lhs.name == rhs.name
54-
}
55-
56-
public func hash(into hasher: inout Hasher) {
57-
hasher.combine(name)
5849
}
5950
}

Tests/SwiftSyntaxTest/IdentifierTests.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ class IdentifierTests: XCTestCase {
3636
XCTAssertEqual(Identifier(unicodeNormalizedToken)?.name, "\u{61}\u{300}") // "à"
3737
}
3838

39-
public func testRawIdentifier() {
40-
let rawIdentifier = TokenSyntax(stringLiteral: "sometoken").identifier?.raw
41-
XCTAssertEqual(rawIdentifier?.name, SyntaxText("sometoken"))
39+
public func testIdentifier() {
40+
let token = TokenSyntax(stringLiteral: "sometoken")
41+
withExtendedLifetime(token) { token in
42+
XCTAssertEqual(token.identifier?.raw.name, SyntaxText("sometoken"))
43+
}
4244
}
4345

4446
public func testTokenSyntaxIdentifier() throws {

0 commit comments

Comments
 (0)