diff options
Diffstat (limited to 'tools/CIndex/CIndex.cpp')
-rw-r--r-- | tools/CIndex/CIndex.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp index 9cdb9659fe..6221a615aa 100644 --- a/tools/CIndex/CIndex.cpp +++ b/tools/CIndex/CIndex.cpp @@ -306,6 +306,7 @@ public: bool VisitExplicitCastExpr(ExplicitCastExpr *E); bool VisitObjCMessageExpr(ObjCMessageExpr *E); bool VisitObjCEncodeExpr(ObjCEncodeExpr *E); + bool VisitOffsetOfExpr(OffsetOfExpr *E); bool VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E); }; @@ -943,6 +944,14 @@ bool CursorVisitor::VisitBlockExpr(BlockExpr *B) { return Visit(B->getBlockDecl()); } +bool CursorVisitor::VisitOffsetOfExpr(OffsetOfExpr *E) { + // FIXME: Visit fields as well? + if (Visit(E->getTypeSourceInfo()->getTypeLoc())) + return true; + + return VisitExpr(E); +} + bool CursorVisitor::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E) { if (E->isArgumentType()) { if (TypeSourceInfo *TSInfo = E->getArgumentTypeInfo()) |