]> granicus.if.org Git - clang/commitdiff
Search through all Decls that are DeclContexts.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 18 Jul 2009 00:33:40 +0000 (00:33 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 18 Jul 2009 00:33:40 +0000 (00:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76270 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Index/ResolveLocation.cpp

index 4bff08e2ea7fdc826b39ba374505622094d21aa8..dcf765409745241be7a5e9635f947debe915b450 100644 (file)
@@ -93,7 +93,6 @@ public:
 
   ASTLocation VisitDeclContext(DeclContext *DC);
   ASTLocation VisitTranslationUnitDecl(TranslationUnitDecl *TU);
-  ASTLocation VisitRecordDecl(RecordDecl *D);
   ASTLocation VisitVarDecl(VarDecl *D);
   ASTLocation VisitFunctionDecl(FunctionDecl *D);
   ASTLocation VisitDecl(Decl *D);
@@ -155,12 +154,6 @@ ASTLocation DeclLocResolver::VisitTranslationUnitDecl(TranslationUnitDecl *TU) {
   return ASTLoc;
 }
 
-ASTLocation DeclLocResolver::VisitRecordDecl(RecordDecl *D) {
-  assert(ContainsLocation(D) &&
-         "Should visit only after verifying that loc is in range");
-  return VisitDeclContext(D);
-}
-
 ASTLocation DeclLocResolver::VisitFunctionDecl(FunctionDecl *D) {
   assert(ContainsLocation(D) &&
          "Should visit only after verifying that loc is in range");
@@ -225,6 +218,8 @@ ASTLocation DeclLocResolver::VisitVarDecl(VarDecl *D) {
 ASTLocation DeclLocResolver::VisitDecl(Decl *D) {
   assert(ContainsLocation(D) &&
          "Should visit only after verifying that loc is in range");
+  if (DeclContext *DC = dyn_cast<DeclContext>(D))
+    return VisitDeclContext(DC);
   return ASTLocation(D);
 }