diff --git a/src/libs/qmljs/qmljsstaticanalysismessage.cpp b/src/libs/qmljs/qmljsstaticanalysismessage.cpp index 35544e587b0..6336bc21e29 100644 --- a/src/libs/qmljs/qmljsstaticanalysismessage.cpp +++ b/src/libs/qmljs/qmljsstaticanalysismessage.cpp @@ -43,14 +43,6 @@ class StaticAnalysisMessages Q_DECLARE_TR_FUNCTIONS(QmlJS::StaticAnalysisMessages) public: - class PrototypeMessageData { - public: - Type type; - Severity severity; - QString message; - int placeholders; - }; - void newMsg(Type type, Severity severity, const QString &message, int placeholders = 0) { PrototypeMessageData prototype; @@ -248,7 +240,7 @@ Message::Message(Type type, : location(location), type(type) { QTC_ASSERT(messages()->messages.contains(type), return); - const StaticAnalysisMessages::PrototypeMessageData &prototype = messages()->messages.value(type); + const PrototypeMessageData &prototype = prototypeForMessageType(type); severity = prototype.severity; message = prototype.message; if (prototype.placeholders == 0) { @@ -299,3 +291,11 @@ QRegExp Message::suppressionPattern() { return QRegExp(QLatin1String("@disable-check M(\\d+)")); } + +const PrototypeMessageData Message::prototypeForMessageType(Type type) +{ + QTC_CHECK(messages()->messages.contains(type)); + const PrototypeMessageData &prototype = messages()->messages.value(type); + + return prototype; +} diff --git a/src/libs/qmljs/qmljsstaticanalysismessage.h b/src/libs/qmljs/qmljsstaticanalysismessage.h index eb21552d510..3cf29d7bba0 100644 --- a/src/libs/qmljs/qmljsstaticanalysismessage.h +++ b/src/libs/qmljs/qmljsstaticanalysismessage.h @@ -131,6 +131,14 @@ enum Type ErrInvalidArrayValueLength = 323 }; +class QMLJS_EXPORT PrototypeMessageData { +public: + Type type; + Severity severity; + QString message; + int placeholders; +}; + class QMLJS_EXPORT Message { public: @@ -152,6 +160,8 @@ public: QString message; Type type; Severity severity; + + static const PrototypeMessageData prototypeForMessageType(Type type); }; } // namespace StaticAnalysis