ClangCodeModel: Replace nested ClangCodeModel::Utils namespace

... by the customary ::Internal.

It adds only noise on the user side and conflicts regularly with
the top-level ::Utils namespace.

Remove a (now) duplicated definition of setLastSentDocumentRevision().

Plus minor namespace related fixes.

There are still minor conflicts between Utils::Text and
ClangCodeModel::Text

Change-Id: I2e8df6b3c6c3599192774032822ee7e778355bba
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-07-06 15:49:35 +02:00
parent 5671b3a7be
commit f0628cca29
16 changed files with 137 additions and 154 deletions

View File

@@ -50,6 +50,7 @@
using namespace CPlusPlus; using namespace CPlusPlus;
using namespace ClangBackEnd; using namespace ClangBackEnd;
using namespace TextEditor; using namespace TextEditor;
using namespace Utils;
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Internal { namespace Internal {
@@ -110,9 +111,7 @@ static bool isAtUsingDeclaration(TextDocumentManipulatorInterface &manipulator,
if (lastToken.kind() != T_COLON_COLON) if (lastToken.kind() != T_COLON_COLON)
return false; return false;
return ::Utils::contains(tokens, [](const Token &token) { return contains(tokens, [](const Token &token) { return token.kind() == T_USING; });
return token.kind() == T_USING;
});
} }
static QString methodDefinitionParameters(const CodeCompletionChunks &chunks) static QString methodDefinitionParameters(const CodeCompletionChunks &chunks)
@@ -238,9 +237,9 @@ void ClangAssistProposalItem::apply(TextDocumentManipulatorInterface &manipulato
QTextCursor cursor = manipulator.textCursorAt(basePosition); QTextCursor cursor = manipulator.textCursorAt(basePosition);
bool abandonParen = false; bool abandonParen = false;
if (Utils::Text::matchPreviousWord(manipulator, cursor, "&")) { if (matchPreviousWord(manipulator, cursor, "&")) {
Utils::Text::moveToPreviousWord(manipulator, cursor); moveToPreviousWord(manipulator, cursor);
Utils::Text::moveToPreviousChar(manipulator, cursor); moveToPreviousChar(manipulator, cursor);
const QChar prevChar = manipulator.characterAt(cursor.position()); const QChar prevChar = manipulator.characterAt(cursor.position());
cursor.setPosition(basePosition); cursor.setPosition(basePosition);
abandonParen = QString("(;,{}").contains(prevChar); abandonParen = QString("(;,{}").contains(prevChar);
@@ -255,7 +254,7 @@ void ClangAssistProposalItem::apply(TextDocumentManipulatorInterface &manipulato
if (!abandonParen && ccr.completionKind == CodeCompletion::FunctionDefinitionCompletionKind) { if (!abandonParen && ccr.completionKind == CodeCompletion::FunctionDefinitionCompletionKind) {
const CodeCompletionChunk resultType = ccr.chunks.first(); const CodeCompletionChunk resultType = ccr.chunks.first();
if (resultType.kind == CodeCompletionChunk::ResultType) { if (resultType.kind == CodeCompletionChunk::ResultType) {
if (Utils::Text::matchPreviousWord(manipulator, cursor, resultType.text.toString())) { if (matchPreviousWord(manipulator, cursor, resultType.text.toString())) {
extraCharacters += methodDefinitionParameters(ccr.chunks); extraCharacters += methodDefinitionParameters(ccr.chunks);
// To skip the next block. // To skip the next block.
abandonParen = true; abandonParen = true;
@@ -376,14 +375,14 @@ std::pair<int, int> fixItPositionsRange(const FixItContainer &fixIt, const QText
const QTextBlock startLine = cursor.document()->findBlockByNumber(fixIt.range.start.line - 1); const QTextBlock startLine = cursor.document()->findBlockByNumber(fixIt.range.start.line - 1);
const QTextBlock endLine = cursor.document()->findBlockByNumber(fixIt.range.end.line - 1); const QTextBlock endLine = cursor.document()->findBlockByNumber(fixIt.range.end.line - 1);
const int fixItStartPos = ::Utils::Text::positionInText( const int fixItStartPos = Text::positionInText(
cursor.document(), cursor.document(),
static_cast<int>(fixIt.range.start.line), static_cast<int>(fixIt.range.start.line),
Utils::cppEditorColumn(startLine, static_cast<int>(fixIt.range.start.column))); cppEditorColumn(startLine, static_cast<int>(fixIt.range.start.column)));
const int fixItEndPos = ::Utils::Text::positionInText( const int fixItEndPos = Text::positionInText(
cursor.document(), cursor.document(),
static_cast<int>(fixIt.range.end.line), static_cast<int>(fixIt.range.end.line),
Utils::cppEditorColumn(endLine, static_cast<int>(fixIt.range.end.column))); cppEditorColumn(endLine, static_cast<int>(fixIt.range.end.column)));
return std::make_pair(fixItStartPos, fixItEndPos); return std::make_pair(fixItStartPos, fixItEndPos);
} }
@@ -432,11 +431,11 @@ QIcon ClangAssistProposalItem::icon() const
case CodeCompletion::ClassCompletionKind: case CodeCompletion::ClassCompletionKind:
case CodeCompletion::TemplateClassCompletionKind: case CodeCompletion::TemplateClassCompletionKind:
case CodeCompletion::TypeAliasCompletionKind: case CodeCompletion::TypeAliasCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Class); return CodeModelIcon::iconForType(CodeModelIcon::Class);
case CodeCompletion::EnumerationCompletionKind: case CodeCompletion::EnumerationCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Enum); return CodeModelIcon::iconForType(CodeModelIcon::Enum);
case CodeCompletion::EnumeratorCompletionKind: case CodeCompletion::EnumeratorCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Enumerator); return CodeModelIcon::iconForType(CodeModelIcon::Enumerator);
case CodeCompletion::ConstructorCompletionKind: case CodeCompletion::ConstructorCompletionKind:
case CodeCompletion::DestructorCompletionKind: case CodeCompletion::DestructorCompletionKind:
case CodeCompletion::FunctionCompletionKind: case CodeCompletion::FunctionCompletionKind:
@@ -446,40 +445,40 @@ QIcon ClangAssistProposalItem::icon() const
switch (completion.availability) { switch (completion.availability) {
case CodeCompletion::Available: case CodeCompletion::Available:
case CodeCompletion::Deprecated: case CodeCompletion::Deprecated:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::FuncPublic); return CodeModelIcon::iconForType(CodeModelIcon::FuncPublic);
default: default:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::FuncPrivate); return CodeModelIcon::iconForType(CodeModelIcon::FuncPrivate);
} }
case CodeCompletion::SignalCompletionKind: case CodeCompletion::SignalCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Signal); return CodeModelIcon::iconForType(CodeModelIcon::Signal);
case CodeCompletion::SlotCompletionKind: case CodeCompletion::SlotCompletionKind:
switch (completion.availability) { switch (completion.availability) {
case CodeCompletion::Available: case CodeCompletion::Available:
case CodeCompletion::Deprecated: case CodeCompletion::Deprecated:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::SlotPublic); return CodeModelIcon::iconForType(CodeModelIcon::SlotPublic);
case CodeCompletion::NotAccessible: case CodeCompletion::NotAccessible:
case CodeCompletion::NotAvailable: case CodeCompletion::NotAvailable:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::SlotPrivate); return CodeModelIcon::iconForType(CodeModelIcon::SlotPrivate);
} }
break; break;
case CodeCompletion::NamespaceCompletionKind: case CodeCompletion::NamespaceCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Namespace); return CodeModelIcon::iconForType(CodeModelIcon::Namespace);
case CodeCompletion::PreProcessorCompletionKind: case CodeCompletion::PreProcessorCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Macro); return CodeModelIcon::iconForType(CodeModelIcon::Macro);
case CodeCompletion::VariableCompletionKind: case CodeCompletion::VariableCompletionKind:
switch (completion.availability) { switch (completion.availability) {
case CodeCompletion::Available: case CodeCompletion::Available:
case CodeCompletion::Deprecated: case CodeCompletion::Deprecated:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::VarPublic); return CodeModelIcon::iconForType(CodeModelIcon::VarPublic);
default: default:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::VarPrivate); return CodeModelIcon::iconForType(CodeModelIcon::VarPrivate);
} }
case CodeCompletion::KeywordCompletionKind: case CodeCompletion::KeywordCompletionKind:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Keyword); return CodeModelIcon::iconForType(CodeModelIcon::Keyword);
case CodeCompletion::ClangSnippetKind: case CodeCompletion::ClangSnippetKind:
return snippetIcon; return snippetIcon;
case CodeCompletion::Other: case CodeCompletion::Other:
return ::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Unknown); return CodeModelIcon::iconForType(CodeModelIcon::Unknown);
default: default:
break; break;
} }

