From d5e2bbb17c16d2cbc4ba47a10061860db65d7bd5 Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Mon, 13 Feb 2017 10:29:27 +0100 Subject: [PATCH] logic: recording node type of a cxx namespace in a using directive * also fixed tests to be executed in the same order on every platform --- CMakeLists.txt | 2 +- .../data/parser/cxx/CxxAstVisitorComponentIndexer.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 07c485bb..479fc3b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -588,7 +588,7 @@ if (WIN32) add_custom_command( TARGET ${TEST_PROJECT_NAME} PRE_BUILD - COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h + COMMAND cd ${PROJECT_SOURCE_DIR} && ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${TEST_FILES} COMMENT "Generating unittest code with cxxtestgen" ) diff --git a/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp b/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp index bc1e6865..19a0c4ab 100644 --- a/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp +++ b/src/lib_cxx/data/parser/cxx/CxxAstVisitorComponentIndexer.cpp @@ -373,10 +373,14 @@ void CxxAstVisitorComponentIndexer::visitUsingDirectiveDecl(clang::UsingDirectiv { if (shouldVisitDecl(d)) { + const NameHierarchy nameHierarchy = getAstVisitor()->getDeclNameCache()->getValue(d->getNominatedNamespaceAsWritten()); + + m_client->recordSymbol(nameHierarchy, SYMBOL_NAMESPACE, ACCESS_NONE, DEFINITION_NONE); + ParseLocation loc = getParseLocation(d->getLocation()); m_client->recordReference( REFERENCE_USAGE, - getAstVisitor()->getDeclNameCache()->getValue(d->getNominatedNamespaceAsWritten()), + nameHierarchy, getAstVisitor()->getComponent()->getContextName(NameHierarchy(loc.filePath.fileName())), loc );