This patch is just creating an ASTImporterSharedState for each ASTContext we import into
and then pass it to all the different ASTImporter instances that import into that context.
See the ASTImporterSharedState documentation for the benefits of using the shared state.
If you want to get rid of noload_lookup in clang::ASTImporter then you have to pass the TranslationUnitDecl to the SharedState's constructor because only in that case would we create the lookup table.