Commits

Doug Gregor committed aa0e7639407
Imbue ASTContext with a lazy resolver. Have TypeChecker's constructor register itself as the lazy resolver, and its destructor unregister itself. This introduces the completely-sensible restriction that there can only be one type checker active for an ASTContext at a time, which is the case already. Use ASTContext's lazy resolver in a single place that's been causing trouble (rdar://problem/20363958, rdar://problem/19773096), where deserializing a protocol conformance can cause us to pass a null lazy resolver into the protocol conformance table, which doesn't handle it well. This commit fixes those issues, which I'm unable to reduce down to a sane-enough test case to commit. This commit implies a ton of cleanup work to eliminate LazyResolver parameters from *everywhere*, deriving them from the ASTContext in the few places they're needed as well. It's a good direction, but that cleanup can be evolutionary. Swift SVN r26824