[libclang] Implement the importedASTFile indexing callback to provide
info about imported modules.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165020 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/IndexDecl.cpp b/tools/libclang/IndexDecl.cpp
index 53a98f1..65b0b16 100644
--- a/tools/libclang/IndexDecl.cpp
+++ b/tools/libclang/IndexDecl.cpp
@@ -10,6 +10,7 @@
 #include "IndexingContext.h"
 
 #include "clang/AST/DeclVisitor.h"
+#include "clang/Basic/Module.h"
 
 using namespace clang;
 using namespace cxindex;
@@ -305,6 +306,14 @@
     IndexCtx.indexTypeSourceInfo(D->getTemplatedDecl()->getTypeSourceInfo(), D);
     return true;
   }
+
+  bool VisitImportDecl(ImportDecl *D) {
+    Module *Imported = D->getImportedModule();
+    if (Imported)
+      IndexCtx.importedModule(D->getLocation(), Imported->getFullModuleName(),
+                              /*isIncludeDirective=*/false, Imported);
+    return true;
+  }
 };
 
 } // anonymous namespace