Skip to content

Commit f77bb25

Browse files
committed
[NFC] Update uses of DeclGroups to use headers
Clears up a bunch of warnings.
1 parent c335d65 commit f77bb25

File tree

17 files changed

+68
-49
lines changed

17 files changed

+68
-49
lines changed

Sources/SwiftCompilerPluginMessageHandling/Macros.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ extension PluginProviderMessageHandler {
132132
}
133133
let conformanceList = conformanceListSyntax.map {
134134
let placeholderStruct = sourceManager.add($0).cast(StructDeclSyntax.self)
135-
return placeholderStruct.inheritanceClause!.inheritedTypes
135+
return placeholderStruct.structHeader.inheritanceClause!.inheritedTypes
136136
}
137137

138138
let context = PluginMacroExpansionContext(

Sources/SwiftLexicalLookup/LookupName.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ import SwiftSyntax
110110
case .Self(let declSyntax):
111111
switch Syntax(declSyntax).as(SyntaxEnum.self) {
112112
case .protocolDecl(let protocolDecl):
113-
return protocolDecl.name.positionAfterSkippingLeadingTrivia
113+
return protocolDecl.protocolHeader.name.positionAfterSkippingLeadingTrivia
114114
default:
115115
return declSyntax.positionAfterSkippingLeadingTrivia
116116
}

Sources/SwiftLexicalLookup/Scopes/ScopeImplementations.swift

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ import SwiftSyntax
391391
}
392392
@_spi(Experimental) extension ExtensionDeclSyntax: LookInMembersScopeSyntax {
393393
@_spi(Experimental) public var lookupMembersPosition: AbsolutePosition {
394-
extendedType.position
394+
extensionHeader.extendedType.position
395395
}
396396

397397
@_spi(Experimental) public var defaultIntroducedNames: [LookupName] {
@@ -420,7 +420,8 @@ import SwiftSyntax
420420
+ defaultLookupImplementation(identifier, at: lookUpPosition, with: config, propagateToParent: false)
421421
+ [.lookInMembers(self)]
422422
+ lookupInParent(identifier, at: lookUpPosition, with: config)
423-
} else if !extendedType.range.contains(lookUpPosition) && genericWhereClause != nil {
423+
} else if !extensionHeader.extendedType.range.contains(lookUpPosition) && extensionHeader.genericWhereClause != nil
424+
{
424425
if inRightTypeOrSameTypeRequirement(lookUpPosition) {
425426
return [.lookInGenericParametersOfExtendedType(self)] + [.lookInMembers(self)]
426427
+ defaultLookupImplementation(identifier, at: lookUpPosition, with: config)
@@ -439,7 +440,7 @@ import SwiftSyntax
439440
private func inRightTypeOrSameTypeRequirement(
440441
_ checkedPosition: AbsolutePosition
441442
) -> Bool {
442-
genericWhereClause?.requirements.contains { elem in
443+
extensionHeader.genericWhereClause?.requirements.contains { elem in
443444
switch Syntax(elem.requirement).as(SyntaxEnum.self) {
444445
case .conformanceRequirement(let conformanceRequirement):
445446
return conformanceRequirement.rightType.range.contains(checkedPosition)
@@ -612,7 +613,7 @@ import SwiftSyntax
612613
}
613614

614615
@_spi(Experimental) public var lookupMembersPosition: AbsolutePosition {
615-
name.positionAfterSkippingLeadingTrivia
616+
protocolHeader.name.positionAfterSkippingLeadingTrivia
616617
}
617618

618619
@_spi(Experimental) public var scopeDebugName: String {
@@ -644,7 +645,7 @@ import SwiftSyntax
644645
) -> [LookupResult] {
645646
var results: [LookupResult] = []
646647

647-
if let primaryAssociatedTypeClause,
648+
if let primaryAssociatedTypeClause = protocolHeader.primaryAssociatedTypeClause,
648649
primaryAssociatedTypeClause.range.contains(lookUpPosition)
649650
{
650651
results = memberBlock.lookupAssociatedTypeDeclarations(
@@ -656,7 +657,7 @@ import SwiftSyntax
656657

657658
let lookInMembers: [LookupResult]
658659

659-
if !(inheritanceClause?.range.contains(lookUpPosition) ?? false) {
660+
if !(protocolHeader.inheritanceClause?.range.contains(lookUpPosition) ?? false) {
660661
lookInMembers = [.lookInMembers(self)]
661662
} else {
662663
lookInMembers = []

Sources/SwiftSyntaxMacroExpansion/MacroSystem.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1490,7 +1490,7 @@ private extension SyntaxProtocol {
14901490
var syntacticQualifiedTypeContext: TypeSyntax? {
14911491
if let ext = self.as(ExtensionDeclSyntax.self) {
14921492
// Don't handle nested 'extension' cases - they are invalid anyway.
1493-
return ext.extendedType.trimmed
1493+
return ext.extensionHeader.extendedType.trimmed
14941494
}
14951495

14961496
let base = self.parent?.syntacticQualifiedTypeContext

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2337,8 +2337,10 @@ final class DeclarationTests: ParserTestCase {
23372337
CodeBlockItemSyntax(
23382338
item: .init(
23392339
ClassDeclSyntax(
2340-
classKeyword: .keyword(.class),
2341-
name: .identifier("A"),
2340+
classHeader: ClassDeclHeaderSyntax(
2341+
classKeyword: .keyword(.class),
2342+
name: .identifier("A")
2343+
),
23422344
memberBlock: MemberBlockSyntax(
23432345
leftBrace: .leftBraceToken(),
23442346
members: MemberBlockItemListSyntax(),
@@ -2351,8 +2353,10 @@ final class DeclarationTests: ParserTestCase {
23512353
CodeBlockItemSyntax(
23522354
item: .init(
23532355
ClassDeclSyntax(
2354-
classKeyword: .keyword(.class),
2355-
name: .identifier("B"),
2356+
classHeader: .init(
2357+
classKeyword: .keyword(.class),
2358+
name: .identifier("B")
2359+
),
23562360
memberBlock: MemberBlockSyntax(
23572361
leftBrace: .leftBraceToken(),
23582362
members: MemberBlockItemListSyntax(),

Tests/SwiftParserTest/translated/HashbangLibraryTests.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,16 @@ final class HashbangLibraryTests: ParserTestCase {
3131
item: .decl(
3232
DeclSyntax(
3333
ClassDeclSyntax(
34-
classKeyword: .keyword(
35-
.class,
36-
leadingTrivia: [
37-
.newlines(1)
38-
],
39-
trailingTrivia: .space
34+
classHeader: ClassDeclHeaderSyntax(
35+
classKeyword: .keyword(
36+
.class,
37+
leadingTrivia: [
38+
.newlines(1)
39+
],
40+
trailingTrivia: .space
41+
),
42+
name: .identifier("Foo", trailingTrivia: .space)
4043
),
41-
name: .identifier("Foo", trailingTrivia: .space),
4244
memberBlock: MemberBlockSyntax(
4345
members: MemberBlockItemListSyntax([])
4446
)

Tests/SwiftSyntaxBuilderTest/ClassDeclSyntaxTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ final class ClassDeclSyntaxTests: XCTestCase {
3535
}
3636

3737
func testThrowableClass() throws {
38-
let buildable = try ClassDeclSyntax(name: .identifier("Foo")) {
38+
let buildable = try ClassDeclSyntax(classHeader: .init(name: .identifier("Foo"))) {
3939
try FunctionDeclSyntax("func foo() -> String") {
4040
StmtSyntax(#"return "hello world""#)
4141
}
@@ -54,7 +54,7 @@ final class ClassDeclSyntaxTests: XCTestCase {
5454
}
5555

5656
func testNodeWithoutAnchorPointInResultBuilder() throws {
57-
let buildable = ClassDeclSyntax(name: .identifier("Foo")) {
57+
let buildable = ClassDeclSyntax(classHeader: .init(name: .identifier("Foo"))) {
5858
DeclSyntax(
5959
"""
6060
func foo() -> String {

Tests/SwiftSyntaxBuilderTest/EnumCaseElementTests.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ final class EnumCaseElementTests: XCTestCase {
1919
let leadingTrivia = Trivia.unexpectedText("")
2020
let buildable = EnumDeclSyntax(
2121
leadingTrivia: leadingTrivia,
22-
name: "Greeting",
23-
inheritanceClause: InheritanceClauseSyntax {
24-
InheritedTypeSyntax(type: TypeSyntax("String"))
25-
InheritedTypeSyntax(type: TypeSyntax("Codable"))
26-
InheritedTypeSyntax(type: TypeSyntax("Equatable"))
27-
}
22+
enumHeader: .init(
23+
name: "Greeting",
24+
inheritanceClause: InheritanceClauseSyntax {
25+
InheritedTypeSyntax(type: TypeSyntax("String"))
26+
InheritedTypeSyntax(type: TypeSyntax("Codable"))
27+
InheritedTypeSyntax(type: TypeSyntax("Equatable"))
28+
}
29+
)
2830
) {
2931
MemberBlockItemSyntax(
3032
decl: EnumCaseDeclSyntax {

Tests/SwiftSyntaxBuilderTest/ExtensionDeclTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ final class ExtensionDeclTests: XCTestCase {
3636
}
3737
let members = MemberBlockItemListSyntax(keywords.map { MemberBlockItemSyntax(decl: $0) })
3838
let buildable = ExtensionDeclSyntax(
39-
extendedType: TypeSyntax("TokenSyntax"),
39+
extensionHeader: .init(extendedType: TypeSyntax("TokenSyntax")),
4040
memberBlock: MemberBlockSyntax(members: members)
4141
)
4242

Tests/SwiftSyntaxBuilderTest/SourceFileTests.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ final class SourceFileTests: XCTestCase {
2020
DeclSyntax("import Foundation")
2121
DeclSyntax("import UIKit")
2222
ClassDeclSyntax(
23-
classKeyword: .keyword(.class),
24-
name: "SomeViewController",
23+
classHeader: .init(
24+
classKeyword: .keyword(.class),
25+
name: "SomeViewController"
26+
),
2527
memberBlockBuilder: {
2628
DeclSyntax("let tableView: UITableView")
2729
}

Tests/SwiftSyntaxBuilderTest/StringInterpolationTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ final class StringInterpolationTests: XCTestCase {
349349
}
350350

351351
func testStringInterpolationInBuilder() {
352-
let ext = ExtensionDeclSyntax(extendedType: TypeSyntax("MyType")) {
352+
let ext = ExtensionDeclSyntax(extensionHeader: .init(extendedType: TypeSyntax("MyType"))) {
353353
DeclSyntax(
354354
"""
355355
///

Tests/SwiftSyntaxBuilderTest/StructTests.swift

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import XCTest
1717
final class StructTests: XCTestCase {
1818
func testEmptyStruct() {
1919
let leadingTrivia = Trivia.unexpectedText("")
20-
let buildable = StructDeclSyntax(leadingTrivia: leadingTrivia, name: "TestStruct") {}
20+
let buildable = StructDeclSyntax(leadingTrivia: leadingTrivia, structHeader: .init(name: "TestStruct")) {}
2121

2222
assertBuildResult(
2323
buildable,
@@ -44,8 +44,10 @@ final class StructTests: XCTestCase {
4444
.docLineComment("/// with multi line comment where the newline is a CR"),
4545
.carriageReturns(1),
4646
],
47-
structKeyword: .keyword(.struct),
48-
name: "CarriateReturnsStruct",
47+
structHeader: .init(
48+
structKeyword: .keyword(.struct),
49+
name: "CarriateReturnsStruct"
50+
),
4951
memberBlock: MemberBlockSyntax(members: [])
5052
)
5153
let carriageReturnFormFeedsStruct = StructDeclSyntax(
@@ -55,8 +57,10 @@ final class StructTests: XCTestCase {
5557
.docLineComment("/// with multi line comment where the newline is a CRLF"),
5658
.carriageReturnLineFeeds(1),
5759
],
58-
structKeyword: .keyword(.struct),
59-
name: "CarriageReturnFormFeedsStruct",
60+
structHeader: .init(
61+
structKeyword: .keyword(.struct),
62+
name: "CarriageReturnFormFeedsStruct"
63+
),
6064
memberBlock: MemberBlockSyntax(members: [])
6165
)
6266
let testStruct = try StructDeclSyntax("public struct TestStruct") {
@@ -87,7 +91,7 @@ final class StructTests: XCTestCase {
8791
}
8892

8993
func testControlWithLoopAndIf() {
90-
let myStruct = StructDeclSyntax(name: "MyStruct") {
94+
let myStruct = StructDeclSyntax(structHeader: .init(name: "MyStruct")) {
9195
for i in 0..<5 {
9296
if i.isMultiple(of: 2) {
9397
VariableDeclSyntax(bindingSpecifier: .keyword(.let)) {

Tests/SwiftSyntaxMacroExpansionTest/LexicalContextTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ extension SyntaxProtocol {
134134
// Extensions
135135
if let extensionDecl = self.as(ExtensionDeclSyntax.self) {
136136
// FIXME: It would be nice to be able to switch on type syntax...
137-
let extendedType = extensionDecl.extendedType
137+
let extendedType = extensionDecl.extensionHeader.extendedType
138138
if let simple = extendedType.as(IdentifierTypeSyntax.self) {
139139
return simple.name.trimmedDescription
140140
}

Tests/SwiftSyntaxMacroExpansionTest/MemberMacroTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ final class MemberMacroTests: XCTestCase {
450450
// This doesn't account for other attributes that *could* be present in the
451451
// attribute list, but for this test it will be fine.
452452
.replace(
453-
oldNode: Syntax(declaration.attributes),
453+
oldNode: Syntax(declaration.header.attributes),
454454
newNode: Syntax(AttributeListSyntax())
455455
)
456456
]

Tests/SwiftSyntaxMacrosTestSupportTests/AssertionsTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class AssertionsTests: XCTestCase {
3333
if let structDecl = declaration.as(StructDeclSyntax.self) {
3434
context.diagnose(
3535
.init(
36-
node: structDecl.structKeyword,
36+
node: structDecl.structHeader.structKeyword,
3737
message: OnlyStruct()
3838
)
3939
)
@@ -52,11 +52,11 @@ final class AssertionsTests: XCTestCase {
5252
if let structDecl = declaration.as(StructDeclSyntax.self) {
5353
context.diagnose(
5454
.init(
55-
node: structDecl.structKeyword,
55+
node: structDecl.structHeader.structKeyword,
5656
message: OnlyStruct(),
5757
highlights: [
58-
Syntax(structDecl.structKeyword),
59-
Syntax(structDecl.name),
58+
Syntax(structDecl.structHeader.structKeyword),
59+
Syntax(structDecl.structHeader.name),
6060
]
6161
)
6262
)

Tests/SwiftSyntaxTest/SyntaxCreationTests.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ fileprivate func cannedStructDecl() -> StructDeclSyntax {
2323
rightBrace: rBrace
2424
)
2525
return StructDeclSyntax(
26-
structKeyword: structKW,
27-
name: fooID,
26+
structHeader: .init(
27+
structKeyword: structKW,
28+
name: fooID
29+
),
2830
memberBlock: memberBlock
2931
)
3032
}
@@ -46,7 +48,7 @@ class SyntaxCreationTests: XCTestCase {
4648
let forType = TokenSyntax.identifier("`for`", trailingTrivia: .space)
4749
let newBrace = TokenSyntax.rightBraceToken(leadingTrivia: .newlines(2))
4850

49-
let renamed = structDecl.with(\.name, forType)
51+
let renamed = structDecl.with(\.structHeader.name, forType)
5052
.with(
5153
\.memberBlock,
5254
structDecl.memberBlock

Tests/SwiftSyntaxTest/SyntaxTests.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ class SyntaxTests: XCTestCase {
4040

4141
public func testDetached() {
4242
let s = StructDeclSyntax(
43-
structKeyword: .keyword(.struct),
44-
name: .identifier("someStruct"),
43+
structHeader: .init(
44+
structKeyword: .keyword(.struct),
45+
name: .identifier("someStruct")
46+
),
4547
memberBlock: MemberBlockSyntax(leftBrace: .leftBraceToken(), members: [], rightBrace: .rightBraceToken())
4648
)
4749

0 commit comments

Comments
 (0)