-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Serialization] Clean up type deserialization in the same way as decl deserialization #22666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci Please test |
@swift-ci Please test compiler performance |
Build failed |
@swift-ci Please test Linux |
Like I just did for DeclDeserializer. This one adds the new class and moves most of getTypeChecked() into it, but doesn't yet split anything up.
Decls need to do this to avoid re-entrancy issues, but it turns out types are simpler. I left a dummy "result" variable in the minimize churn, since I'm going to move all the cases into their own functions anyway.
...to prove it can be done.
It still has side effects, and it's still a lambda rather than a helper function because it's not used anywhere else, but `[&]` captures in helper lambdas make me nervous (as opposed to callback lambdas).
0331696
to
4db46b0
Compare
@swift-ci Please test |
Build failed |
@swift-ci Please test macOS |
Oh hooray I forgot to merge this yesterday. Let's make sure it still works. @swift-ci Please smoke test |
@swift-ci Please smoke test macOS |
…by using a helper class. Type equivalent of #22610. Not quite as much of a cleanup as the decl one, but still good, and still possibly going to improve backtraces.
No functionality change. I suggest reviewing commit by commit.