diff --git a/Sources/SwiftRefactor/PackageManifest/AddPackageTarget.swift b/Sources/SwiftRefactor/PackageManifest/AddPackageTarget.swift index 2b5b3b8cc9f..e47ca957518 100644 --- a/Sources/SwiftRefactor/PackageManifest/AddPackageTarget.swift +++ b/Sources/SwiftRefactor/PackageManifest/AddPackageTarget.swift @@ -295,18 +295,6 @@ public struct AddPackageTarget: ManifestEditRefactoringProvider { } } -fileprivate extension PackageTarget.Dependency { - /// Retrieve the name of the dependency - var name: String { - switch self { - case .target(let name), - .byName(let name), - .product(let name, package: _): - return name - } - } -} - /// The array of auxiliary files that can be added by a package editing /// operation. private typealias AuxiliaryFiles = [(String, SourceFileSyntax)] @@ -346,18 +334,6 @@ fileprivate extension PackageDependency { } } -fileprivate extension PackageTarget { - var sanitizedName: String { - name - .mangledToC99ExtendedIdentifier() - .localizedFirstWordCapitalized() - } -} - -fileprivate extension String { - func localizedFirstWordCapitalized() -> String { prefix(1).uppercased() + dropFirst() } -} - extension SourceFileSyntax { private class ContainsLiteralVisitor: SyntaxVisitor { let string: String diff --git a/Sources/SwiftRefactor/PackageManifest/PackageTarget.swift b/Sources/SwiftRefactor/PackageManifest/PackageTarget.swift index 0956feeefc1..5c12ba32eef 100644 --- a/Sources/SwiftRefactor/PackageManifest/PackageTarget.swift +++ b/Sources/SwiftRefactor/PackageManifest/PackageTarget.swift @@ -18,6 +18,12 @@ import SwiftSyntax public struct PackageTarget { public let name: String + public var sanitizedName: String { + name + .mangledToC99ExtendedIdentifier() + .localizedFirstWordCapitalized() + } + /// The type of target. public let type: TargetKind @@ -51,6 +57,16 @@ public struct PackageTarget { case byName(name: String) case target(name: String) case product(name: String, package: String?) + + /// Retrieve the name of the dependency + public var name: String { + switch self { + case .byName(let name), + .target(let name), + .product(let name, package: _): + return name + } + } } public init( @@ -141,3 +157,7 @@ extension PackageTarget.PluginUsage: ManifestSyntaxRepresentable { } } } + +fileprivate extension String { + func localizedFirstWordCapitalized() -> String { prefix(1).uppercased() + dropFirst() } +}