Although in C++ class name has external linkage, usually the definition of the
class is available in the same translation unit when it's needed. So we make
all of them invalid Entity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107606 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Index/Entity.cpp b/lib/Index/Entity.cpp
index 0551ae5..06e22bb 100644
--- a/lib/Index/Entity.cpp
+++ b/lib/Index/Entity.cpp
@@ -46,6 +46,7 @@
Entity VisitVarDecl(VarDecl *D);
Entity VisitFieldDecl(FieldDecl *D);
Entity VisitFunctionDecl(FunctionDecl *D);
+ Entity VisitTypeDecl(TypeDecl *D);
};
}
@@ -130,6 +131,13 @@
return Entity();
}
+Entity EntityGetter::VisitTypeDecl(TypeDecl *D) {
+ // Make TypeDecl an invalid Entity. Although in C++ class name has external
+ // linkage, usually the definition of the class is available in the same
+ // translation unit when it's needed. So we make all of them invalid Entity.
+ return Entity();
+}
+
//===----------------------------------------------------------------------===//
// EntityImpl Implementation
//===----------------------------------------------------------------------===//