summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2013-02-14 14:25:31 +0100
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-02-19 10:18:34 +0100
commit35b4420f7ad4634d653cbdd44b563ce8da53d205 (patch)
treeb1d86e7f830f32d6a8e2188807dad9f545e47ead
parent9f94a8b3b8e66fbfbb1d6c1c4e885265911baca2 (diff)
downloadqt-creator-35b4420f7ad4634d653cbdd44b563ce8da53d205.tar.gz
Editor: Add further Use::isInvalid() guards
Task-number: QTCREATORBUG-8738 Change-Id: I297731f15bd9001f7edc83c956a15ef660929dc7 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
-rw-r--r--src/plugins/cppeditor/cppfunctiondecldeflink.cpp2
-rw-r--r--src/plugins/cppeditor/cppinsertdecldef.cpp3
-rw-r--r--src/plugins/cpptools/cppchecksymbols.cpp2
-rw-r--r--src/plugins/cpptools/cppchecksymbols.h4
4 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
index 0a17c83053..7d1764ac52 100644
--- a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
+++ b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
@@ -913,6 +913,8 @@ Utils::ChangeSet FunctionDeclDefLink::changes(const Snapshot &snapshot, int targ
it.next();
const QList<SemanticInfo::Use> &uses = localSymbols.uses.value(it.key());
foreach (const SemanticInfo::Use &use, uses) {
+ if (use.isInvalid())
+ continue;
const int useStart = targetFile->position(use.line, use.column);
if (useStart <= endOfArguments)
continue;
diff --git a/src/plugins/cppeditor/cppinsertdecldef.cpp b/src/plugins/cppeditor/cppinsertdecldef.cpp
index cf534e9d21..6f0ce46604 100644
--- a/src/plugins/cppeditor/cppinsertdecldef.cpp
+++ b/src/plugins/cppeditor/cppinsertdecldef.cpp
@@ -1096,6 +1096,9 @@ void ExtractFunction::match(const CppQuickFixInterface &interface, QuickFixOpera
bool usedInsideExtraction = false;
const QList<SemanticInfo::Use> &uses = it.value();
foreach (const SemanticInfo::Use &use, uses) {
+ if (use.isInvalid())
+ continue;
+
const int position = file->position(use.line, use.column);
if (position < analyser.m_extractionStart)
usedBeforeExtraction = true;
diff --git a/src/plugins/cpptools/cppchecksymbols.cpp b/src/plugins/cpptools/cppchecksymbols.cpp
index c8245a0881..c6283ed2e4 100644
--- a/src/plugins/cpptools/cppchecksymbols.cpp
+++ b/src/plugins/cpptools/cppchecksymbols.cpp
@@ -1104,7 +1104,7 @@ static const int chunkSize = 50;
void CheckSymbols::addUse(const Use &use)
{
- if (!use.line)
+ if (use.isInvalid())
return;
if (! enclosingFunctionDefinition()) {
diff --git a/src/plugins/cpptools/cppchecksymbols.h b/src/plugins/cpptools/cppchecksymbols.h
index ce8e9fecb0..8b1694aed2 100644
--- a/src/plugins/cpptools/cppchecksymbols.h
+++ b/src/plugins/cpptools/cppchecksymbols.h
@@ -79,8 +79,8 @@ public:
for (int i = from; i < to; ++i) {
const Use use = future.resultAt(i);
- if (! use.line)
- continue; // skip it, it's an invalid use.
+ if (use.isInvalid())
+ continue;
const int blockNumber = use.line - 1;
chunks[blockNumber].append(use);