From bb8c2ae5a9531d33d0158e7f6011f3f328fb39f2 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 9 May 2017 16:25:58 +0200 Subject: [PATCH] data: Set correct name delimiter per language in parsers --- src/lib_cxx/data/parser/cxx/CxxParser.cpp | 8 ++++++++ src/lib_java/data/parser/java/JavaParser.cpp | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/src/lib_cxx/data/parser/cxx/CxxParser.cpp b/src/lib_cxx/data/parser/cxx/CxxParser.cpp index 73ec913f..9ade2baf 100644 --- a/src/lib_cxx/data/parser/cxx/CxxParser.cpp +++ b/src/lib_cxx/data/parser/cxx/CxxParser.cpp @@ -10,9 +10,11 @@ #include "data/indexer/IndexerCommandCxxCdb.h" #include "data/indexer/IndexerCommandCxxManual.h" +#include "data/name/NameHierarchy.h" #include "data/parser/cxx/ASTActionFactory.h" #include "data/parser/cxx/CxxCompilationDatabaseSingle.h" #include "data/parser/cxx/CxxDiagnosticConsumer.h" +#include "settings/LanguageType.h" namespace { @@ -67,6 +69,8 @@ CxxParser::~CxxParser() void CxxParser::buildIndex(std::shared_ptr indexerCommand) { + NameHierarchy::setDelimiter(getSymbolNameDelimiterForLanguage(LANGUAGE_CPP)); + clang::tooling::CompileCommand compileCommand; compileCommand.Filename = indexerCommand->getSourceFilePath().str(); compileCommand.Directory = indexerCommand->getWorkingDirectory().str(); @@ -97,6 +101,8 @@ void CxxParser::buildIndex(std::shared_ptr indexerCommand) void CxxParser::buildIndex(std::shared_ptr indexerCommand) { + NameHierarchy::setDelimiter(getSymbolNameDelimiterForLanguage(LANGUAGE_CPP)); + std::shared_ptr compilationDatabase = getCompilationDatabase(indexerCommand); clang::tooling::ClangTool tool(*compilationDatabase, std::vector(1, indexerCommand->getSourceFilePath().str())); @@ -116,6 +122,8 @@ void CxxParser::buildIndex(std::shared_ptr indexerComma void CxxParser::buildIndex(const std::string& fileName, std::shared_ptr fileContent) { + NameHierarchy::setDelimiter(getSymbolNameDelimiterForLanguage(LANGUAGE_CPP)); + std::shared_ptr canonicalFilePathCache = std::make_shared([](std::string fileName) -> FilePath { return FilePath(fileName).canonical(); diff --git a/src/lib_java/data/parser/java/JavaParser.cpp b/src/lib_java/data/parser/java/JavaParser.cpp index 4d3b7b35..c1b66a2b 100644 --- a/src/lib_java/data/parser/java/JavaParser.cpp +++ b/src/lib_java/data/parser/java/JavaParser.cpp @@ -2,11 +2,13 @@ #include +#include "data/name/NameHierarchy.h" #include "data/parser/java/JavaEnvironmentFactory.h" #include "data/parser/ParseLocation.h" #include "data/parser/ReferenceKind.h" #include "data/parser/ParserClient.h" #include "settings/ApplicationSettings.h" +#include "settings/LanguageType.h" #include "utility/file/FileSystem.h" #include "utility/text/TextAccess.h" #include "utility/ResourcePaths.h" @@ -102,6 +104,8 @@ void JavaParser::buildIndex( const std::string& classPath, std::shared_ptr textAccess) { + NameHierarchy::setDelimiter(getSymbolNameDelimiterForLanguage(LANGUAGE_JAVA)); + if (m_javaEnvironment) { m_currentFilePath = sourceFilePath;