Skip to content

Commit bec0287

Browse files
authored
Refactor nested ifs into a switch statement. (#4132)
1 parent d7d52e0 commit bec0287

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

Sources/Workspace/Workspace.swift

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3350,22 +3350,16 @@ extension Workspace {
33503350
}
33513351

33523352
case .version(let version):
3353-
if let currentDependency = currentDependency {
3354-
// FIXME: This should probably be refactored into a switch statement to avoid missing new cases.
3355-
if case .sourceControlCheckout(let checkoutState) = currentDependency.state, case .version(version, _) = checkoutState {
3356-
packageStateChanges[packageRef.identity] = (packageRef, .unchanged)
3357-
} else if case .registryDownload(version) = currentDependency.state {
3358-
packageStateChanges[packageRef.identity] = (packageRef, .unchanged)
3359-
} else if case .custom(version, _) = currentDependency.state {
3360-
packageStateChanges[packageRef.identity] = (packageRef, .unchanged)
3361-
} else {
3362-
let newState = PackageStateChange.State(requirement: .version(version), products: products)
3363-
packageStateChanges[packageRef.identity] = (packageRef, .updated(newState))
3364-
}
3365-
} else {
3366-
let newState = PackageStateChange.State(requirement: .version(version), products: products)
3367-
packageStateChanges[packageRef.identity] = (packageRef, .added(newState))
3353+
let stateChange: PackageStateChange
3354+
switch currentDependency?.state {
3355+
case .sourceControlCheckout(.version(version, _)), .registryDownload(version), .custom(version, _):
3356+
stateChange = .unchanged
3357+
case .edited, .fileSystem, .sourceControlCheckout, .registryDownload, .custom:
3358+
stateChange = .updated(.init(requirement: .version(version), products: products))
3359+
case nil:
3360+
stateChange = .added(.init(requirement: .version(version), products: products))
33683361
}
3362+
packageStateChanges[packageRef.identity] = (packageRef, stateChange)
33693363
}
33703364
}
33713365
// Set the state of any old package that might have been removed.

0 commit comments

Comments
 (0)