Fix unreachable code warnings when all reconnectable swift routes have compat wrappers #347
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background compatible routes get generated reconnection wrapper types. If they're in the allow list for Objective-C compatibility generation as well, an additional Objective-C wrapper type will be generated. If we generate an Objective C compatibility wrapper for each Swift one, a switch statement used to map from one to the other will contain an unreachable default statement. Since each layer is generated in separate (and potentially parallel) code generation passes, it's difficult make the generation logic smart enough to know whether to include the default. This change eliminates the warning by generating a different control flow that accommodates both situations naturally.
Checklist
General Contributing
Is This a Code Change?
Validation
tox
?