]> granicus.if.org Git - clang/commitdiff
CursorVisitor: migrate handling of
authorTed Kremenek <kremenek@apple.com>
Wed, 17 Nov 2010 00:50:39 +0000 (00:50 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 17 Nov 2010 00:50:39 +0000 (00:50 +0000)
TypesCompatibleExpr to data-recursion algorithm.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119438 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index a14d1895117182f28bab0410c9afd04561cdcdde..acf6b740f9a11e62e187f62ee56e4ba2b043de23 100644 (file)
@@ -339,7 +339,6 @@ public:
   bool VisitOffsetOfExpr(OffsetOfExpr *E);
   bool VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E);
   bool VisitAddrLabelExpr(AddrLabelExpr *E);
-  bool VisitTypesCompatibleExpr(TypesCompatibleExpr *E);
   bool VisitVAArgExpr(VAArgExpr *E);
   bool VisitDesignatedInitExpr(DesignatedInitExpr *E);
   bool VisitCXXTypeidExpr(CXXTypeidExpr *E);
@@ -1488,11 +1487,6 @@ bool CursorVisitor::VisitAddrLabelExpr(AddrLabelExpr *E) {
   return Visit(MakeCursorLabelRef(E->getLabel(), E->getLabelLoc(), TU));
 }
 
-bool CursorVisitor::VisitTypesCompatibleExpr(TypesCompatibleExpr *E) {
-  return Visit(E->getArgTInfo1()->getTypeLoc()) || 
-         Visit(E->getArgTInfo2()->getTypeLoc());
-}
-
 bool CursorVisitor::VisitVAArgExpr(VAArgExpr *E) {
   if (Visit(E->getWrittenTypeInfo()->getTypeLoc()))
     return true;
@@ -1726,6 +1720,7 @@ public:
   void VisitOverloadExpr(OverloadExpr *E);
   void VisitStmt(Stmt *S);
   void VisitSwitchStmt(SwitchStmt *S);
+  void VisitTypesCompatibleExpr(TypesCompatibleExpr *E);
   void VisitWhileStmt(WhileStmt *W);
   void VisitUnresolvedMemberExpr(UnresolvedMemberExpr *U);
 
@@ -1866,6 +1861,11 @@ void EnqueueVisitor::VisitSwitchStmt(SwitchStmt *S) {
   AddStmt(S->getCond());
   AddDecl(S->getConditionVariable());
 }
+void EnqueueVisitor::VisitTypesCompatibleExpr(TypesCompatibleExpr *E) {
+  AddTypeLoc(E->getArgTInfo2());
+  AddTypeLoc(E->getArgTInfo1());
+}
+
 void EnqueueVisitor::VisitWhileStmt(WhileStmt *W) {
   AddStmt(W->getBody());
   AddStmt(W->getCond());