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
This commit is contained in:
Zhongxing Xu 2010-07-05 02:35:40 +00:00
Родитель 423030c9e7
Коммит c8822e06d0
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -46,6 +46,7 @@ public:
Entity VisitVarDecl(VarDecl *D);
Entity VisitFieldDecl(FieldDecl *D);
Entity VisitFunctionDecl(FunctionDecl *D);
Entity VisitTypeDecl(TypeDecl *D);
};
}
@ -130,6 +131,13 @@ Entity EntityGetter::VisitFieldDecl(FieldDecl *D) {
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
//===----------------------------------------------------------------------===//