View File

@@ -58,6 +58,7 @@
using namespace CPlusPlus; using namespace CPlusPlus;
using namespace ClangBackEnd; using namespace ClangBackEnd;
using namespace TextEditor; using namespace TextEditor;
using namespace Utils;
enum { backEndStartTimeOutInMs = 10000 }; enum { backEndStartTimeOutInMs = 10000 };
@@ -103,9 +104,9 @@ BackendCommunicator::BackendCommunicator()
this, &BackendCommunicator::onEditorAboutToClose); this, &BackendCommunicator::onEditorAboutToClose);
connect(Core::ICore::instance(), &Core::ICore::coreAboutToClose, connect(Core::ICore::instance(), &Core::ICore::coreAboutToClose,
this, &BackendCommunicator::setupDummySender); this, &BackendCommunicator::setupDummySender);
auto globalFCB = ::Utils::GlobalFileChangeBlocker::instance(); auto globalFCB = GlobalFileChangeBlocker::instance();
m_postponeBackendJobs = globalFCB->isBlocked(); m_postponeBackendJobs = globalFCB->isBlocked();
connect(globalFCB, &::Utils::GlobalFileChangeBlocker::stateChanged, connect(globalFCB, &GlobalFileChangeBlocker::stateChanged,
this, &BackendCommunicator::setBackendJobsPostponed); this, &BackendCommunicator::setBackendJobsPostponed);
initializeBackend(); initializeBackend();
@@ -188,7 +189,7 @@ Utf8StringVector visibleCppEditorDocumentsFilePaths()
void BackendCommunicator::documentVisibilityChanged() void BackendCommunicator::documentVisibilityChanged()
{ {
documentVisibilityChanged(Utils::currentCppEditorDocumentFilePath(), documentVisibilityChanged(currentCppEditorDocumentFilePath(),
visibleCppEditorDocumentsFilePaths()); visibleCppEditorDocumentsFilePaths());
} }
@@ -247,14 +248,14 @@ void BackendCommunicator::unsavedFilesUpdatedForUiHeaders()
void BackendCommunicator::documentsChangedFromCppEditorDocument(const QString &filePath) void BackendCommunicator::documentsChangedFromCppEditorDocument(const QString &filePath)
{ {
const CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); const CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
QTC_ASSERT(document, return); QTC_ASSERT(document, return);
documentsChanged(filePath, document->contents(), document->revision()); documentsChanged(filePath, document->contents(), document->revision());
} }
void BackendCommunicator::unsavedFilesUpdatedFromCppEditorDocument(const QString &filePath) void BackendCommunicator::unsavedFilesUpdatedFromCppEditorDocument(const QString &filePath)
{ {
const CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); const CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
QTC_ASSERT(document, return); QTC_ASSERT(document, return);
unsavedFilesUpdated(filePath, document->contents(), document->revision()); unsavedFilesUpdated(filePath, document->contents(), document->revision());
} }
@@ -286,18 +287,12 @@ void BackendCommunicator::unsavedFilesUpdated(const QString &filePath,
static bool documentHasChanged(const QString &filePath, uint revision) static bool documentHasChanged(const QString &filePath, uint revision)
{ {
if (CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath)) if (CppTools::CppEditorDocumentHandle *document = cppDocument(filePath))
return document->sendTracker().shouldSendRevision(revision); return document->sendTracker().shouldSendRevision(revision);
return true; return true;
} }
static void setLastSentDocumentRevision(const QString &filePath, uint revision)
{
if (CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath))
document->sendTracker().setLastSentRevision(int(revision));
}
void BackendCommunicator::documentsChangedWithRevisionCheck(const FileContainer &fileContainer) void BackendCommunicator::documentsChangedWithRevisionCheck(const FileContainer &fileContainer)
{ {
if (documentHasChanged(fileContainer.filePath, fileContainer.documentRevision)) { if (documentHasChanged(fileContainer.filePath, fileContainer.documentRevision)) {
@@ -367,7 +362,7 @@ void BackendCommunicator::documentsChangedWithRevisionCheck(Core::IDocument *doc
void BackendCommunicator::updateChangeContentStartPosition(const QString &filePath, int position) void BackendCommunicator::updateChangeContentStartPosition(const QString &filePath, int position)
{ {
if (CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath)) if (CppTools::CppEditorDocumentHandle *document = cppDocument(filePath))
document->sendTracker().applyContentChange(position); document->sendTracker().applyContentChange(position);
} }
@@ -465,7 +460,7 @@ void BackendCommunicator::documentsOpened(const FileContainers &fileContainers)
Utf8String currentDocument; Utf8String currentDocument;
Utf8StringVector visibleDocuments; Utf8StringVector visibleDocuments;
if (!m_postponeBackendJobs) { if (!m_postponeBackendJobs) {
currentDocument = Utils::currentCppEditorDocumentFilePath(); currentDocument = currentCppEditorDocumentFilePath();
visibleDocuments = visibleCppEditorDocumentsFilePaths(); visibleDocuments = visibleCppEditorDocumentsFilePaths();
} }

View File

@@ -52,6 +52,8 @@
#include <QtConcurrent> #include <QtConcurrent>
using namespace Utils;
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Internal { namespace Internal {
@@ -73,8 +75,8 @@ void ClangCodeModelPlugin::generateCompilationDB()
if (!target) if (!target)
return; return;
QFuture<Utils::GenerateCompilationDbResult> task QFuture<GenerateCompilationDbResult> task
= QtConcurrent::run(&Utils::generateCompilationDB, = QtConcurrent::run(&Internal::generateCompilationDB,
CppModelManager::instance()->projectInfo(target->project())); CppModelManager::instance()->projectInfo(target->project()));
Core::ProgressManager::addTask(task, tr("Generating Compilation DB"), "generate compilation db"); Core::ProgressManager::addTask(task, tr("Generating Compilation DB"), "generate compilation db");
m_generatorWatcher.setFuture(task); m_generatorWatcher.setFuture(task);
@@ -121,10 +123,10 @@ void ClangCodeModelPlugin::createCompilationDBButton()
Core::ActionContainer *mbuild = Core::ActionContainer *mbuild =
Core::ActionManager::actionContainer(ProjectExplorer::Constants::M_BUILDPROJECT); Core::ActionManager::actionContainer(ProjectExplorer::Constants::M_BUILDPROJECT);
// generate compile_commands.json // generate compile_commands.json
m_generateCompilationDBAction = new ::Utils::ParameterAction( m_generateCompilationDBAction = new ParameterAction(
tr("Generate Compilation Database"), tr("Generate Compilation Database"),
tr("Generate Compilation Database for \"%1\""), tr("Generate Compilation Database for \"%1\""),
::Utils::ParameterAction::AlwaysEnabled, this); ParameterAction::AlwaysEnabled, this);
ProjectExplorer::Project *startupProject = ProjectExplorer::SessionManager::startupProject(); ProjectExplorer::Project *startupProject = ProjectExplorer::SessionManager::startupProject();
m_generateCompilationDBAction->setEnabled(isDBGenerationEnabled(startupProject)); m_generateCompilationDBAction->setEnabled(isDBGenerationEnabled(startupProject));
@@ -137,9 +139,9 @@ void ClangCodeModelPlugin::createCompilationDBButton()
command->setDescription(m_generateCompilationDBAction->text()); command->setDescription(m_generateCompilationDBAction->text());
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD); mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
connect(&m_generatorWatcher, &QFutureWatcher<Utils::GenerateCompilationDbResult>::finished, connect(&m_generatorWatcher, &QFutureWatcher<GenerateCompilationDbResult>::finished,
this, [this] () { this, [this] () {
const Utils::GenerateCompilationDbResult result = m_generatorWatcher.result(); const GenerateCompilationDbResult result = m_generatorWatcher.result();
QString message; QString message;
if (result.error.isEmpty()) { if (result.error.isEmpty()) {
message = tr("Clang compilation database generated at \"%1\".") message = tr("Clang compilation database generated at \"%1\".")

View File

@@ -54,8 +54,8 @@ private:
void createCompilationDBButton(); void createCompilationDBButton();
ClangModelManagerSupportProvider m_modelManagerSupportProvider; ClangModelManagerSupportProvider m_modelManagerSupportProvider;
::Utils::ParameterAction *m_generateCompilationDBAction = nullptr; Utils::ParameterAction *m_generateCompilationDBAction = nullptr;
QFutureWatcher<Utils::GenerateCompilationDbResult> m_generatorWatcher; QFutureWatcher<GenerateCompilationDbResult> m_generatorWatcher;
#ifdef WITH_TESTS #ifdef WITH_TESTS
QVector<QObject *> createTestObjects() const override; QVector<QObject *> createTestObjects() const override;
#endif #endif

View File

@@ -99,9 +99,7 @@ static void addFunctionOverloadAssistProposalItem(QList<AssistProposalItemInterf
cursor.movePosition(QTextCursor::StartOfWord); cursor.movePosition(QTextCursor::StartOfWord);
const ClangBackEnd::CodeCompletionChunk resultType = codeCompletion.chunks.first(); const ClangBackEnd::CodeCompletionChunk resultType = codeCompletion.chunks.first();
if (Utils::Text::matchPreviousWord(*interface->textEditorWidget(), if (matchPreviousWord(*interface->textEditorWidget(), cursor, resultType.text.toString())) {
cursor,
resultType.text.toString())) {
// Function definition completion - do not merge completions together. // Function definition completion - do not merge completions together.
addAssistProposalItem(items, codeCompletion, name); addAssistProposalItem(items, codeCompletion, name);
} else { } else {
@@ -535,7 +533,7 @@ void ClangCompletionAssistProcessor::completeIncludePath(const QString &realPath
auto *item = new ClangPreprocessorAssistProposalItem; auto *item = new ClangPreprocessorAssistProposalItem;
item->setText(text); item->setText(text);
item->setDetail(hint); item->setDetail(hint);
item->setIcon(Icons::keywordIcon()); item->setIcon(CPlusPlus::Icons::keywordIcon());
item->setCompletionOperator(m_completionOperator); item->setCompletionOperator(m_completionOperator);
m_completions.append(item); m_completions.append(item);
} }
@@ -546,11 +544,11 @@ bool ClangCompletionAssistProcessor::completePreprocessorDirectives()
{ {
foreach (const QString &preprocessorCompletion, m_preprocessorCompletions) foreach (const QString &preprocessorCompletion, m_preprocessorCompletions)
addCompletionItem(preprocessorCompletion, addCompletionItem(preprocessorCompletion,
::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Macro)); Utils::CodeModelIcon::iconForType(Utils::CodeModelIcon::Macro));
if (m_interface->objcEnabled()) if (m_interface->objcEnabled())
addCompletionItem(QLatin1String("import"), addCompletionItem(QLatin1String("import"),
::Utils::CodeModelIcon::iconForType(::Utils::CodeModelIcon::Macro)); Utils::CodeModelIcon::iconForType(Utils::CodeModelIcon::Macro));
return !m_completions.isEmpty(); return !m_completions.isEmpty();
} }
@@ -558,7 +556,7 @@ bool ClangCompletionAssistProcessor::completePreprocessorDirectives()
bool ClangCompletionAssistProcessor::completeDoxygenKeywords() bool ClangCompletionAssistProcessor::completeDoxygenKeywords()
{ {
for (int i = 1; i < CppTools::T_DOXY_LAST_TAG; ++i) for (int i = 1; i < CppTools::T_DOXY_LAST_TAG; ++i)
addCompletionItem(QString::fromLatin1(CppTools::doxygenTagSpell(i)), Icons::keywordIcon()); addCompletionItem(QString::fromLatin1(CppTools::doxygenTagSpell(i)), CPlusPlus::Icons::keywordIcon());
return !m_completions.isEmpty(); return !m_completions.isEmpty();
} }
@@ -602,7 +600,7 @@ namespace {
bool shouldSendDocumentForCompletion(const QString &filePath, bool shouldSendDocumentForCompletion(const QString &filePath,
int completionPosition) int completionPosition)
{ {
CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
if (document) { if (document) {
auto &sendTracker = document->sendTracker(); auto &sendTracker = document->sendTracker();
@@ -616,7 +614,7 @@ bool shouldSendDocumentForCompletion(const QString &filePath,
bool shouldSendCodeCompletion(const QString &filePath, bool shouldSendCodeCompletion(const QString &filePath,
int completionPosition) int completionPosition)
{ {
CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
if (document) { if (document) {
auto &sendTracker = document->sendTracker(); auto &sendTracker = document->sendTracker();
@@ -628,7 +626,7 @@ bool shouldSendCodeCompletion(const QString &filePath,
void setLastDocumentRevision(const QString &filePath) void setLastDocumentRevision(const QString &filePath)
{ {
CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
if (document) if (document)
document->sendTracker().setLastSentRevision(int(document->revision())); document->sendTracker().setLastSentRevision(int(document->revision()));
@@ -637,7 +635,7 @@ void setLastDocumentRevision(const QString &filePath)
void setLastCompletionPosition(const QString &filePath, void setLastCompletionPosition(const QString &filePath,
int completionPosition) int completionPosition)
{ {
CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); CppTools::CppEditorDocumentHandle *document = cppDocument(filePath);
if (document) if (document)
document->sendTracker().setLastCompletionPosition(completionPosition); document->sendTracker().setLastCompletionPosition(completionPosition);
@@ -652,9 +650,9 @@ ClangCompletionAssistProcessor::extractLineColumn(int position)
return {-1, -1}; return {-1, -1};
int line = -1, column = -1; int line = -1, column = -1;
::Utils::Text::convertPosition(m_interface->textDocument(), position, &line, &column); Utils::Text::convertPosition(m_interface->textDocument(), position, &line, &column);
column = Utils::clangColumn(m_interface->textDocument()->findBlock(position), column); column = clangColumn(m_interface->textDocument()->findBlock(position), column);
return {line, column}; return {line, column};
} }

View File

@@ -65,7 +65,7 @@ TextEditor::AssistInterface *ClangCompletionAssistProvider::createAssistInterfac
int position, int position,
TextEditor::AssistReason reason) const TextEditor::AssistReason reason) const
{ {
const CppTools::ProjectPart::Ptr projectPart = Utils::projectPartForFileBasedOnProcessor(filePath); const CppTools::ProjectPart::Ptr projectPart = projectPartForFileBasedOnProcessor(filePath);
if (projectPart) { if (projectPart) {
return new ClangCompletionAssistInterface(m_communicator, return new ClangCompletionAssistInterface(m_communicator,
textEditorWidget, textEditorWidget,

View File

@@ -47,6 +47,8 @@
#include <QRegularExpression> #include <QRegularExpression>
using namespace Utils;
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Internal { namespace Internal {
@@ -75,7 +77,7 @@ static Core::LocatorFilterEntry makeEntry(Core::ILocatorFilter *filter,
{ {
const ClangBackEnd::ExtraInfo &extraInfo = info.extraInfo; const ClangBackEnd::ExtraInfo &extraInfo = info.extraInfo;
QString displayName = extraInfo.token; QString displayName = extraInfo.token;
::Utils::LineColumn lineColumn(info.line, info.column); LineColumn lineColumn(info.line, info.column);
Core::LocatorFilterEntry entry(filter, displayName, QVariant::fromValue(lineColumn)); Core::LocatorFilterEntry entry(filter, displayName, QVariant::fromValue(lineColumn));
QString extra; QString extra;
ClangBackEnd::HighlightingType mainType = info.types.mainHighlightingType; ClangBackEnd::HighlightingType mainType = info.types.mainHighlightingType;
@@ -91,7 +93,7 @@ static Core::LocatorFilterEntry makeEntry(Core::ILocatorFilter *filter,
} }
entry.displayName = displayName; entry.displayName = displayName;
entry.extraInfo = extra; entry.extraInfo = extra;
entry.displayIcon = ::Utils::CodeModelIcon::iconForType(Utils::iconTypeForToken(info)); entry.displayIcon = CodeModelIcon::iconForType(iconTypeForToken(info));
return entry; return entry;
} }
@@ -132,7 +134,7 @@ void ClangCurrentDocumentFilter::accept(Core::LocatorFilterEntry selection,
{ {
if (!m_currentEditor) if (!m_currentEditor)
return; return;
auto lineColumn = qvariant_cast<::Utils::LineColumn>(selection.internalData); auto lineColumn = qvariant_cast<LineColumn>(selection.internalData);
Core::EditorManager::openEditorAt(m_currentPath, lineColumn.line, Core::EditorManager::openEditorAt(m_currentPath, lineColumn.line,
lineColumn.column - 1); lineColumn.column - 1);
} }

View File

@@ -324,7 +324,7 @@ static void addTask(const ClangBackEnd::DiagnosticContainer &diagnostic, bool is
} }
TaskHub::addTask(Task(taskType, TaskHub::addTask(Task(taskType,
Utils::diagnosticCategoryPrefixRemoved(diagnostic.text.toString()), diagnosticCategoryPrefixRemoved(diagnostic.text.toString()),
FilePath::fromString(diagnostic.location.filePath.toString()), FilePath::fromString(diagnostic.location.filePath.toString()),
diagnostic.location.line, diagnostic.location.line,
Constants::TASK_CATEGORY_DIAGNOSTICS, Constants::TASK_CATEGORY_DIAGNOSTICS,

View File

@@ -43,9 +43,8 @@
#include <QTextDocument> #include <QTextDocument>
#include <QUrl> #include <QUrl>
using namespace ClangCodeModel; namespace ClangCodeModel {
using Internal::ClangDiagnosticWidget; namespace Internal {
using Internal::ClangFixItOperation;
namespace { namespace {
@@ -184,7 +183,6 @@ private:
ClangBackEnd::DiagnosticContainer supplementedDiagnostic = diagnostic; ClangBackEnd::DiagnosticContainer supplementedDiagnostic = diagnostic;
using namespace ClangCodeModel::Utils;
DiagnosticTextInfo info(diagnostic.text); DiagnosticTextInfo info(diagnostic.text);
supplementedDiagnostic.enableOption = info.option(); supplementedDiagnostic.enableOption = info.option();
supplementedDiagnostic.category = info.category(); supplementedDiagnostic.category = info.category();
@@ -221,7 +219,7 @@ private:
QString option = optionAsUtf8String.toString(); QString option = optionAsUtf8String.toString();
// Clazy // Clazy
if (ClangCodeModel::Utils::DiagnosticTextInfo::isClazyOption(option)) { if (DiagnosticTextInfo::isClazyOption(option)) {
option = optionAsUtf8String.mid(8); // Remove "-Wclazy-" prefix. option = optionAsUtf8String.mid(8); // Remove "-Wclazy-" prefix.
return QString::fromUtf8(CppTools::Constants::CLAZY_DOCUMENTATION_URL_TEMPLATE) return QString::fromUtf8(CppTools::Constants::CLAZY_DOCUMENTATION_URL_TEMPLATE)
.arg(option); .arg(option);
@@ -422,9 +420,6 @@ WidgetFromDiagnostics::DisplayHints toHints(const ClangDiagnosticWidget::Destina
} // anonymous namespace } // anonymous namespace
namespace ClangCodeModel {
namespace Internal {
QString ClangDiagnosticWidget::createText( QString ClangDiagnosticWidget::createText(
const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics, const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
const ClangDiagnosticWidget::Destination &destination) const ClangDiagnosticWidget::Destination &destination)

View File

@@ -347,7 +347,7 @@ ClangEditorDocumentProcessor::cursorInfo(const CppTools::CursorInfoParams &param
if (!isCursorOnIdentifier(params.textCursor)) if (!isCursorOnIdentifier(params.textCursor))
return defaultCursorInfoFuture(); return defaultCursorInfoFuture();
column = Utils::clangColumn(params.textCursor.document()->findBlockByNumber(line - 1), column); column = clangColumn(params.textCursor.document()->findBlockByNumber(line - 1), column);
const CppTools::SemanticInfo::LocalUseMap localUses const CppTools::SemanticInfo::LocalUseMap localUses
= CppTools::BuiltinCursorInfo::findLocalUses(params.semanticInfo.doc, line, column); = CppTools::BuiltinCursorInfo::findLocalUses(params.semanticInfo.doc, line, column);
@@ -405,7 +405,7 @@ ClangEditorDocumentProcessor *ClangEditorDocumentProcessor::get(const QString &f
static bool isProjectPartLoadedOrIsFallback(CppTools::ProjectPart::Ptr projectPart) static bool isProjectPartLoadedOrIsFallback(CppTools::ProjectPart::Ptr projectPart)
{ {
return projectPart return projectPart
&& (projectPart->id().isEmpty() || ClangCodeModel::Utils::isProjectPartLoaded(projectPart)); && (projectPart->id().isEmpty() || isProjectPartLoaded(projectPart));
} }
void ClangEditorDocumentProcessor::updateBackendProjectPartAndDocument() void ClangEditorDocumentProcessor::updateBackendProjectPartAndDocument()
@@ -565,7 +565,7 @@ void ClangEditorDocumentProcessor::updateBackendDocument(CppTools::ProjectPart &
const FileOptionsBuilder fileOptions(filePath(), projectPart); const FileOptionsBuilder fileOptions(filePath(), projectPart);
m_diagnosticConfigId = fileOptions.diagnosticConfigId(); m_diagnosticConfigId = fileOptions.diagnosticConfigId();
const QStringList projectPartOptions = ClangCodeModel::Utils::createClangOptions( const QStringList projectPartOptions = createClangOptions(
projectPart, fileOptions.useBuildSystemWarnings(), projectPart, fileOptions.useBuildSystemWarnings(),
CppTools::ProjectFile::Unsupported); // No language option as FileOptionsBuilder adds it. CppTools::ProjectFile::Unsupported); // No language option as FileOptionsBuilder adds it.
@@ -573,7 +573,7 @@ void ClangEditorDocumentProcessor::updateBackendDocument(CppTools::ProjectPart &
m_communicator.documentsOpened( m_communicator.documentsOpened(
{fileContainerWithOptionsAndDocumentContent(compilationArguments, projectPart.headerPaths)}); {fileContainerWithOptionsAndDocumentContent(compilationArguments, projectPart.headerPaths)});
ClangCodeModel::Utils::setLastSentDocumentRevision(filePath(), revision()); setLastSentDocumentRevision(filePath(), revision());
} }
void ClangEditorDocumentProcessor::closeBackendDocument() void ClangEditorDocumentProcessor::closeBackendDocument()

View File

@@ -34,6 +34,9 @@
using ClangBackEnd::DiagnosticContainer; using ClangBackEnd::DiagnosticContainer;
namespace ClangCodeModel {
namespace Internal {
namespace { namespace {
void capitalizeText(QString &text) void capitalizeText(QString &text)
@@ -50,7 +53,7 @@ QString tweakedDiagnosticText(const QString &diagnosticText)
QString tweakedText = diagnosticText; QString tweakedText = diagnosticText;
if (!tweakedText.isEmpty()) { if (!tweakedText.isEmpty()) {
tweakedText = ClangCodeModel::Utils::diagnosticCategoryPrefixRemoved(tweakedText); tweakedText = diagnosticCategoryPrefixRemoved(tweakedText);
capitalizeText(tweakedText); capitalizeText(tweakedText);
} }
@@ -71,9 +74,6 @@ bool hasFixItAt(const QVector<ClangBackEnd::FixItContainer> &fixits,
} // anonymous namespace } // anonymous namespace
namespace ClangCodeModel {
namespace Internal {
ClangFixItOperationsExtractor::ClangFixItOperationsExtractor( ClangFixItOperationsExtractor::ClangFixItOperationsExtractor(
const QVector<DiagnosticContainer> &diagnosticContainers) const QVector<DiagnosticContainer> &diagnosticContainers)
: diagnosticContainers(diagnosticContainers) : diagnosticContainers(diagnosticContainers)

View File

@@ -311,7 +311,7 @@ void ClangModelManagerSupport::onAbstractEditorSupportRemoved(const QString &fil
if (!cppModelManager()->cppEditorDocument(filePath)) { if (!cppModelManager()->cppEditorDocument(filePath)) {
const QString mappedPath = m_uiHeaderOnDiskManager.remove(filePath); const QString mappedPath = m_uiHeaderOnDiskManager.remove(filePath);
const QString projectPartId = Utils::projectPartIdForFile(filePath); const QString projectPartId = projectPartIdForFile(filePath);
m_communicator.unsavedFilesRemoved({{mappedPath, projectPartId}}); m_communicator.unsavedFilesRemoved({{mappedPath, projectPartId}});
} }
} }

View File

@@ -37,6 +37,8 @@
using TokenContainer = ClangBackEnd::TokenInfoContainer; using TokenContainer = ClangBackEnd::TokenInfoContainer;
using TokenContainers = QVector<TokenContainer>; using TokenContainers = QVector<TokenContainer>;
using namespace Utils;
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Internal { namespace Internal {
@@ -171,7 +173,7 @@ QVariant TokenTreeItem::data(int column, int role) const
} }
case Qt::DecorationRole: { case Qt::DecorationRole: {
return ::Utils::CodeModelIcon::iconForType(ClangCodeModel::Utils::iconTypeForToken(token)); return CodeModelIcon::iconForType(iconTypeForToken(token));
} }
case CppTools::AbstractOverviewModel::FileNameRole: { case CppTools::AbstractOverviewModel::FileNameRole: {
@@ -219,16 +221,16 @@ bool OverviewModel::isGenerated(const QModelIndex &) const
return false; return false;
} }
::Utils::Link OverviewModel::linkFromIndex(const QModelIndex &sourceIndex) const Link OverviewModel::linkFromIndex(const QModelIndex &sourceIndex) const
{ {
auto item = static_cast<TokenTreeItem *>(itemForIndex(sourceIndex)); auto item = static_cast<TokenTreeItem *>(itemForIndex(sourceIndex));
if (!item) if (!item)
return {}; return {};
return ::Utils::Link(m_filePath, static_cast<int>(item->token.line), return Link(m_filePath, static_cast<int>(item->token.line),
static_cast<int>(item->token.column) - 1); static_cast<int>(item->token.column) - 1);
} }
::Utils::LineColumn OverviewModel::lineColumnFromIndex(const QModelIndex &sourceIndex) const LineColumn OverviewModel::lineColumnFromIndex(const QModelIndex &sourceIndex) const
{ {
auto item = static_cast<TokenTreeItem *>(itemForIndex(sourceIndex)); auto item = static_cast<TokenTreeItem *>(itemForIndex(sourceIndex));
if (!item) if (!item)
@@ -243,10 +245,10 @@ OverviewModel::Range OverviewModel::rangeFromIndex(const QModelIndex &sourceInde
if (!item) if (!item)
return {}; return {};
const ClangBackEnd::SourceRangeContainer &range = item->token.extraInfo.cursorRange; const ClangBackEnd::SourceRangeContainer &range = item->token.extraInfo.cursorRange;
return std::make_pair(::Utils::LineColumn(static_cast<int>(range.start.line), return std::make_pair(LineColumn(static_cast<int>(range.start.line),
static_cast<int>(range.start.column)), static_cast<int>(range.start.column)),
::Utils::LineColumn(static_cast<int>(range.end.line), LineColumn(static_cast<int>(range.end.line),
static_cast<int>(range.end.column))); static_cast<int>(range.end.column)));
} }
} // namespace Internal } // namespace Internal

View File

@@ -71,14 +71,14 @@ bool isWarningOrNote(ClangBackEnd::DiagnosticSeverity severity)
Q_UNREACHABLE(); Q_UNREACHABLE();
} }
static ::Utils::Id categoryForSeverity(ClangBackEnd::DiagnosticSeverity severity) static Id categoryForSeverity(ClangBackEnd::DiagnosticSeverity severity)
{ {
return isWarningOrNote(severity) ? Constants::CLANG_WARNING : Constants::CLANG_ERROR; return isWarningOrNote(severity) ? Constants::CLANG_WARNING : Constants::CLANG_ERROR;
} }
ProjectExplorer::Project *projectForCurrentEditor() ProjectExplorer::Project *projectForCurrentEditor()
{ {
const QString filePath = Utils::currentCppEditorDocumentFilePath(); const QString filePath = currentCppEditorDocumentFilePath();
if (filePath.isEmpty()) if (filePath.isEmpty())
return nullptr; return nullptr;
@@ -97,8 +97,8 @@ DiagnosticType diagnosticType(const ClangBackEnd::DiagnosticContainer &diagnosti
if (!diagnostic.disableOption.isEmpty()) if (!diagnostic.disableOption.isEmpty())
return DiagnosticType::Clang; return DiagnosticType::Clang;
const Utils::DiagnosticTextInfo textInfo(diagnostic.text); const DiagnosticTextInfo textInfo(diagnostic.text);
if (Utils::DiagnosticTextInfo::isClazyOption(textInfo.option())) if (DiagnosticTextInfo::isClazyOption(textInfo.option()))
return DiagnosticType::Clazy; return DiagnosticType::Clazy;
return DiagnosticType::Tidy; return DiagnosticType::Tidy;
} }
@@ -106,8 +106,6 @@ DiagnosticType diagnosticType(const ClangBackEnd::DiagnosticContainer &diagnosti
void disableDiagnosticInConfig(ClangDiagnosticConfig &config, void disableDiagnosticInConfig(ClangDiagnosticConfig &config,
const ClangBackEnd::DiagnosticContainer &diagnostic) const ClangBackEnd::DiagnosticContainer &diagnostic)
{ {
using namespace ClangCodeModel::Utils;
switch (diagnosticType(diagnostic)) { switch (diagnosticType(diagnostic)) {
case DiagnosticType::Clang: case DiagnosticType::Clang:
config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption)); config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
@@ -134,7 +132,7 @@ ClangDiagnosticConfig diagnosticConfig(const ClangProjectSettings &projectSettin
QTC_ASSERT(project, return {}); QTC_ASSERT(project, return {});
// Get config id // Get config id
::Utils::Id currentConfigId = projectSettings.warningConfigId(); Id currentConfigId = projectSettings.warningConfigId();
if (projectSettings.useGlobalConfig()) if (projectSettings.useGlobalConfig())
currentConfigId = globalSettings.clangDiagnosticConfigId(); currentConfigId = globalSettings.clangDiagnosticConfigId();
@@ -202,9 +200,9 @@ void disableDiagnosticInCurrentProjectConfig(const ClangBackEnd::DiagnosticConta
const QString text const QString text
= QCoreApplication::translate("ClangDiagnosticConfig", = QCoreApplication::translate("ClangDiagnosticConfig",
"Changes applied in Projects Mode > Clang Code Model"); "Changes applied in Projects Mode > Clang Code Model");
::Utils::FadingIndicator::showText(Core::ICore::mainWindow(), FadingIndicator::showText(Core::ICore::mainWindow(),
text, text,
::Utils::FadingIndicator::SmallText); FadingIndicator::SmallText);
} }
} // anonymous namespace } // anonymous namespace
@@ -226,15 +224,15 @@ ClangTextMark::ClangTextMark(const FilePath &fileName,
: TextEditor::TextMark::HighPriority); : TextEditor::TextMark::HighPriority);
updateIcon(); updateIcon();
if (fullVisualization) { if (fullVisualization) {
setLineAnnotation(Utils::diagnosticCategoryPrefixRemoved(diagnostic.text.toString())); setLineAnnotation(diagnosticCategoryPrefixRemoved(diagnostic.text.toString()));
setColor(warning ? ::Utils::Theme::CodeModel_Warning_TextMarkColor setColor(warning ? Theme::CodeModel_Warning_TextMarkColor
: ::Utils::Theme::CodeModel_Error_TextMarkColor); : Theme::CodeModel_Error_TextMarkColor);
} }
// Copy to clipboard action // Copy to clipboard action
QVector<QAction *> actions; QVector<QAction *> actions;
QAction *action = new QAction(); QAction *action = new QAction();
action->setIcon(QIcon::fromTheme("edit-copy", ::Utils::Icons::COPY.icon())); action->setIcon(QIcon::fromTheme("edit-copy", Icons::COPY.icon()));
QObject::connect(action, &QAction::triggered, [diagnostic]() { QObject::connect(action, &QAction::triggered, [diagnostic]() {
const QString text = ClangDiagnosticWidget::createText({diagnostic}, const QString text = ClangDiagnosticWidget::createText({diagnostic},
ClangDiagnosticWidget::InfoBar); ClangDiagnosticWidget::InfoBar);
@@ -246,7 +244,7 @@ ClangTextMark::ClangTextMark(const FilePath &fileName,
ProjectExplorer::Project *project = projectForCurrentEditor(); ProjectExplorer::Project *project = projectForCurrentEditor();
if (project && isDiagnosticConfigChangable(project, diagnostic)) { if (project && isDiagnosticConfigChangable(project, diagnostic)) {
action = new QAction(); action = new QAction();
action->setIcon(::Utils::Icons::BROKEN.icon()); action->setIcon(Icons::BROKEN.icon());
QObject::connect(action, &QAction::triggered, [diagnostic]() { QObject::connect(action, &QAction::triggered, [diagnostic]() {
disableDiagnosticInCurrentProjectConfig(diagnostic); disableDiagnosticInCurrentProjectConfig(diagnostic);
}); });
@@ -258,7 +256,7 @@ ClangTextMark::ClangTextMark(const FilePath &fileName,
void ClangTextMark::updateIcon(bool valid) void ClangTextMark::updateIcon(bool valid)
{ {
using namespace ::Utils::Icons; using namespace Icons;
if (isWarningOrNote(m_diagnostic.severity)) if (isWarningOrNote(m_diagnostic.severity))
setIcon(valid ? CODEMODEL_WARNING.icon() : CODEMODEL_DISABLED_WARNING.icon()); setIcon(valid ? CODEMODEL_WARNING.icon() : CODEMODEL_DISABLED_WARNING.icon());
else else

View File

@@ -56,14 +56,13 @@
#include <QStringList> #include <QStringList>
#include <QTextBlock> #include <QTextBlock>
using namespace ClangCodeModel;
using namespace ClangCodeModel::Internal;
using namespace Core; using namespace Core;
using namespace CppTools; using namespace CppTools;
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils;
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Utils { namespace Internal {
class LibClangOptionsBuilder final : public CompilerOptionsBuilder class LibClangOptionsBuilder final : public CompilerOptionsBuilder
{ {
@@ -174,52 +173,52 @@ int cppEditorColumn(const QTextBlock &line, int clangColumn)
return QString::fromUtf8(line.text().toUtf8().left(clangColumn - 1)).size() + 1; return QString::fromUtf8(line.text().toUtf8().left(clangColumn - 1)).size() + 1;
} }
::Utils::CodeModelIcon::Type iconTypeForToken(const ClangBackEnd::TokenInfoContainer &token) CodeModelIcon::Type iconTypeForToken(const ClangBackEnd::TokenInfoContainer &token)
{ {
const ClangBackEnd::ExtraInfo &extraInfo = token.extraInfo; const ClangBackEnd::ExtraInfo &extraInfo = token.extraInfo;
if (extraInfo.signal) if (extraInfo.signal)
return ::Utils::CodeModelIcon::Signal; return CodeModelIcon::Signal;
ClangBackEnd::AccessSpecifier access = extraInfo.accessSpecifier; ClangBackEnd::AccessSpecifier access = extraInfo.accessSpecifier;
if (extraInfo.slot) { if (extraInfo.slot) {
switch (access) { switch (access) {
case ClangBackEnd::AccessSpecifier::Public: case ClangBackEnd::AccessSpecifier::Public:
case ClangBackEnd::AccessSpecifier::Invalid: case ClangBackEnd::AccessSpecifier::Invalid:
return ::Utils::CodeModelIcon::SlotPublic; return CodeModelIcon::SlotPublic;
case ClangBackEnd::AccessSpecifier::Protected: case ClangBackEnd::AccessSpecifier::Protected:
return ::Utils::CodeModelIcon::SlotProtected; return CodeModelIcon::SlotProtected;
case ClangBackEnd::AccessSpecifier::Private: case ClangBackEnd::AccessSpecifier::Private:
return ::Utils::CodeModelIcon::SlotPrivate; return CodeModelIcon::SlotPrivate;
} }
} }
ClangBackEnd::HighlightingType mainType = token.types.mainHighlightingType; ClangBackEnd::HighlightingType mainType = token.types.mainHighlightingType;
if (mainType == ClangBackEnd::HighlightingType::QtProperty) if (mainType == ClangBackEnd::HighlightingType::QtProperty)
return ::Utils::CodeModelIcon::Property; return CodeModelIcon::Property;
if (mainType == ClangBackEnd::HighlightingType::PreprocessorExpansion if (mainType == ClangBackEnd::HighlightingType::PreprocessorExpansion
|| mainType == ClangBackEnd::HighlightingType::PreprocessorDefinition) { || mainType == ClangBackEnd::HighlightingType::PreprocessorDefinition) {
return ::Utils::CodeModelIcon::Macro; return CodeModelIcon::Macro;
} }
if (mainType == ClangBackEnd::HighlightingType::Enumeration) if (mainType == ClangBackEnd::HighlightingType::Enumeration)
return ::Utils::CodeModelIcon::Enumerator; return CodeModelIcon::Enumerator;
if (mainType == ClangBackEnd::HighlightingType::Type if (mainType == ClangBackEnd::HighlightingType::Type
|| mainType == ClangBackEnd::HighlightingType::Keyword) { || mainType == ClangBackEnd::HighlightingType::Keyword) {
const ClangBackEnd::MixinHighlightingTypes &types = token.types.mixinHighlightingTypes; const ClangBackEnd::MixinHighlightingTypes &types = token.types.mixinHighlightingTypes;
if (types.contains(ClangBackEnd::HighlightingType::Enum)) if (types.contains(ClangBackEnd::HighlightingType::Enum))
return ::Utils::CodeModelIcon::Enum; return CodeModelIcon::Enum;
if (types.contains(ClangBackEnd::HighlightingType::Struct)) if (types.contains(ClangBackEnd::HighlightingType::Struct))
return ::Utils::CodeModelIcon::Struct; return CodeModelIcon::Struct;
if (types.contains(ClangBackEnd::HighlightingType::Namespace)) if (types.contains(ClangBackEnd::HighlightingType::Namespace))
return ::Utils::CodeModelIcon::Namespace; return CodeModelIcon::Namespace;
if (types.contains(ClangBackEnd::HighlightingType::Class)) if (types.contains(ClangBackEnd::HighlightingType::Class))
return ::Utils::CodeModelIcon::Class; return CodeModelIcon::Class;
if (mainType == ClangBackEnd::HighlightingType::Keyword) if (mainType == ClangBackEnd::HighlightingType::Keyword)
return ::Utils::CodeModelIcon::Keyword; return CodeModelIcon::Keyword;
return ::Utils::CodeModelIcon::Class; return CodeModelIcon::Class;
} }
ClangBackEnd::StorageClass storageClass = extraInfo.storageClass; ClangBackEnd::StorageClass storageClass = extraInfo.storageClass;
@@ -231,21 +230,21 @@ int cppEditorColumn(const QTextBlock &line, int clangColumn)
switch (access) { switch (access) {
case ClangBackEnd::AccessSpecifier::Public: case ClangBackEnd::AccessSpecifier::Public:
case ClangBackEnd::AccessSpecifier::Invalid: case ClangBackEnd::AccessSpecifier::Invalid:
return ::Utils::CodeModelIcon::FuncPublic; return CodeModelIcon::FuncPublic;
case ClangBackEnd::AccessSpecifier::Protected: case ClangBackEnd::AccessSpecifier::Protected:
return ::Utils::CodeModelIcon::FuncProtected; return CodeModelIcon::FuncProtected;
case ClangBackEnd::AccessSpecifier::Private: case ClangBackEnd::AccessSpecifier::Private:
return ::Utils::CodeModelIcon::FuncPrivate; return CodeModelIcon::FuncPrivate;
} }
} else { } else {
switch (access) { switch (access) {
case ClangBackEnd::AccessSpecifier::Public: case ClangBackEnd::AccessSpecifier::Public:
case ClangBackEnd::AccessSpecifier::Invalid: case ClangBackEnd::AccessSpecifier::Invalid:
return ::Utils::CodeModelIcon::FuncPublicStatic; return CodeModelIcon::FuncPublicStatic;
case ClangBackEnd::AccessSpecifier::Protected: case ClangBackEnd::AccessSpecifier::Protected:
return ::Utils::CodeModelIcon::FuncProtectedStatic; return CodeModelIcon::FuncProtectedStatic;
case ClangBackEnd::AccessSpecifier::Private: case ClangBackEnd::AccessSpecifier::Private:
return ::Utils::CodeModelIcon::FuncPrivateStatic; return CodeModelIcon::FuncPrivateStatic;
} }
} }
} }
@@ -255,26 +254,26 @@ int cppEditorColumn(const QTextBlock &line, int clangColumn)
switch (access) { switch (access) {
case ClangBackEnd::AccessSpecifier::Public: case ClangBackEnd::AccessSpecifier::Public:
case ClangBackEnd::AccessSpecifier::Invalid: case ClangBackEnd::AccessSpecifier::Invalid:
return ::Utils::CodeModelIcon::VarPublic; return CodeModelIcon::VarPublic;
case ClangBackEnd::AccessSpecifier::Protected: case ClangBackEnd::AccessSpecifier::Protected:
return ::Utils::CodeModelIcon::VarProtected; return CodeModelIcon::VarProtected;
case ClangBackEnd::AccessSpecifier::Private: case ClangBackEnd::AccessSpecifier::Private:
return ::Utils::CodeModelIcon::VarPrivate; return CodeModelIcon::VarPrivate;
} }
} else { } else {
switch (access) { switch (access) {
case ClangBackEnd::AccessSpecifier::Public: case ClangBackEnd::AccessSpecifier::Public:
case ClangBackEnd::AccessSpecifier::Invalid: case ClangBackEnd::AccessSpecifier::Invalid:
return ::Utils::CodeModelIcon::VarPublicStatic; return CodeModelIcon::VarPublicStatic;
case ClangBackEnd::AccessSpecifier::Protected: case ClangBackEnd::AccessSpecifier::Protected:
return ::Utils::CodeModelIcon::VarProtectedStatic; return CodeModelIcon::VarProtectedStatic;
case ClangBackEnd::AccessSpecifier::Private: case ClangBackEnd::AccessSpecifier::Private:
return ::Utils::CodeModelIcon::VarPrivateStatic; return CodeModelIcon::VarPrivateStatic;
} }
} }
} }
return ::Utils::CodeModelIcon::Unknown; return CodeModelIcon::Unknown;
} }
QString diagnosticCategoryPrefixRemoved(const QString &text) QString diagnosticCategoryPrefixRemoved(const QString &text)
@@ -302,18 +301,18 @@ QString diagnosticCategoryPrefixRemoved(const QString &text)
return text; return text;
} }
static ::Utils::FilePath compilerPath(const CppTools::ProjectPart &projectPart) static FilePath compilerPath(const CppTools::ProjectPart &projectPart)
{ {
Target *target = projectPart.project->activeTarget(); Target *target = projectPart.project->activeTarget();
if (!target) if (!target)
return ::Utils::FilePath(); return FilePath();
ToolChain *toolchain = ToolChainKitAspect::cxxToolChain(target->kit()); ToolChain *toolchain = ToolChainKitAspect::cxxToolChain(target->kit());
return toolchain->compilerCommand(); return toolchain->compilerCommand();
} }
static ::Utils::FilePath buildDirectory(const ProjectExplorer::Project &project) static FilePath buildDirectory(const ProjectExplorer::Project &project)
{ {
if (auto *target = project.activeTarget()) { if (auto *target = project.activeTarget()) {
if (auto *bc = target->activeBuildConfiguration()) if (auto *bc = target->activeBuildConfiguration())
@@ -352,7 +351,7 @@ static QStringList projectPartArguments(const ProjectPart &projectPart)
return args; return args;
} }
static QJsonObject createFileObject(const ::Utils::FilePath &buildDir, static QJsonObject createFileObject(const FilePath &buildDir,
const QStringList &arguments, const QStringList &arguments,
const ProjectPart &projectPart, const ProjectPart &projectPart,
const ProjectFile &projFile) const ProjectFile &projFile)
@@ -372,7 +371,7 @@ static QJsonObject createFileObject(const ::Utils::FilePath &buildDir,
QStringList langOption QStringList langOption
= createLanguageOptionGcc(kind, = createLanguageOptionGcc(kind,
projectPart.languageExtensions projectPart.languageExtensions
& ::Utils::LanguageExtension::ObjectiveC); & LanguageExtension::ObjectiveC);
for (const QString &langOptionPart : langOption) for (const QString &langOptionPart : langOption)
args.append(langOptionPart); args.append(langOptionPart);
} }
@@ -384,7 +383,7 @@ static QJsonObject createFileObject(const ::Utils::FilePath &buildDir,
GenerateCompilationDbResult generateCompilationDB(CppTools::ProjectInfo projectInfo) GenerateCompilationDbResult generateCompilationDB(CppTools::ProjectInfo projectInfo)
{ {
const ::Utils::FilePath buildDir = buildDirectory(*projectInfo.project()); const FilePath buildDir = buildDirectory(*projectInfo.project());
QTC_ASSERT(!buildDir.isEmpty(), return GenerateCompilationDbResult(QString(), QTC_ASSERT(!buildDir.isEmpty(), return GenerateCompilationDbResult(QString(),
QCoreApplication::translate("ClangUtils", "Could not retrieve build directory."))); QCoreApplication::translate("ClangUtils", "Could not retrieve build directory.")));
@@ -475,5 +474,5 @@ QString DiagnosticTextInfo::clazyCheckName(const QString &option)
return option; return option;
} }
} // namespace Utils } // namespace Internal
} // namespace Clang } // namespace Clang

View File

@@ -41,14 +41,10 @@ class CppEditorDocumentHandle;
class ProjectInfo; class ProjectInfo;
} }
namespace Utils {
class FilePath;
}
namespace ClangBackEnd { class TokenInfoContainer; } namespace ClangBackEnd { class TokenInfoContainer; }
namespace ClangCodeModel { namespace ClangCodeModel {
namespace Utils { namespace Internal {
CppTools::CppEditorDocumentHandle *cppDocument(const QString &filePath); CppTools::CppEditorDocumentHandle *cppDocument(const QString &filePath);
void setLastSentDocumentRevision(const QString &filePath, uint revision); void setLastSentDocumentRevision(const QString &filePath, uint revision);
@@ -68,7 +64,7 @@ QString currentCppEditorDocumentFilePath();
QString diagnosticCategoryPrefixRemoved(const QString &text); QString diagnosticCategoryPrefixRemoved(const QString &text);
::Utils::CodeModelIcon::Type iconTypeForToken(const ClangBackEnd::TokenInfoContainer &token); Utils::CodeModelIcon::Type iconTypeForToken(const ClangBackEnd::TokenInfoContainer &token);
class GenerateCompilationDbResult class GenerateCompilationDbResult
{ {
@@ -101,8 +97,6 @@ private:
const int m_squareBracketStartIndex; const int m_squareBracketStartIndex;
}; };
namespace Text {
template <class CharacterProvider> template <class CharacterProvider>
void moveToPreviousChar(CharacterProvider &provider, QTextCursor &cursor) void moveToPreviousChar(CharacterProvider &provider, QTextCursor &cursor)
{ {
@@ -148,6 +142,5 @@ bool matchPreviousWord(CharacterProvider &provider, QTextCursor cursor, QString
return pattern.isEmpty(); return pattern.isEmpty();
} }
} // namespace Text } // namespace Internal
} // namespace Utils
} // namespace Clang } // namespace Clang