aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cpptools/cppchecksymbols.cpp
diff options
context:
space:
mode:
authorFrancois Ferrand <[email protected]>2014-09-15 11:13:36 +0200
committerNikolai Kosjar <[email protected]>2014-10-23 13:39:02 +0200
commit7e544073c0cb2701e5ade0f579f4b6b80d6ec2ec (patch)
tree6478929bf17fec4f9b0423e5f781b301f9a78f20 /src/plugins/cpptools/cppchecksymbols.cpp
parenta645f78cd69860b57efba4c0a528fec234367327 (diff)
CppTools: restore C++ diagnostics messages.
The messages were computed, but not added to the document. Change-Id: Ibeea802cf9f291ad14b2fe2e9d2a285c927a4449 Reviewed-by: Nikolai Kosjar <[email protected]>
Diffstat (limited to 'src/plugins/cpptools/cppchecksymbols.cpp')
-rw-r--r--src/plugins/cpptools/cppchecksymbols.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cppchecksymbols.cpp b/src/plugins/cpptools/cppchecksymbols.cpp
index 45a4f3d8a15..90ad1c1565c 100644
--- a/src/plugins/cpptools/cppchecksymbols.cpp
+++ b/src/plugins/cpptools/cppchecksymbols.cpp
@@ -305,6 +305,16 @@ CheckSymbols::Future CheckSymbols::go(Document::Ptr doc, const LookupContext &co
return (new CheckSymbols(doc, context, macroUses))->start();
}
+CheckSymbols * CheckSymbols::create(Document::Ptr doc, const LookupContext &context,
+ const QList<CheckSymbols::Result> &macroUses)
+{
+ QTC_ASSERT(doc, return NULL);
+ QTC_ASSERT(doc->translationUnit(), return NULL);
+ QTC_ASSERT(doc->translationUnit()->ast(), return NULL);
+
+ return new CheckSymbols(doc, context, macroUses);
+}
+
CheckSymbols::CheckSymbols(Document::Ptr doc, const LookupContext &context, const QList<CheckSymbols::Result> &macroUses)
: ASTVisitor(doc->translationUnit()), _doc(doc), _context(context)
, _lineOfLastUsage(0), _macroUses(macroUses)
@@ -335,10 +345,6 @@ void CheckSymbols::run()
_potentialStatics = collectTypes.statics();
Utils::sort(_macroUses, sortByLinePredicate);
- // TODO: Handle concurrent (write) access of diagnostic messages and ensure
- // propagation to the editor widget
-// _doc->clearDiagnosticMessages();
-
if (!isCanceled()) {
if (_doc->translationUnit()) {
accept(_doc->translationUnit()->ast());
@@ -347,15 +353,15 @@ void CheckSymbols::run()
}
}
+ emit codeWarningsUpdated(_doc, _diagMsgs);
+
reportFinished();
}
bool CheckSymbols::warning(unsigned line, unsigned column, const QString &text, unsigned length)
{
Document::DiagnosticMessage m(Document::DiagnosticMessage::Warning, _fileName, line, column, text, length);
- // TODO: Handle concurrent (write) access of diagnostic messages and ensure
- // propagation to the editor widget
-// _doc->addDiagnosticMessage(m);
+ _diagMsgs.append(m);
return false;
}