diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-11-17 00:50:41 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-11-17 00:50:41 +0000 |
commit | b8dd1cad52be63b18092bd9d9335cbeee3f5de9f (patch) | |
tree | 0b5863de7c41933ed438ca9b363f649ecb04b24e | |
parent | fafa75aebadef8d6b44a920e3f40529f150a5574 (diff) |
CursorVisitor: migrate handling of
CXXTypeidExpr to data-recursion algorithm.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119439 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/libclang/CIndex.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index acf6b740f9..6d5df9f7c1 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -341,7 +341,6 @@ public: bool VisitAddrLabelExpr(AddrLabelExpr *E); bool VisitVAArgExpr(VAArgExpr *E); bool VisitDesignatedInitExpr(DesignatedInitExpr *E); - bool VisitCXXTypeidExpr(CXXTypeidExpr *E); bool VisitCXXUuidofExpr(CXXUuidofExpr *E); bool VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *E); bool VisitCXXPseudoDestructorExpr(CXXPseudoDestructorExpr *E); @@ -1525,17 +1524,6 @@ bool CursorVisitor::VisitDesignatedInitExpr(DesignatedInitExpr *E) { return Visit(MakeCXCursor(E->getInit(), StmtParent, TU)); } -bool CursorVisitor::VisitCXXTypeidExpr(CXXTypeidExpr *E) { - if (E->isTypeOperand()) { - if (TypeSourceInfo *TSInfo = E->getTypeOperandSourceInfo()) - return Visit(TSInfo->getTypeLoc()); - - return false; - } - - return VisitExpr(E); -} - bool CursorVisitor::VisitCXXUuidofExpr(CXXUuidofExpr *E) { if (E->isTypeOperand()) { if (TypeSourceInfo *TSInfo = E->getTypeOperandSourceInfo()) @@ -1707,6 +1695,7 @@ public: void VisitCXXNewExpr(CXXNewExpr *E); void VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E); void VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *E); + void VisitCXXTypeidExpr(CXXTypeidExpr *E); void VisitCXXUnresolvedConstructExpr(CXXUnresolvedConstructExpr *E); void VisitDeclRefExpr(DeclRefExpr *D); void VisitDeclStmt(DeclStmt *S); @@ -1792,6 +1781,11 @@ void EnqueueVisitor::VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *E) { EnqueueChildren(E); AddTypeLoc(E->getTypeSourceInfo()); } +void EnqueueVisitor::VisitCXXTypeidExpr(CXXTypeidExpr *E) { + EnqueueChildren(E); + if (E->isTypeOperand()) + AddTypeLoc(E->getTypeOperandSourceInfo()); +} void EnqueueVisitor::VisitCXXUnresolvedConstructExpr(CXXUnresolvedConstructExpr *E) { |