Skip to content

Commit 7801646

Browse files
committed
[SwiftRefactor] PackageManifest: Replace PackageEdit with [SourceEdit]
None more auxiliary files means that we don't need an extra type.
1 parent f35ea82 commit 7801646

File tree

10 files changed

+33
-67
lines changed

10 files changed

+33
-67
lines changed

Sources/SwiftRefactor/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ add_swift_syntax_library(SwiftRefactor
3333
PackageManifest/ManifestEditRefactoringProvider.swift
3434
PackageManifest/ManifestSyntaxRepresentable.swift
3535
PackageManifest/PackageDependency.swift
36-
PackageManifest/PackageEdit.swift
3736
PackageManifest/PackageTarget.swift
3837
PackageManifest/ProductDescription.swift
3938
PackageManifest/StringUtils.swift

Sources/SwiftRefactor/PackageManifest/AddPackageDependency.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public struct AddPackageDependency: ManifestEditRefactoringProvider {
3939
public static func manifestRefactor(
4040
syntax manifest: SourceFileSyntax,
4141
in context: Context
42-
) throws -> PackageEdit {
42+
) throws -> [SourceEdit] {
4343
let dependency = context.dependency
4444
guard let packageCall = manifest.findCall(calleeName: "Package") else {
4545
throw ManifestEditError.cannotFindPackage
@@ -51,19 +51,17 @@ public struct AddPackageDependency: ManifestEditRefactoringProvider {
5151
in: packageCall
5252
)
5353
else {
54-
return PackageEdit(manifestEdits: [])
54+
return []
5555
}
5656

5757
let newPackageCall = try addPackageDependencyLocal(
5858
dependency,
5959
to: packageCall
6060
)
6161

62-
return PackageEdit(
63-
manifestEdits: [
64-
.replace(packageCall, with: newPackageCall.description)
65-
]
66-
)
62+
return [
63+
.replace(packageCall, with: newPackageCall.description)
64+
]
6765
}
6866

6967
/// Return `true` if the dependency already exists in the manifest, otherwise return `false`.

Sources/SwiftRefactor/PackageManifest/AddPackageTarget.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public struct AddPackageTarget: ManifestEditRefactoringProvider {
6060
public static func manifestRefactor(
6161
syntax manifest: SourceFileSyntax,
6262
in context: Context
63-
) throws -> PackageEdit {
63+
) throws -> [SourceEdit] {
6464
guard let packageCall = manifest.findCall(calleeName: "Package") else {
6565
throw ManifestEditError.cannotFindPackage
6666
}
@@ -119,11 +119,9 @@ public struct AddPackageTarget: ManifestEditRefactoringProvider {
119119
default: break
120120
}
121121

122-
return PackageEdit(
123-
manifestEdits: [
124-
.replace(packageCall, with: newPackageCall.description)
125-
] + extraManifestEdits
126-
)
122+
return [
123+
.replace(packageCall, with: newPackageCall.description)
124+
] + extraManifestEdits
127125
}
128126
}
129127

Sources/SwiftRefactor/PackageManifest/AddPluginUsage.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public struct AddPluginUsage: ManifestEditRefactoringProvider {
3333
public static func manifestRefactor(
3434
syntax manifest: SourceFileSyntax,
3535
in context: Context
36-
) throws -> PackageEdit {
36+
) throws -> [SourceEdit] {
3737
let targetName = context.targetName
3838
let pluginUsage = context.pluginUsage
3939

@@ -50,10 +50,8 @@ public struct AddPluginUsage: ManifestEditRefactoringProvider {
5050
newElement: pluginUsage.asSyntax()
5151
)
5252

53-
return PackageEdit(
54-
manifestEdits: [
55-
.replace(targetCall, with: newTargetCall.description)
56-
]
57-
)
53+
return [
54+
.replace(targetCall, with: newTargetCall.description)
55+
]
5856
}
5957
}

Sources/SwiftRefactor/PackageManifest/AddProduct.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public struct AddProduct: ManifestEditRefactoringProvider {
3939
public static func manifestRefactor(
4040
syntax manifest: SourceFileSyntax,
4141
in context: Context
42-
) throws -> PackageEdit {
42+
) throws -> [SourceEdit] {
4343
let product = context.product
4444

4545
guard let packageCall = manifest.findCall(calleeName: "Package") else {
@@ -52,10 +52,8 @@ public struct AddProduct: ManifestEditRefactoringProvider {
5252
newElement: product.asSyntax()
5353
)
5454

55-
return PackageEdit(
56-
manifestEdits: [
57-
.replace(packageCall, with: newPackageCall.description)
58-
]
59-
)
55+
return [
56+
.replace(packageCall, with: newPackageCall.description)
57+
]
6058
}
6159
}

Sources/SwiftRefactor/PackageManifest/AddSwiftSetting.swift

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
3434
to target: String,
3535
name: String,
3636
manifest: SourceFileSyntax
37-
) throws -> PackageEdit {
37+
) throws -> [SourceEdit] {
3838
try manifestRefactor(
3939
syntax: manifest,
4040
in: .init(
@@ -49,7 +49,7 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
4949
to target: String,
5050
name: String,
5151
manifest: SourceFileSyntax
52-
) throws -> PackageEdit {
52+
) throws -> [SourceEdit] {
5353
try manifestRefactor(
5454
syntax: manifest,
5555
in: .init(
@@ -64,7 +64,7 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
6464
to target: String,
6565
mode rawMode: String,
6666
manifest: SourceFileSyntax
67-
) throws -> PackageEdit {
67+
) throws -> [SourceEdit] {
6868
let mode: String
6969
switch rawMode {
7070
case "3", "4", "5", "6":
@@ -88,7 +88,7 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
8888
public static func strictMemorySafety(
8989
to target: String,
9090
manifest: SourceFileSyntax
91-
) throws -> PackageEdit {
91+
) throws -> [SourceEdit] {
9292
try manifestRefactor(
9393
syntax: manifest,
9494
in: .init(
@@ -102,7 +102,7 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
102102
public static func manifestRefactor(
103103
syntax manifest: SourceFileSyntax,
104104
in context: Context
105-
) throws -> PackageEdit {
105+
) throws -> [SourceEdit] {
106106
guard let packageCall = manifest.findCall(calleeName: "Package") else {
107107
throw ManifestEditError.cannotFindPackage
108108
}
@@ -154,10 +154,8 @@ public struct AddSwiftSetting: ManifestEditRefactoringProvider {
154154
)
155155
}
156156

157-
return PackageEdit(
158-
manifestEdits: [
159-
.replace(targetCall, with: newTargetCall.description)
160-
]
161-
)
157+
return [
158+
.replace(targetCall, with: newTargetCall.description)
159+
]
162160
}
163161
}

Sources/SwiftRefactor/PackageManifest/AddTargetDependency.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public struct AddTargetDependency: ManifestEditRefactoringProvider {
5151
public static func manifestRefactor(
5252
syntax manifest: SourceFileSyntax,
5353
in context: Context
54-
) throws -> PackageEdit {
54+
) throws -> [SourceEdit] {
5555
let dependency = context.dependency
5656
let targetName = context.targetName
5757

@@ -67,11 +67,9 @@ public struct AddTargetDependency: ManifestEditRefactoringProvider {
6767
to: targetCall
6868
)
6969

70-
return PackageEdit(
71-
manifestEdits: [
72-
.replace(targetCall, with: newTargetCall.description)
73-
]
74-
)
70+
return [
71+
.replace(targetCall, with: newTargetCall.description)
72+
]
7573
}
7674

7775
/// Implementation of adding a target dependency to an existing call.

Sources/SwiftRefactor/PackageManifest/ManifestEditRefactoringProvider.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import SwiftSyntax
1616
public protocol ManifestEditRefactoringProvider: EditRefactoringProvider
1717
where Self.Input == SourceFileSyntax {
1818

19-
static func manifestRefactor(syntax: SourceFileSyntax, in context: Context) throws -> PackageEdit
19+
static func manifestRefactor(syntax: SourceFileSyntax, in context: Context) throws -> [SourceEdit]
2020
}
2121

2222
extension ManifestEditRefactoringProvider {
2323
public static func textRefactor(syntax: Input, in context: Context) -> [SourceEdit] {
24-
return (try? manifestRefactor(syntax: syntax, in: context).manifestEdits) ?? []
24+
return (try? manifestRefactor(syntax: syntax, in: context)) ?? []
2525
}
2626
}

Sources/SwiftRefactor/PackageManifest/PackageEdit.swift

Lines changed: 0 additions & 21 deletions
This file was deleted.

Tests/SwiftRefactorTest/ManifestEditTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -994,11 +994,11 @@ func assertManifestRefactor(
994994
expectedManifest: SourceFileSyntax,
995995
file: StaticString = #filePath,
996996
line: UInt = #line,
997-
operation: (SourceFileSyntax) throws -> PackageEdit
997+
operation: (SourceFileSyntax) throws -> [SourceEdit]
998998
) rethrows {
999999
let edits = try operation(originalManifest)
10001000
let editedManifestSource = FixItApplier.apply(
1001-
edits: edits.manifestEdits,
1001+
edits: edits,
10021002
to: originalManifest
10031003
)
10041004

0 commit comments

Comments
 (0)