ClangSupport: Use simpler structures in some cases

The patch is mostly mechanical, but contains also a few spurious changes
from values references for some local variables, foreach -> ranged for
etc that I coulnd't resist.

Change-Id: I58f0bd972546895eb318607cbfbd7ac35caf3f23
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
hjk
2018-04-04 18:25:23 +02:00
parent 4a0bbed560
commit cf4dbb4bb6
150 changed files with 1814 additions and 2598 deletions

View File

@@ -53,7 +53,7 @@ bool ClangAssistProposalItem::prematurelyApplies(const QChar &typedCharacter) co
applies = QString::fromLatin1("(,").contains(typedCharacter);
else if (m_completionOperator == T_STRING_LITERAL || m_completionOperator == T_ANGLE_STRING_LITERAL)
applies = (typedCharacter == QLatin1Char('/')) && text().endsWith(QLatin1Char('/'));
else if (codeCompletion().completionKind() == CodeCompletion::ObjCMessageCompletionKind)
else if (codeCompletion().completionKind == CodeCompletion::ObjCMessageCompletionKind)
applies = QString::fromLatin1(";.,").contains(typedCharacter);
else
applies = QString::fromLatin1(";.,:(").contains(typedCharacter);
@@ -130,31 +130,31 @@ void ClangAssistProposalItem::apply(TextEditor::TextDocumentManipulatorInterface
extraCharacters += QLatin1Char(')');
if (m_typedCharacter == QLatin1Char('(')) // Eat the opening parenthesis
m_typedCharacter = QChar();
} else if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind) {
} else if (ccr.completionKind == CodeCompletion::KeywordCompletionKind) {
CompletionChunksToTextConverter converter;
converter.setupForKeywords();
converter.parseChunks(ccr.chunks());
converter.parseChunks(ccr.chunks);
textToBeInserted = converter.text();
if (converter.hasPlaceholderPositions())
cursorOffset = converter.placeholderPositions().at(0) - converter.text().size();
} else if (ccr.completionKind() == CodeCompletion::NamespaceCompletionKind) {
} else if (ccr.completionKind == CodeCompletion::NamespaceCompletionKind) {
CompletionChunksToTextConverter converter;
converter.parseChunks(ccr.chunks()); // Appends "::" after name space name
converter.parseChunks(ccr.chunks); // Appends "::" after name space name
textToBeInserted = converter.text();
} else if (!ccr.text().isEmpty()) {
} else if (!ccr.text.isEmpty()) {
const TextEditor::CompletionSettings &completionSettings =
TextEditor::TextEditorSettings::instance()->completionSettings();
const bool autoInsertBrackets = completionSettings.m_autoInsertBrackets;
if (autoInsertBrackets &&
(ccr.completionKind() == CodeCompletion::FunctionCompletionKind
|| ccr.completionKind() == CodeCompletion::DestructorCompletionKind
|| ccr.completionKind() == CodeCompletion::SignalCompletionKind
|| ccr.completionKind() == CodeCompletion::SlotCompletionKind)) {
(ccr.completionKind == CodeCompletion::FunctionCompletionKind
|| ccr.completionKind == CodeCompletion::DestructorCompletionKind
|| ccr.completionKind == CodeCompletion::SignalCompletionKind
|| ccr.completionKind == CodeCompletion::SlotCompletionKind)) {
// When the user typed the opening parenthesis, he'll likely also type the closing one,
// in which case it would be annoying if we put the cursor after the already automatically
// inserted closing parenthesis.
@@ -195,7 +195,7 @@ void ClangAssistProposalItem::apply(TextEditor::TextDocumentManipulatorInterface
}
// If the function takes no arguments, automatically place the closing parenthesis
if (!hasOverloadsWithParameters() && !ccr.hasParameters() && skipClosingParenthesis) {
if (!hasOverloadsWithParameters() && !ccr.hasParameters && skipClosingParenthesis) {
extraCharacters += QLatin1Char(')');
if (endWithSemicolon) {
extraCharacters += semicolon;
@@ -257,7 +257,7 @@ void ClangAssistProposalItem::apply(TextEditor::TextDocumentManipulatorInterface
if (setAutoCompleteSkipPos)
manipulator.setAutoCompleteSkipPosition(manipulator.currentPosition());
if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind)
if (ccr.completionKind == CodeCompletion::KeywordCompletionKind)
manipulator.autoIndent(basePosition, textToBeInserted.size());
}
}
@@ -278,7 +278,7 @@ QIcon ClangAssistProposalItem::icon() const
static const char SNIPPET_ICON_PATH[] = ":/texteditor/images/snippet.png";
static const QIcon snippetIcon = QIcon(QLatin1String(SNIPPET_ICON_PATH));
switch (m_codeCompletion.completionKind()) {
switch (m_codeCompletion.completionKind) {
case CodeCompletion::ClassCompletionKind:
case CodeCompletion::TemplateClassCompletionKind:
case CodeCompletion::TypeAliasCompletionKind:
@@ -292,7 +292,7 @@ QIcon ClangAssistProposalItem::icon() const
case CodeCompletion::FunctionCompletionKind:
case CodeCompletion::TemplateFunctionCompletionKind:
case CodeCompletion::ObjCMessageCompletionKind:
switch (m_codeCompletion.availability()) {
switch (m_codeCompletion.availability) {
case CodeCompletion::Available:
case CodeCompletion::Deprecated:
return Icons::iconForType(Icons::FuncPublicIconType);
@@ -302,7 +302,7 @@ QIcon ClangAssistProposalItem::icon() const
case CodeCompletion::SignalCompletionKind:
return Icons::iconForType(Icons::SignalIconType);
case CodeCompletion::SlotCompletionKind:
switch (m_codeCompletion.availability()) {
switch (m_codeCompletion.availability) {
case CodeCompletion::Available:
case CodeCompletion::Deprecated:
return Icons::iconForType(Icons::SlotPublicIconType);
@@ -316,7 +316,7 @@ QIcon ClangAssistProposalItem::icon() const
case CodeCompletion::PreProcessorCompletionKind:
return Icons::iconForType(Icons::MacroIconType);
case CodeCompletion::VariableCompletionKind:
switch (m_codeCompletion.availability()) {
switch (m_codeCompletion.availability) {
case CodeCompletion::Available:
case CodeCompletion::Deprecated:
return Icons::iconForType(Icons::VarPublicIconType);
@@ -339,10 +339,10 @@ QIcon ClangAssistProposalItem::icon() const
QString ClangAssistProposalItem::detail() const
{
QString detail = CompletionChunksToTextConverter::convertToToolTipWithHtml(
m_codeCompletion.chunks(), m_codeCompletion.completionKind());
m_codeCompletion.chunks, m_codeCompletion.completionKind);
if (!m_codeCompletion.briefComment().isEmpty())
detail += QStringLiteral("\n\n") + m_codeCompletion.briefComment().toString();
if (!m_codeCompletion.briefComment.isEmpty())
detail += QStringLiteral("\n\n") + m_codeCompletion.briefComment.toString();
return detail;
}

View File

@@ -351,10 +351,10 @@ static void setLastSentDocumentRevision(const QString &filePath, uint revision)
void BackendCommunicator::updateTranslationUnitWithRevisionCheck(const FileContainer &fileContainer)
{
if (documentHasChanged(fileContainer.filePath(), fileContainer.documentRevision())) {
if (documentHasChanged(fileContainer.filePath, fileContainer.documentRevision)) {
updateTranslationUnitsForEditor({fileContainer});
setLastSentDocumentRevision(fileContainer.filePath(),
fileContainer.documentRevision());
setLastSentDocumentRevision(fileContainer.filePath,
fileContainer.documentRevision);
}
}
@@ -373,7 +373,7 @@ QFuture<CppTools::CursorInfo> BackendCommunicator::requestReferences(
const RequestReferencesMessage message(fileContainer, line, column);
m_sender->requestReferences(message);
return m_receiver.addExpectedReferencesMessage(message.ticketNumber(), localUses);
return m_receiver.addExpectedReferencesMessage(message.ticketNumber, localUses);
}
QFuture<CppTools::CursorInfo> BackendCommunicator::requestLocalReferences(
@@ -384,7 +384,7 @@ QFuture<CppTools::CursorInfo> BackendCommunicator::requestLocalReferences(
const RequestReferencesMessage message(fileContainer, line, column, true);
m_sender->requestReferences(message);
return m_receiver.addExpectedReferencesMessage(message.ticketNumber());
return m_receiver.addExpectedReferencesMessage(message.ticketNumber);
}
QFuture<CppTools::ToolTipInfo> BackendCommunicator::requestToolTip(
@@ -393,7 +393,7 @@ QFuture<CppTools::ToolTipInfo> BackendCommunicator::requestToolTip(
const RequestToolTipMessage message(fileContainer, line, column);
m_sender->requestToolTip(message);
return m_receiver.addExpectedToolTipMessage(message.ticketNumber());
return m_receiver.addExpectedToolTipMessage(message.ticketNumber);
}
QFuture<CppTools::SymbolInfo> BackendCommunicator::requestFollowSymbol(
@@ -406,7 +406,7 @@ QFuture<CppTools::SymbolInfo> BackendCommunicator::requestFollowSymbol(
column);
m_sender->requestFollowSymbol(message);
return m_receiver.addExpectedRequestFollowSymbolMessage(message.ticketNumber());
return m_receiver.addExpectedRequestFollowSymbolMessage(message.ticketNumber);
}
void BackendCommunicator::updateTranslationUnitWithRevisionCheck(Core::IDocument *document)
@@ -574,7 +574,7 @@ void BackendCommunicator::completeCode(ClangCompletionAssistProcessor *assistPro
const CompleteCodeMessage message(filePath, line, column, projectFilePath, funcNameStartLine,
funcNameStartColumn);
m_sender->completeCode(message);
m_receiver.addExpectedCodeCompletedMessage(message.ticketNumber(), assistProcessor);
m_receiver.addExpectedCodeCompletedMessage(message.ticketNumber, assistProcessor);
}
} // namespace Internal

View File

@@ -182,56 +182,56 @@ void BackendReceiver::echo(const EchoMessage &message)
void BackendReceiver::codeCompleted(const CodeCompletedMessage &message)
{
qCDebugIpc() << "CodeCompletedMessage with" << message.codeCompletions().size()
qCDebugIpc() << "CodeCompletedMessage with" << message.codeCompletions.size()
<< "items";
const quint64 ticket = message.ticketNumber();
const quint64 ticket = message.ticketNumber;
QScopedPointer<ClangCompletionAssistProcessor> processor(m_assistProcessorsTable.take(ticket));
if (processor) {
processor->handleAvailableCompletions(message.codeCompletions(),
message.neededCorrection());
processor->handleAvailableCompletions(message.codeCompletions,
message.neededCorrection);
}
}
void BackendReceiver::documentAnnotationsChanged(const DocumentAnnotationsChangedMessage &message)
{
qCDebugIpc() << "DocumentAnnotationsChangedMessage with"
<< message.diagnostics().size() << "diagnostics"
<< message.tokenInfos().size() << "highlighting marks"
<< message.skippedPreprocessorRanges().size() << "skipped preprocessor ranges";
<< message.diagnostics.size() << "diagnostics"
<< message.tokenInfos.size() << "highlighting marks"
<< message.skippedPreprocessorRanges.size() << "skipped preprocessor ranges";
auto processor = ClangEditorDocumentProcessor::get(message.fileContainer().filePath());
auto processor = ClangEditorDocumentProcessor::get(message.fileContainer.filePath);
if (!processor)
return;
const QString projectPartId = message.fileContainer().projectPartId();
const QString filePath = message.fileContainer().filePath();
const QString projectPartId = message.fileContainer.projectPartId;
const QString filePath = message.fileContainer.filePath;
const QString documentProjectPartId = CppTools::CppToolsBridge::projectPartIdForFile(filePath);
if (projectPartId != documentProjectPartId)
return;
const quint32 documentRevision = message.fileContainer().documentRevision();
if (message.onlyTokenInfos()) {
processor->updateTokenInfos(message.tokenInfos(), documentRevision);
const quint32 documentRevision = message.fileContainer.documentRevision;
if (message.onlyTokenInfos) {
processor->updateTokenInfos(message.tokenInfos, documentRevision);
return;
}
processor->updateCodeWarnings(message.diagnostics(),
message.firstHeaderErrorDiagnostic(),
processor->updateCodeWarnings(message.diagnostics,
message.firstHeaderErrorDiagnostic,
documentRevision);
processor->updateHighlighting(message.tokenInfos(),
message.skippedPreprocessorRanges(),
processor->updateHighlighting(message.tokenInfos,
message.skippedPreprocessorRanges,
documentRevision);
}
static
CppTools::CursorInfo::Range toCursorInfoRange(const SourceRangeContainer &sourceRange)
{
const SourceLocationContainer start = sourceRange.start();
const SourceLocationContainer end = sourceRange.end();
const unsigned length = end.column() - start.column();
const SourceLocationContainer &start = sourceRange.start;
const SourceLocationContainer &end = sourceRange.end;
const unsigned length = end.column - start.column;
return CppTools::CursorInfo::Range(start.line(), start.column(), length);
return CppTools::CursorInfo::Range(start.line, start.column, length);
}
static
@@ -239,9 +239,9 @@ CppTools::CursorInfo toCursorInfo(const CppTools::SemanticInfo::LocalUseMap &loc
const ReferencesMessage &message)
{
CppTools::CursorInfo result;
const QVector<SourceRangeContainer> references = message.references();
const QVector<SourceRangeContainer> &references = message.references;
result.areUseRangesForLocalVariable = message.isLocalVariable();
result.areUseRangesForLocalVariable = message.isLocalVariable;
for (const SourceRangeContainer &reference : references)
result.useRanges.append(toCursorInfoRange(reference));
@@ -255,15 +255,15 @@ static
CppTools::SymbolInfo toSymbolInfo(const FollowSymbolMessage &message)
{
CppTools::SymbolInfo result;
const SourceRangeContainer &range = message.sourceRange();
const SourceRangeContainer &range = message.sourceRange;
const SourceLocationContainer start = range.start();
const SourceLocationContainer end = range.end();
result.startLine = static_cast<int>(start.line());
result.startColumn = static_cast<int>(start.column());
result.endLine = static_cast<int>(end.line());
result.endColumn = static_cast<int>(end.column());
result.fileName = start.filePath();
const SourceLocationContainer &start = range.start;
const SourceLocationContainer &end = range.end;
result.startLine = static_cast<int>(start.line);
result.startColumn = static_cast<int>(start.column);
result.endLine = static_cast<int>(end.line);
result.endColumn = static_cast<int>(end.column);
result.fileName = start.filePath;
return result;
}
@@ -271,9 +271,9 @@ CppTools::SymbolInfo toSymbolInfo(const FollowSymbolMessage &message)
void BackendReceiver::references(const ReferencesMessage &message)
{
qCDebugIpc() << "ReferencesMessage with"
<< message.references().size() << "references";
<< message.references.size() << "references";
const quint64 ticket = message.ticketNumber();
const quint64 ticket = message.ticketNumber;
const ReferencesEntry entry = m_referencesTable.take(ticket);
QFutureInterface<CppTools::CursorInfo> futureInterface = entry.futureInterface;
QTC_CHECK(futureInterface != QFutureInterface<CppTools::CursorInfo>());
@@ -322,25 +322,25 @@ static CppTools::ToolTipInfo toToolTipInfo(const ToolTipMessage &message)
{
CppTools::ToolTipInfo info;
const ToolTipInfo backendInfo = message.toolTipInfo();
const ToolTipInfo &backendInfo = message.toolTipInfo;
info.text = backendInfo.text();
info.briefComment = backendInfo.briefComment();
info.text = backendInfo.text;
info.briefComment = backendInfo.briefComment;
info.qDocIdCandidates = toStringList(backendInfo.qdocIdCandidates());
info.qDocMark = backendInfo.qdocMark();
info.qDocCategory = toHelpItemCategory(backendInfo.qdocCategory());
info.qDocIdCandidates = toStringList(backendInfo.qdocIdCandidates);
info.qDocMark = backendInfo.qdocMark;
info.qDocCategory = toHelpItemCategory(backendInfo.qdocCategory);
info.sizeInBytes = backendInfo.sizeInBytes();
info.sizeInBytes = backendInfo.sizeInBytes;
return info;
}
void BackendReceiver::tooltip(const ToolTipMessage &message)
{
qCDebugIpc() << "ToolTipMessage" << message.toolTipInfo().text();
qCDebugIpc() << "ToolTipMessage" << message.toolTipInfo.text;
const quint64 ticket = message.ticketNumber();
const quint64 ticket = message.ticketNumber;
QFutureInterface<CppTools::ToolTipInfo> futureInterface = m_toolTipsTable.take(ticket);
QTC_CHECK(futureInterface != QFutureInterface<CppTools::ToolTipInfo>());
@@ -354,9 +354,9 @@ void BackendReceiver::tooltip(const ToolTipMessage &message)
void BackendReceiver::followSymbol(const ClangBackEnd::FollowSymbolMessage &message)
{
qCDebugIpc() << "FollowSymbolMessage with"
<< message.sourceRange() << "range";
<< message.sourceRange << "range";
const quint64 ticket = message.ticketNumber();
const quint64 ticket = message.ticketNumber;
QFutureInterface<CppTools::SymbolInfo> futureInterface = m_followTable.take(ticket);
QTC_CHECK(futureInterface != QFutureInterface<CppTools::SymbolInfo>());

View File

@@ -74,30 +74,30 @@ QList<AssistProposalItemInterface *> toAssistProposalItems(const CodeCompletions
bool slotCompletion = false; // TODO
QHash<QString, ClangAssistProposalItem *> items;
foreach (const CodeCompletion &codeCompletion, completions) {
if (codeCompletion.text().isEmpty()) // TODO: Make isValid()?
for (const CodeCompletion &codeCompletion : completions) {
if (codeCompletion.text.isEmpty()) // TODO: Make isValid()?
continue;
if (signalCompletion && codeCompletion.completionKind() != CodeCompletion::SignalCompletionKind)
if (signalCompletion && codeCompletion.completionKind != CodeCompletion::SignalCompletionKind)
continue;
if (slotCompletion && codeCompletion.completionKind() != CodeCompletion::SlotCompletionKind)
if (slotCompletion && codeCompletion.completionKind != CodeCompletion::SlotCompletionKind)
continue;
QString name;
if (codeCompletion.completionKind() == CodeCompletion::KeywordCompletionKind)
name = CompletionChunksToTextConverter::convertToName(codeCompletion.chunks());
if (codeCompletion.completionKind == CodeCompletion::KeywordCompletionKind)
name = CompletionChunksToTextConverter::convertToName(codeCompletion.chunks);
else
name = codeCompletion.text().toString();
name = codeCompletion.text.toString();
ClangAssistProposalItem *item = items.value(name, 0);
if (item) {
if (codeCompletion.hasParameters())
if (codeCompletion.hasParameters)
item->setHasOverloadsWithParameters(true);
} else {
item = new ClangAssistProposalItem;
items.insert(name, item);
item->setText(name);
item->setOrder(int(codeCompletion.priority()));
item->setOrder(int(codeCompletion.priority));
item->setCodeCompletion(codeCompletion);
}
}
@@ -139,7 +139,7 @@ IAssistProposal *ClangCompletionAssistProcessor::perform(const AssistInterface *
static CodeCompletions filterFunctionSignatures(const CodeCompletions &completions)
{
return ::Utils::filtered(completions, [](const CodeCompletion &completion) {
return completion.completionKind() == CodeCompletion::FunctionOverloadCompletionKind;
return completion.completionKind == CodeCompletion::FunctionOverloadCompletionKind;
});
}

View File

@@ -174,8 +174,8 @@ void CompletionChunksToTextConverter::parse(
{
using ClangBackEnd::CodeCompletionChunk;
switch (codeCompletionChunk.kind()) {
case CodeCompletionChunk::ResultType: parseResultType(codeCompletionChunk.text()); break;
switch (codeCompletionChunk.kind) {
case CodeCompletionChunk::ResultType: parseResultType(codeCompletionChunk.text); break;
// Do not rely on CurrentParameter because it might be wrong for
// invalid code. Instead, handle it as PlaceHolder.
case CodeCompletionChunk::CurrentParameter:
@@ -183,7 +183,7 @@ void CompletionChunksToTextConverter::parse(
parsePlaceHolder(codeCompletionChunk); break;
case CodeCompletionChunk::LeftParen: parseLeftParen(codeCompletionChunk); break;
case CodeCompletionChunk::LeftBrace: parseLeftBrace(codeCompletionChunk); break;
default: parseText(codeCompletionChunk.text()); break;
default: parseText(codeCompletionChunk.text); break;
}
}
@@ -205,7 +205,7 @@ void CompletionChunksToTextConverter::parseResultType(const Utf8String &resultTy
void CompletionChunksToTextConverter::parseText(const Utf8String &text)
{
if (canAddSpace()
&& m_previousCodeCompletionChunk.kind() == ClangBackEnd::CodeCompletionChunk::RightBrace) {
&& m_previousCodeCompletionChunk.kind == ClangBackEnd::CodeCompletionChunk::RightBrace) {
m_text += QChar(QChar::Space);
}
@@ -217,9 +217,9 @@ void CompletionChunksToTextConverter::wrapInCursiveTagIfOptional(
{
if (m_addOptional) {
if (m_emphasizeOptional && m_textFormat == TextFormat::Html) {
if (!m_previousCodeCompletionChunk.isOptional() && codeCompletionChunk.isOptional())
if (!m_previousCodeCompletionChunk.isOptional && codeCompletionChunk.isOptional)
m_text += QStringLiteral("<i>");
else if (m_previousCodeCompletionChunk.isOptional() && !codeCompletionChunk.isOptional())
else if (m_previousCodeCompletionChunk.isOptional && !codeCompletionChunk.isOptional)
m_text += QStringLiteral("</i>");
}
}
@@ -229,7 +229,7 @@ void CompletionChunksToTextConverter::parsePlaceHolder(
const ClangBackEnd::CodeCompletionChunk &codeCompletionChunk)
{
if (m_addPlaceHolderText) {
appendText(inDesiredTextFormat(codeCompletionChunk.text()),
appendText(inDesiredTextFormat(codeCompletionChunk.text),
emphasizeCurrentPlaceHolder());
}
@@ -242,7 +242,7 @@ void CompletionChunksToTextConverter::parseLeftParen(
{
if (canAddSpace())
m_text += QChar(QChar::Space);
m_text += codeCompletionChunk.text().toString();
m_text += codeCompletionChunk.text.toString();
}
void CompletionChunksToTextConverter::parseLeftBrace(
@@ -251,7 +251,7 @@ void CompletionChunksToTextConverter::parseLeftBrace(
if (canAddSpace())
m_text += QChar(QChar::Space);
m_text += codeCompletionChunk.text().toString();
m_text += codeCompletionChunk.text.toString();
}
void CompletionChunksToTextConverter::addExtraVerticalSpaceBetweenBraces()
@@ -266,15 +266,15 @@ void CompletionChunksToTextConverter::addExtraVerticalSpaceBetweenBraces(
using ClangBackEnd::CodeCompletionChunk;
const auto leftBraceCompare = [] (const CodeCompletionChunk &chunk) {
return chunk.kind() == CodeCompletionChunk::LeftBrace;
return chunk.kind == CodeCompletionChunk::LeftBrace;
};
const auto rightBraceCompare = [] (const CodeCompletionChunk &chunk) {
return chunk.kind() == CodeCompletionChunk::RightBrace;
return chunk.kind == CodeCompletionChunk::RightBrace;
};
const auto verticalSpaceCompare = [] (const CodeCompletionChunk &chunk) {
return chunk.kind() == CodeCompletionChunk::VerticalSpace;
return chunk.kind == CodeCompletionChunk::VerticalSpace;
};
auto leftBrace = std::find_if(begin, m_codeCompletionChunks.end(), leftBraceCompare);
@@ -337,15 +337,15 @@ void CompletionChunksToTextConverter::appendText(const QString &text, bool boldF
bool CompletionChunksToTextConverter::canAddSpace() const
{
return m_addSpaces
&& m_previousCodeCompletionChunk.kind() != ClangBackEnd::CodeCompletionChunk::HorizontalSpace
&& m_previousCodeCompletionChunk.kind() != ClangBackEnd::CodeCompletionChunk::RightAngle
&& m_previousCodeCompletionChunk.kind != ClangBackEnd::CodeCompletionChunk::HorizontalSpace
&& m_previousCodeCompletionChunk.kind != ClangBackEnd::CodeCompletionChunk::RightAngle
&& m_codeCompletionKind != ClangBackEnd::CodeCompletion::FunctionCompletionKind;
}
bool CompletionChunksToTextConverter::isNotOptionalOrAddOptionals(
const ClangBackEnd::CodeCompletionChunk &codeCompletionChunk) const
{
return !codeCompletionChunk.isOptional() || m_addOptional;
return !codeCompletionChunk.isOptional || m_addOptional;
}
} // namespace Internal

View File

@@ -81,13 +81,12 @@ static QString addTypeToVariableName(const QString &name, const ClangBackEnd::Ex
static Core::LocatorFilterEntry makeEntry(Core::ILocatorFilter *filter,
const ClangBackEnd::TokenInfoContainer &info)
{
const ClangBackEnd::ExtraInfo &extraInfo = info.extraInfo();
const ClangBackEnd::ExtraInfo &extraInfo = info.extraInfo;
QString displayName = extraInfo.token;
::Utils::LineColumn lineColumn(static_cast<int>(info.line()),
static_cast<int>(info.column()));
::Utils::LineColumn lineColumn(static_cast<int>(info.line), static_cast<int>(info.column));
Core::LocatorFilterEntry entry(filter, displayName, qVariantFromValue(lineColumn));
QString extra;
ClangBackEnd::HighlightingType mainType = info.types().mainHighlightingType;
ClangBackEnd::HighlightingType mainType = info.types.mainHighlightingType;
if (mainType == ClangBackEnd::HighlightingType::VirtualFunction
|| mainType == ClangBackEnd::HighlightingType::Function) {
displayName = addResultTypeToFunctionSignature(displayName, extraInfo);
@@ -129,11 +128,11 @@ QList<Core::LocatorFilterEntry> ClangCurrentDocumentFilter::matchesFor(
const QVector<TokInfoContainer> &infos = processor->tokenInfos();
for (const TokInfoContainer &info : infos) {
if (!info.extraInfo().declaration)
if (!info.extraInfo.declaration)
continue;
if (info.types().mainHighlightingType == ClangBackEnd::HighlightingType::LocalVariable)
if (info.types.mainHighlightingType == ClangBackEnd::HighlightingType::LocalVariable)
continue;
QRegularExpressionMatch match = regexp.match(info.extraInfo().token);
QRegularExpressionMatch match = regexp.match(info.extraInfo.token);
if (match.hasMatch())
goodEntries.push_back(makeEntry(this, info));
}

View File

@@ -53,7 +53,7 @@ bool isBlackListedHeaderDiagnostic(const ClangBackEnd::DiagnosticContainer &diag
Utf8StringLiteral("warning: #include_next in primary source file")
};
return isHeaderFile && blackList.contains(diagnostic.text());
return isHeaderFile && blackList.contains(diagnostic.text);
}
bool isBlackListedQtDiagnostic(const ClangBackEnd::DiagnosticContainer &diagnostic)
@@ -68,7 +68,7 @@ bool isBlackListedQtDiagnostic(const ClangBackEnd::DiagnosticContainer &diagnost
"'qt_metacall' overrides a member function but is not marked 'override'"),
};
return blackList.contains(diagnostic.text());
return blackList.contains(diagnostic.text);
}
template <class Condition>
@@ -111,10 +111,10 @@ void ClangDiagnosticFilter::filterDocumentRelatedWarnings(
const auto isLocalWarning = [this, isHeaderFile]
(const ClangBackEnd::DiagnosticContainer &diagnostic) {
return isWarningOrNote(diagnostic.severity())
return isWarningOrNote(diagnostic.severity)
&& !isBlackListedHeaderDiagnostic(diagnostic, isHeaderFile)
&& !isBlackListedQtDiagnostic(diagnostic)
&& diagnostic.location().filePath() == m_filePath;
&& diagnostic.location.filePath == m_filePath;
};
m_warningDiagnostics = filterDiagnostics(diagnostics, isLocalWarning);
@@ -124,8 +124,8 @@ void ClangDiagnosticFilter::filterDocumentRelatedErrors(
const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics)
{
const auto isLocalWarning = [this] (const ClangBackEnd::DiagnosticContainer &diagnostic) {
return !isWarningOrNote(diagnostic.severity())
&& diagnostic.location().filePath() == m_filePath;
return !isWarningOrNote(diagnostic.severity)
&& diagnostic.location.filePath == m_filePath;
};
m_errorDiagnostics = filterDiagnostics(diagnostics, isLocalWarning);
@@ -134,7 +134,7 @@ void ClangDiagnosticFilter::filterDocumentRelatedErrors(
void ClangDiagnosticFilter::filterFixits()
{
const auto hasFixIts = [] (const ClangBackEnd::DiagnosticContainer &diagnostic) {
return diagnostic.fixIts().size() > 0;
return diagnostic.fixIts.size() > 0;
};
m_fixItdiagnostics.clear();
@@ -142,9 +142,9 @@ void ClangDiagnosticFilter::filterFixits()
filterDiagnostics(m_errorDiagnostics, hasFixIts, m_fixItdiagnostics);
for (const auto &warningDiagnostic : m_warningDiagnostics)
filterDiagnostics(warningDiagnostic.children(), hasFixIts, m_fixItdiagnostics);
filterDiagnostics(warningDiagnostic.children, hasFixIts, m_fixItdiagnostics);
for (const auto &warningDiagnostic : m_errorDiagnostics)
filterDiagnostics(warningDiagnostic.children(), hasFixIts, m_fixItdiagnostics);
filterDiagnostics(warningDiagnostic.children, hasFixIts, m_fixItdiagnostics);
}
ClangDiagnosticFilter::ClangDiagnosticFilter(const QString &filePath)

View File

@@ -63,11 +63,11 @@ int positionInText(QTextDocument *textDocument,
const ClangBackEnd::SourceLocationContainer &sourceLocationContainer)
{
auto textBlock = textDocument->findBlockByNumber(
static_cast<int>(sourceLocationContainer.line()) - 1);
static_cast<int>(sourceLocationContainer.line) - 1);
// 'sourceLocationContainer' already has the CppEditor column converted from
// the utf8 byte offset from the beginning of the line provided by clang.
// - 1 is required for 0-based columns.
const int column = static_cast<int>(sourceLocationContainer.column()) - 1;
const int column = static_cast<int>(sourceLocationContainer.column) - 1;
return textBlock.position() + column;
}
@@ -76,10 +76,10 @@ void addRangeSelections(const ClangBackEnd::DiagnosticContainer &diagnostic,
const QTextCharFormat &contextFormat,
QList<QTextEdit::ExtraSelection> &extraSelections)
{
for (auto &&range : diagnostic.ranges()) {
for (auto &&range : diagnostic.ranges) {
QTextCursor cursor(textDocument);
cursor.setPosition(positionInText(textDocument, range.start()));
cursor.setPosition(positionInText(textDocument, range.end()), QTextCursor::KeepAnchor);
cursor.setPosition(positionInText(textDocument, range.start));
cursor.setPosition(positionInText(textDocument, range.end), QTextCursor::KeepAnchor);
auto extraSelection = createExtraSelections(contextFormat, cursor);
@@ -141,7 +141,7 @@ void addSelections(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics
QList<QTextEdit::ExtraSelection> &extraSelections)
{
for (auto &&diagnostic : diagnostics) {
auto cursor = createSelectionCursor(textDocument, diagnostic.location());
auto cursor = createSelectionCursor(textDocument, diagnostic.location);
auto extraSelection = createExtraSelections(mainFormat, cursor);
addRangeSelections(diagnostic, textDocument, contextFormat, extraSelections);
@@ -201,7 +201,7 @@ bool isDiagnosticAtLocation(const ClangBackEnd::DiagnosticContainer &diagnostic,
{
using namespace ClangCodeModel::Internal;
const ClangBackEnd::SourceLocationContainer &location = diagnostic.location();
const ClangBackEnd::SourceLocationContainer &location = diagnostic.location;
const QTextCursor cursor = createSelectionCursor(textDocument, location);
const ClangBackEnd::SourceRangeContainer cursorRange = toSourceRange(cursor);
@@ -430,11 +430,11 @@ void ClangDiagnosticManager::addFixItAvailableMarker(
QSet<int> &lineNumbersWithFixItMarker)
{
for (auto &&diagnostic : diagnostics) {
for (auto &&fixit : diagnostic.fixIts()) {
const ClangBackEnd::SourceLocationContainer location = fixit.range().start();
const int line = int(location.line());
for (auto &&fixit : diagnostic.fixIts) {
const ClangBackEnd::SourceLocationContainer &location = fixit.range.start;
const int line = int(location.line);
if (location.filePath() == filePath() && !lineNumbersWithFixItMarker.contains(line)) {
if (location.filePath == filePath() && !lineNumbersWithFixItMarker.contains(line)) {
const TextEditor::RefactorMarker marker
= createFixItAvailableMarker(m_textDocument->document(), line);
@@ -443,7 +443,7 @@ void ClangDiagnosticManager::addFixItAvailableMarker(
}
}
addFixItAvailableMarker(diagnostic.children(), lineNumbersWithFixItMarker);
addFixItAvailableMarker(diagnostic.children, lineNumbersWithFixItMarker);
}
}

View File

@@ -48,7 +48,7 @@ const char LINK_ACTION_APPLY_FIX[] = "#applyFix";
QString fileNamePrefix(const QString &mainFilePath,
const ClangBackEnd::SourceLocationContainer &location)
{
const QString filePath = location.filePath().toString();
const QString filePath = location.filePath.toString();
if (filePath != mainFilePath)
return QFileInfo(filePath).fileName() + QLatin1Char(':');
@@ -57,23 +57,23 @@ QString fileNamePrefix(const QString &mainFilePath,
QString locationToString(const ClangBackEnd::SourceLocationContainer &location)
{
return QString::number(location.line())
return QString::number(location.line)
+ QStringLiteral(":")
+ QString::number(location.column());
+ QString::number(location.column);
}
void openEditorAt(const ClangBackEnd::DiagnosticContainer &diagnostic)
{
const ClangBackEnd::SourceLocationContainer location = diagnostic.location();
const ClangBackEnd::SourceLocationContainer &location = diagnostic.location;
Core::EditorManager::openEditorAt(location.filePath().toString(),
int(location.line()),
int(location.column() - 1));
Core::EditorManager::openEditorAt(location.filePath.toString(),
int(location.line),
int(location.column - 1));
}
void applyFixit(const ClangBackEnd::DiagnosticContainer &diagnostic)
{
ClangCodeModel::ClangFixItOperation operation(Utf8String(), diagnostic.fixIts());
ClangCodeModel::ClangFixItOperation operation(Utf8String(), diagnostic.fixIts);
operation.perform();
}
@@ -161,7 +161,7 @@ private:
{
m_mainFilePath = m_displayHints.showFileNameInMainDiagnostic
? Utf8String()
: diagnostic.location().filePath();
: diagnostic.location.filePath;
QString text;
@@ -181,7 +181,7 @@ private:
" <td align='left'><b>%1</b></td>"
" <td align='right'>&nbsp;<font color='gray'>%2</font></td>"
" </tr>")
.arg(diagnostic.category(), diagnostic.enableOption());
.arg(diagnostic.category, diagnostic.enableOption);
return text;
}
@@ -189,8 +189,8 @@ private:
QString diagnosticText(const ClangBackEnd::DiagnosticContainer &diagnostic)
{
const bool hasFixit = m_displayHints.enableClickableFixits
&& !diagnostic.fixIts().isEmpty();
const QString diagnosticText = diagnostic.text().toString().toHtmlEscaped();
&& !diagnostic.fixIts.isEmpty();
const QString diagnosticText = diagnostic.text.toString().toHtmlEscaped();
const QString text = QString::fromLatin1("%1: %2")
.arg(clickableLocation(diagnostic, m_mainFilePath),
clickableFixIt(diagnostic, diagnosticText, hasFixit));
@@ -213,7 +213,7 @@ private:
QString diagnosticRowsForChildren(const ClangBackEnd::DiagnosticContainer &diagnostic)
{
const QVector<ClangBackEnd::DiagnosticContainer> children = diagnostic.children();
const QVector<ClangBackEnd::DiagnosticContainer> &children = diagnostic.children;
QString text;
if (children.size() <= 10) {
@@ -242,7 +242,7 @@ private:
QString clickableLocation(const ClangBackEnd::DiagnosticContainer &diagnostic,
const QString &mainFilePath)
{
const ClangBackEnd::SourceLocationContainer location = diagnostic.location();
const ClangBackEnd::SourceLocationContainer &location = diagnostic.location;
const QString filePrefix = fileNamePrefix(mainFilePath, location);
const QString lineColumn = locationToString(location);

View File

@@ -208,17 +208,17 @@ namespace {
int positionInText(QTextDocument *textDocument,
const ClangBackEnd::SourceLocationContainer &sourceLocationContainer)
{
auto textBlock = textDocument->findBlockByNumber(int(sourceLocationContainer.line()) - 1);
auto textBlock = textDocument->findBlockByNumber(int(sourceLocationContainer.line) - 1);
return textBlock.position() + int(sourceLocationContainer.column()) - 1;
return textBlock.position() + int(sourceLocationContainer.column) - 1;
}
TextEditor::BlockRange
toTextEditorBlock(QTextDocument *textDocument,
const ClangBackEnd::SourceRangeContainer &sourceRangeContainer)
{
return TextEditor::BlockRange(positionInText(textDocument, sourceRangeContainer.start()),
positionInText(textDocument, sourceRangeContainer.end()));
return TextEditor::BlockRange(positionInText(textDocument, sourceRangeContainer.start),
positionInText(textDocument, sourceRangeContainer.end));
}
QList<TextEditor::BlockRange>
@@ -631,7 +631,7 @@ CppTools::BaseEditorDocumentProcessor::HeaderErrorDiagnosticWidgetCreator
ClangEditorDocumentProcessor::creatorForHeaderErrorDiagnosticWidget(
const ClangBackEnd::DiagnosticContainer &firstHeaderErrorDiagnostic)
{
if (firstHeaderErrorDiagnostic.text().isEmpty())
if (firstHeaderErrorDiagnostic.text.isEmpty())
return CppTools::BaseEditorDocumentProcessor::HeaderErrorDiagnosticWidgetCreator();
return [firstHeaderErrorDiagnostic]() {

View File

@@ -60,8 +60,8 @@ static FileToFixits fixitsPerFile(const QVector<ClangBackEnd::FixItContainer> &f
FileToFixits mapping;
for (const auto &fixItContainer : fixItContainers) {
const QString rangeStartFilePath = fixItContainer.range().start().filePath().toString();
const QString rangeEndFilePath = fixItContainer.range().end().filePath().toString();
const QString rangeStartFilePath = fixItContainer.range.start.filePath.toString();
const QString rangeEndFilePath = fixItContainer.range.end.filePath.toString();
QTC_CHECK(rangeStartFilePath == rangeEndFilePath);
mapping[rangeStartFilePath].append(fixItContainer);
}
@@ -109,12 +109,12 @@ Utils::ChangeSet ClangFixItOperation::toChangeSet(
Utils::ChangeSet changeSet;
for (const auto &fixItContainer : fixItContainers) {
const auto range = fixItContainer.range();
const auto start = range.start();
const auto end = range.end();
changeSet.replace(refactoringFile.position(start.line(), start.column()),
refactoringFile.position(end.line(), end.column()),
fixItContainer.text());
const auto &range = fixItContainer.range;
const auto &start = range.start;
const auto &end = range.end;
changeSet.replace(refactoringFile.position(start.line, start.column),
refactoringFile.position(end.line, end.column),
fixItContainer.text);
}
return changeSet;

View File

@@ -82,8 +82,8 @@ bool hasFixItAt(const QVector<ClangBackEnd::FixItContainer> &fixits,
int line)
{
const auto isFixitForLocation = [filePath, line] (const ClangBackEnd::FixItContainer &fixit) {
const ClangBackEnd::SourceLocationContainer location = fixit.range().start();
return location.filePath() == filePath && location.line() == uint(line);
const ClangBackEnd::SourceLocationContainer &location = fixit.range.start;
return location.filePath == filePath && location.line == uint(line);
};
return Utils::anyOf(fixits, isFixitForLocation);
@@ -125,11 +125,11 @@ void ClangFixItOperationsExtractor::extractFromDiagnostic(
const QString &filePath,
int line)
{
const QVector<ClangBackEnd::FixItContainer> fixIts = diagnosticContainer.fixIts();
const QVector<ClangBackEnd::FixItContainer> &fixIts = diagnosticContainer.fixIts;
if (hasFixItAt(fixIts, filePath, line)) {
appendFixitOperation(diagnosticContainer.text().toString(), fixIts);
appendFixitOperation(diagnosticContainer.text.toString(), fixIts);
foreach (const auto &child, diagnosticContainer.children())
for (const auto &child : diagnosticContainer.children)
extractFromDiagnostic(child, filePath, line);
}
}

View File

@@ -45,11 +45,11 @@ static bool findMark(const QVector<ClangBackEnd::TokenInfoContainer> &marks,
{
mark = Utils::findOrDefault(marks,
[line, column](const ClangBackEnd::TokenInfoContainer &curMark) {
if (curMark.line() != line)
if (curMark.line != line)
return false;
if (curMark.column() == column)
if (curMark.column == column)
return true;
if (curMark.column() < column && curMark.column() + curMark.length() > column)
if (curMark.column < column && curMark.column + curMark.length > column)
return true;
return false;
});
@@ -61,8 +61,8 @@ static bool findMark(const QVector<ClangBackEnd::TokenInfoContainer> &marks,
static int getMarkPos(QTextCursor cursor, const ClangBackEnd::TokenInfoContainer &mark)
{
cursor.setPosition(0);
cursor.movePosition(QTextCursor::NextBlock, QTextCursor::MoveAnchor, mark.line() - 1);
cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, mark.column() - 1);
cursor.movePosition(QTextCursor::NextBlock, QTextCursor::MoveAnchor, mark.line - 1);
cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, mark.column - 1);
return cursor.position();
}
@@ -80,15 +80,15 @@ static Utils::Link linkAtCursor(QTextCursor cursor, const QString &filePath, uin
cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
const QString tokenStr = cursor.selectedText();
Link token(filePath, mark.line(), mark.column());
Link token(filePath, mark.line, mark.column);
token.linkTextStart = getMarkPos(cursor, mark);
token.linkTextEnd = token.linkTextStart + mark.length();
if (mark.extraInfo().includeDirectivePath) {
token.linkTextEnd = token.linkTextStart + mark.length;
if (mark.extraInfo.includeDirectivePath) {
if (tokenStr != "include" && tokenStr != "#" && tokenStr != "<")
return token;
return Link();
}
if (mark.extraInfo().identifier || tokenStr == "operator")
if (mark.extraInfo.identifier || tokenStr == "operator")
return token;
return Link();
}

View File

@@ -51,11 +51,11 @@ int ClangFunctionHintModel::size() const
QString ClangFunctionHintModel::text(int index) const
{
const ClangBackEnd::CodeCompletionChunks chunks = m_functionSymbols.at(index).chunks();
const ClangBackEnd::CodeCompletionChunks &chunks = m_functionSymbols.at(index).chunks;
const QString signatureWithEmphasizedCurrentParameter
= CompletionChunksToTextConverter::convertToFunctionSignatureWithHtml(
chunks,
m_functionSymbols.at(index).completionKind(),
m_functionSymbols.at(index).completionKind,
m_currentArgument + 1);
return signatureWithEmphasizedCurrentParameter;
@@ -64,8 +64,8 @@ QString ClangFunctionHintModel::text(int index) const
QString ClangFunctionHintModel::id(int index) const
{
QString chunks;
for (const ClangBackEnd::CodeCompletionChunk &chunk : m_functionSymbols.at(index).chunks())
chunks += chunk.text();
for (const ClangBackEnd::CodeCompletionChunk &chunk : m_functionSymbols.at(index).chunks)
chunks += chunk.text;
return chunks;
}

View File

@@ -130,11 +130,11 @@ TextEditor::TextStyles toTextStyles(ClangBackEnd::HighlightingTypes types)
TextEditor::HighlightingResult toHighlightingResult(
const ClangBackEnd::TokenInfoContainer &tokenInfo)
{
const auto textStyles = toTextStyles(tokenInfo.types());
const auto textStyles = toTextStyles(tokenInfo.types);
return TextEditor::HighlightingResult(tokenInfo.line(),
tokenInfo.column(),
tokenInfo.length(),
return TextEditor::HighlightingResult(tokenInfo.line,
tokenInfo.column,
tokenInfo.length,
textStyles);
}
@@ -194,7 +194,7 @@ void HighlightingResultReporter::run_internal()
using ClangBackEnd::HighlightingType;
for (const auto &tokenInfo : m_tokenInfos) {
const HighlightingType mainType = tokenInfo.types().mainHighlightingType;
const HighlightingType mainType = tokenInfo.types.mainHighlightingType;
if (mainType == HighlightingType::StringLiteral)
continue;

View File

@@ -30,24 +30,24 @@
namespace ClangCodeModel {
namespace Internal {
bool isWithinRange(const ClangBackEnd::SourceRangeContainer &range,
uint line,
uint column)
static bool isWithinRange(const ClangBackEnd::SourceRangeContainer &range,
uint line,
uint column)
{
const ClangBackEnd::SourceLocationContainer startLocation = range.start();
const ClangBackEnd::SourceLocationContainer endLocation = range.end();
const ClangBackEnd::SourceLocationContainer &startLocation = range.start;
const ClangBackEnd::SourceLocationContainer &endLocation = range.end;
return startLocation.line() <= line
&& startLocation.column() <= column
&& line <= endLocation.line()
&& column <= endLocation.column();
return startLocation.line <= line
&& startLocation.column <= column
&& line <= endLocation.line
&& column <= endLocation.column;
}
bool isWithinOneRange(const QVector<ClangBackEnd::SourceRangeContainer> &ranges,
uint line,
uint column)
static bool isWithinOneRange(const QVector<ClangBackEnd::SourceRangeContainer> &ranges,
uint line,
uint column)
{
foreach (const ClangBackEnd::SourceRangeContainer &range, ranges) {
for (const ClangBackEnd::SourceRangeContainer &range : ranges) {
if (isWithinRange(range, line, column))
return true;
}
@@ -60,15 +60,15 @@ bool isDiagnosticRelatedToLocation(const ClangBackEnd::DiagnosticContainer &diag
uint line,
uint column)
{
const ClangBackEnd::SourceLocationContainer location = diagnostic.location();
const ClangBackEnd::SourceLocationContainer &location = diagnostic.location;
if (location.line() == line && location.column() == column)
if (location.line == line && location.column == column)
return true;
if (isWithinOneRange(additionalRanges, line, column))
return true;
if (isWithinOneRange(diagnostic.ranges(), line, column))
if (isWithinOneRange(diagnostic.ranges, line, column))
return true;
return false;

View File

@@ -44,11 +44,11 @@ static bool contains(const ClangBackEnd::SourceRangeContainer &range,
unsigned line,
unsigned column)
{
if (line < range.start().line() || line > range.end().line())
if (line < range.start.line || line > range.end.line)
return false;
if (line == range.start().line() && column < range.start().column())
if (line == range.start.line && column < range.start.column)
return false;
if (line == range.end().line() && column > range.end().column())
if (line == range.end.line && column > range.end.column)
return false;
return true;
}
@@ -56,7 +56,7 @@ static bool contains(const ClangBackEnd::SourceRangeContainer &range,
static bool contains(const ClangBackEnd::SourceRangeContainer &range,
const ClangBackEnd::SourceLocationContainer &location)
{
return contains(range, location.line(), location.column());
return contains(range, location.line, location.column);
}
void buildTree(TokenContainers::const_iterator containersBegin,
@@ -64,29 +64,29 @@ void buildTree(TokenContainers::const_iterator containersBegin,
TokenTreeItem *parent, bool isRoot = false)
{
for (auto it = containersBegin; it != containersEnd;) {
if (!it->extraInfo().declaration) {
if (!it->extraInfo.declaration) {
++it;
continue;
}
if (it->types().mainHighlightingType == ClangBackEnd::HighlightingType::LocalVariable) {
if (it->types.mainHighlightingType == ClangBackEnd::HighlightingType::LocalVariable) {
++it;
continue;
}
auto *item = new TokenTreeItem(*it);
parent->appendChild(item);
const auto &range = it->extraInfo().cursorRange;
const auto &range = it->extraInfo.cursorRange;
++it;
auto innerIt = it;
for (; innerIt != containersEnd; ++innerIt) {
if (!innerIt->extraInfo().declaration)
if (!innerIt->extraInfo.declaration)
continue;
if (innerIt->types().mainHighlightingType
if (innerIt->types.mainHighlightingType
== ClangBackEnd::HighlightingType::LocalVariable) {
continue;
}
const auto &start = innerIt->extraInfo().cursorRange.start();
const auto &start = innerIt->extraInfo.cursorRange.start;
if (!contains(range, start)) {
break;
}
@@ -129,50 +129,50 @@ QVariant TokenTreeItem::data(int column, int role) const
{
Q_UNUSED(column)
if (token.types().mainHighlightingType == ClangBackEnd::HighlightingType::Invalid
&& token.line() == 0 && token.column() == 0 && token.length() == 0) {
if (token.types.mainHighlightingType == ClangBackEnd::HighlightingType::Invalid
&& token.line == 0 && token.column == 0 && token.length == 0) {
if (role == Qt::DisplayRole)
return token.extraInfo().token.toString();
return token.extraInfo.token.toString();
return QVariant();
}
switch (role) {
case Qt::DisplayRole: {
QString name = token.extraInfo().token.toString();
ClangBackEnd::HighlightingType mainType = token.types().mainHighlightingType;
QString name = token.extraInfo.token.toString();
ClangBackEnd::HighlightingType mainType = token.types.mainHighlightingType;
if (mainType == ClangBackEnd::HighlightingType::VirtualFunction
|| mainType == ClangBackEnd::HighlightingType::Function) {
name = addResultTypeToFunctionSignature(name, token.extraInfo());
name = addResultTypeToFunctionSignature(name, token.extraInfo);
} else if (mainType == ClangBackEnd::HighlightingType::GlobalVariable
|| mainType == ClangBackEnd::HighlightingType::Field
|| mainType == ClangBackEnd::HighlightingType::QtProperty) {
name = addTypeToVariableName(name, token.extraInfo());
if (token.types().mixinHighlightingTypes.contains(
name = addTypeToVariableName(name, token.extraInfo);
if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCProperty)) {
name = QLatin1String("@property ") + name;
} else if (token.types().mixinHighlightingTypes.contains(
} else if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCMethod)) {
if (token.extraInfo().storageClass == ClangBackEnd::StorageClass::Static)
if (token.extraInfo.storageClass == ClangBackEnd::StorageClass::Static)
name = QLatin1Char('+') + name;
else
name = QLatin1Char('-') + name;
}
} else if (mainType == ClangBackEnd::HighlightingType::Type) {
if (token.types().mixinHighlightingTypes.contains(
if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCClass)) {
name = QLatin1String("@class ") + name;
} else if (token.types().mixinHighlightingTypes.contains(
} else if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCProtocol)) {
name = QLatin1String("@protocol ") + name;
} else if (token.types().mixinHighlightingTypes.contains(
} else if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCInterface)) {
name = QLatin1String("@interface ") + name;
} else if (token.types().mixinHighlightingTypes.contains(
} else if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCImplementation)) {
name = QLatin1String("@implementation ") + name;
} else if (token.types().mixinHighlightingTypes.contains(
} else if (token.types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::ObjectiveCCategory)) {
name = name + " [category]";
}
@@ -181,7 +181,7 @@ QVariant TokenTreeItem::data(int column, int role) const
}
case Qt::EditRole: {
return token.extraInfo().token.toString();
return token.extraInfo.token.toString();
}
case Qt::DecorationRole: {
@@ -189,11 +189,11 @@ QVariant TokenTreeItem::data(int column, int role) const
}
case CppTools::AbstractOverviewModel::FileNameRole: {
return token.extraInfo().cursorRange.start().filePath().toString();
return token.extraInfo.cursorRange.start.filePath.toString();
}
case CppTools::AbstractOverviewModel::LineNumberRole: {
return token.line();
return token.line;
}
default:
@@ -238,8 +238,8 @@ bool OverviewModel::isGenerated(const QModelIndex &) const
TokenTreeItem *item = static_cast<TokenTreeItem *>(itemForIndex(sourceIndex));
if (!item)
return {};
return ::Utils::Link(m_filePath, static_cast<int>(item->token.line()),
static_cast<int>(item->token.column()) - 1);
return ::Utils::Link(m_filePath, static_cast<int>(item->token.line),
static_cast<int>(item->token.column) - 1);
}
::Utils::LineColumn OverviewModel::lineColumnFromIndex(const QModelIndex &sourceIndex) const
@@ -248,8 +248,8 @@ bool OverviewModel::isGenerated(const QModelIndex &) const
if (!item)
return {};
::Utils::LineColumn lineColumn;
lineColumn.line = static_cast<int>(item->token.line());
lineColumn.column = static_cast<int>(item->token.column());
lineColumn.line = static_cast<int>(item->token.line);
lineColumn.column = static_cast<int>(item->token.column);
return lineColumn;
}

View File

@@ -67,12 +67,12 @@ ClangTextMark::ClangTextMark(const QString &fileName,
const RemovedFromEditorHandler &removedHandler,
bool showLineAnnotations)
: TextEditor::TextMark(fileName,
int(diagnostic.location().line()),
cartegoryForSeverity(diagnostic.severity()))
int(diagnostic.location.line),
cartegoryForSeverity(diagnostic.severity))
, m_diagnostic(diagnostic)
, m_removedFromEditorHandler(removedHandler)
{
const bool warning = isWarningOrNote(diagnostic.severity());
const bool warning = isWarningOrNote(diagnostic.severity);
setColor(warning ? Utils::Theme::ClangCodeModel_Warning_TextMarkColor
: Utils::Theme::ClangCodeModel_Error_TextMarkColor);
setDefaultToolTip(warning ? QApplication::translate("Clang Code Model Marks", "Code Model Warning")
@@ -81,13 +81,13 @@ ClangTextMark::ClangTextMark(const QString &fileName,
: TextEditor::TextMark::HighPriority);
updateIcon();
if (showLineAnnotations)
setLineAnnotation(diagnostic.text().toString());
setLineAnnotation(diagnostic.text.toString());
}
void ClangTextMark::updateIcon(bool valid)
{
using namespace Utils::Icons;
if (isWarningOrNote(m_diagnostic.severity()))
if (isWarningOrNote(m_diagnostic.severity))
setIcon(valid ? CODEMODEL_WARNING.icon() : CODEMODEL_DISABLED_WARNING.icon());
else
setIcon(valid ? CODEMODEL_ERROR.icon() : CODEMODEL_DISABLED_ERROR.icon());

View File

@@ -207,7 +207,7 @@ int clangColumn(const QTextBlock &line, int cppEditorColumn)
CPlusPlus::Icons::IconType iconTypeForToken(const ClangBackEnd::TokenInfoContainer &token)
{
const ClangBackEnd::ExtraInfo &extraInfo = token.extraInfo();
const ClangBackEnd::ExtraInfo &extraInfo = token.extraInfo;
if (extraInfo.signal)
return CPlusPlus::Icons::SignalIconType;
@@ -224,7 +224,7 @@ CPlusPlus::Icons::IconType iconTypeForToken(const ClangBackEnd::TokenInfoContain
}
}
ClangBackEnd::HighlightingType mainType = token.types().mainHighlightingType;
ClangBackEnd::HighlightingType mainType = token.types.mainHighlightingType;
if (mainType == ClangBackEnd::HighlightingType::Keyword)
return CPlusPlus::Icons::KeywordIconType;
@@ -241,7 +241,7 @@ CPlusPlus::Icons::IconType iconTypeForToken(const ClangBackEnd::TokenInfoContain
return CPlusPlus::Icons::EnumeratorIconType;
if (mainType == ClangBackEnd::HighlightingType::Type) {
const ClangBackEnd::MixinHighlightingTypes &types = token.types().mixinHighlightingTypes;
const ClangBackEnd::MixinHighlightingTypes &types = token.types.mixinHighlightingTypes;
if (types.contains(ClangBackEnd::HighlightingType::Enum))
return CPlusPlus::Icons::EnumIconType;
if (types.contains(ClangBackEnd::HighlightingType::Struct))