ClangASTContext was assuming the presence of DWARF debug info, so it was baked into the class that DWARFASTParserClang would be used. This won't be the case with PDB, which will need a PDBASTParserClang. This will be used for PDB's generated by MSVC (since it is ABI compatible with clang-cl) as well as (in the future) PDBs generated directly by clang.
For now PDBASTParserClang is not implemented, this only breaks up the DWARFASTParser class into an abstraction that is not dwarf dependent, and has ClangASTContext deal only with this abstraction, while SymbolFileDWARF can deal directly with the DWARFASTParser.