This introduces a layer between DeclVendor and the currently implemented
DeclVendors (ClangModulesDeclVendor and AppleObjCDeclVendor). This
allows the removal of DeclVendor::GetImporterSource which is extremely
clang-specific, freeing up the interface to be more general.
A good follow up to this would be to remove the remaining instances of
clang in DeclVendor, either by moving things to ClangDeclVendor or by
using wrappers (e.g. CompilerDecl instead of clang::NamedDecl).
This part of the change was recently reverted, see: http://llvm.org/viewvc/llvm-project?view=revision&revision=372974
I am wondering if the change right above for runtime_decl_vendor is also problematic as well. Can you explain the rationale?
CC @teemperor