Skip to content

Commit 67e2195

Browse files
committed
Ast visitor function for using declarations.
1 parent b5c5bcc commit 67e2195

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

docker/dev/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ RUN chmod +x /usr/local/bin/codecompass-build.sh
4646
ENV DATABASE=sqlite \
4747
BUILD_TYPE=Release \
4848
BUILD_DIR=/CodeCompass/build \
49+
LLVM_DIR=/usr/lib/llvm-10/cmake \
50+
Clang_DIR=/usr/lib/cmake/clang-10 \
4951
INSTALL_DIR=/CodeCompass/install \
5052
SOURCE_DIR=/CodeCompass/CodeCompass \
5153
TEST_WORKSPACE=/CodeCompass/test_workspace \

plugins/cpp/parser/src/clangastvisitor.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,35 @@ class ClangASTVisitor : public clang::RecursiveASTVisitor<ClangASTVisitor>
956956

957957
return true;
958958
}
959+
960+
961+
962+
bool VisitUsingDecl(clang::UsingDecl* ud_){
963+
964+
//--- CppAstNode ---//
965+
966+
model::CppAstNodePtr astNode = std::make_shared<model::CppAstNode>();
967+
968+
//std::string mangledName = getMangledName(_mngCtx, ud_, astNode->location);
969+
astNode->astValue = getSourceText(
970+
_clangSrcMgr,
971+
ud_->getBeginLoc(),
972+
ud_->getLocation(),
973+
true);
974+
std::string usr = getUSR(ud_);
975+
astNode->location = getFileLoc(ud_->getBeginLoc(), ud_->getEndLoc());
976+
//astNode->mangledNameHash = util::fnvHash(mangledName);
977+
astNode->entityHash = util::fnvHash(usr);
978+
astNode->astType = model::CppAstNode::AstType::Definition;
979+
astNode->id = model::createIdentifier(*astNode);
980+
981+
if (insertToCache(ud_, astNode)){
982+
_astNodes.push_back(astNode);
983+
}
984+
985+
return true;
986+
}
987+
959988

960989
bool VisitCXXConstructExpr(clang::CXXConstructExpr* ce_)
961990
{

0 commit comments

Comments
 (0)