Skip to content

Commit abce0ea

Browse files
committed
Convert ManagedDependency from class to structure
Make ManagedDependency.State an indirect enumeration
1 parent 263ad3a commit abce0ea

File tree

2 files changed

+3
-16
lines changed

2 files changed

+3
-16
lines changed

Sources/Workspace/ManagedDependency.swift

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ extension Workspace {
1919
///
2020
/// Each dependency will have a checkout containing the sources at a
2121
/// particular revision, and may have an associated version.
22-
final public class ManagedDependency {
22+
public struct ManagedDependency: Equatable {
2323
/// Represents the state of the managed dependency.
24-
public enum State: Equatable {
24+
public indirect enum State: Equatable {
2525
/// The dependency is a managed checkout.
2626
case checkout(CheckoutState)
2727

@@ -34,19 +34,6 @@ extension Workspace {
3434

3535
// The dependency is a local package.
3636
case local
37-
38-
public static func == (lhs: Workspace.ManagedDependency.State, rhs: Workspace.ManagedDependency.State) -> Bool {
39-
switch (lhs, rhs) {
40-
case (.local, .local):
41-
return true
42-
case (.checkout(let lState), .checkout(let rState)):
43-
return lState == rState
44-
case (.edited(let lBasedOn, let lUnmanagedPath), .edited(let rBasedOn, let rUnmanagedPath)):
45-
return lBasedOn?.packageRef == rBasedOn?.packageRef && lUnmanagedPath == rUnmanagedPath
46-
default:
47-
return false
48-
}
49-
}
5037
}
5138

5239
/// The package reference.

Sources/Workspace/WorkspaceState.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ fileprivate struct WorkspaceStateStorage {
374374
}
375375

376376
extension Workspace.ManagedDependency {
377-
fileprivate convenience init(_ dependency: WorkspaceStateStorage.V4.Dependency) throws {
377+
fileprivate init(_ dependency: WorkspaceStateStorage.V4.Dependency) throws {
378378
try self.init(
379379
packageRef: .init(dependency.packageRef),
380380
state: dependency.state.underlying,

0 commit comments

Comments
 (0)