From 1520b8bfbfc64af7dd60c536ded936448958c728 Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Tue, 14 Feb 2017 10:35:11 +0100 Subject: [PATCH] logic: implemented skipping to record calls to the constructor of a generated lambda class. --- .../parser/cxx/CxxAstVisitorComponentIndexer.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp b/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp index 19a0c4ab..819889b7 100644 --- a/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp +++ b/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp @@ -531,6 +531,21 @@ void CxxAstVisitorComponentIndexer::visitMemberExpr(clang::MemberExpr* s) void CxxAstVisitorComponentIndexer::visitCXXConstructExpr(clang::CXXConstructExpr* s) { + const clang::CXXConstructorDecl* constructorDecl = s->getConstructor(); + + if (!constructorDecl) + { + return; + } + else + { + const clang::CXXRecordDecl* parentDecl = constructorDecl->getParent(); + if (!parentDecl || parentDecl->isLambda()) + { + return; + } + } + if (shouldVisitReference(s->getLocation(), getAstVisitor()->getComponent()->getTopmostContextDecl())) { //if (e->getParenOrBraceRange().isValid()) {