@@ -3350,22 +3350,16 @@ extension Workspace {
3350
3350
}
3351
3351
3352
3352
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) )
3368
3361
}
3362
+ packageStateChanges [ packageRef. identity] = ( packageRef, stateChange)
3369
3363
}
3370
3364
}
3371
3365
// Set the state of any old package that might have been removed.
0 commit comments