From 14c1090c89bba1af881d568274d4f1b9fe5f8a28 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 28 Jan 2016 10:32:05 +0100 Subject: Detect clashes in event and state names Change-Id: I6df9f73965442b7866c8912ac8a0a0858640bb62 Reviewed-by: Ulf Hermann --- tools/qscxmlc/scxmlcppdumper.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'tools') diff --git a/tools/qscxmlc/scxmlcppdumper.cpp b/tools/qscxmlc/scxmlcppdumper.cpp index a522c58..d78d213 100644 --- a/tools/qscxmlc/scxmlcppdumper.cpp +++ b/tools/qscxmlc/scxmlcppdumper.cpp @@ -448,9 +448,13 @@ protected: const QString tName = transitionName(node); if (m_qtMode) { foreach (const QString &event, node->events) { - if (isValidCppIdentifier(event)) { - m_knownEvents.insert(event); - } + if (!DocumentModel::isEventToBeGenerated(event)) + continue; + + // If the event name is not filtered out, is was already validated inside: + // bool ScxmlVerifier::visit(DocumentModel::Transition *transition) + // by a call to: validateEventName(); + m_knownEvents.insert(event); } } @@ -732,13 +736,6 @@ private: std::sort(knownEventsList.begin(), knownEventsList.end()); if (m_qtMode) { foreach (const QString &event, knownEventsList) { - if (event.startsWith(QStringLiteral("done.")) || event.startsWith(QStringLiteral("qsignal.")) - || event.startsWith(QStringLiteral("qevent."))) { - continue; - } - if (event.contains(QLatin1Char('*'))) - continue; - clazz.publicSlotDeclarations << QStringLiteral("void ") + event + QStringLiteral("(const QVariant &eventData = QVariant());"); clazz.publicSlotDefinitions << QStringLiteral("void ") + clazz.className + QStringLiteral("::") -- cgit v1.2.3