forked from qt-creator/qt-creator
QmlDesigner: Use a static const QSet for keyword list
Makes the lookup faster. Also sort the keywords. Change-Id: I25ce0f2d1de7be572fecccc09b5ec12d81152e95 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
d75d94c8c0
commit
a1876a8509
@@ -29,8 +29,6 @@
|
|||||||
#include <model.h>
|
#include <model.h>
|
||||||
#include <nodemetainfo.h>
|
#include <nodemetainfo.h>
|
||||||
#include "internalnode_p.h"
|
#include "internalnode_p.h"
|
||||||
#include <QHash>
|
|
||||||
#include <QTextStream>
|
|
||||||
#include "invalidargumentexception.h"
|
#include "invalidargumentexception.h"
|
||||||
#include "invalididexception.h"
|
#include "invalididexception.h"
|
||||||
#include "invalidmodelnodeexception.h"
|
#include "invalidmodelnodeexception.h"
|
||||||
@@ -44,6 +42,10 @@
|
|||||||
#include "nodeproperty.h"
|
#include "nodeproperty.h"
|
||||||
#include <rewriterview.h>
|
#include <rewriterview.h>
|
||||||
|
|
||||||
|
#include <QHash>
|
||||||
|
#include <QSet>
|
||||||
|
#include <QTextStream>
|
||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
using namespace QmlDesigner::Internal;
|
using namespace QmlDesigner::Internal;
|
||||||
|
|
||||||
@@ -143,34 +145,36 @@ QString ModelNode::validId()
|
|||||||
|
|
||||||
static bool idIsQmlKeyWord(const QString& id)
|
static bool idIsQmlKeyWord(const QString& id)
|
||||||
{
|
{
|
||||||
QStringList keywords = { "import",
|
static const QSet<QString> keywords = {
|
||||||
"as",
|
"as",
|
||||||
"break",
|
"break",
|
||||||
"case",
|
"case",
|
||||||
"catch",
|
"catch",
|
||||||
"continue",
|
"continue",
|
||||||
"debugger",
|
"debugger",
|
||||||
"default",
|
"default",
|
||||||
"delete",
|
"delete",
|
||||||
"do",
|
"do",
|
||||||
"else",
|
"else",
|
||||||
"finally",
|
"finally",
|
||||||
"for",
|
"for",
|
||||||
"function",
|
"function",
|
||||||
"if",
|
"if",
|
||||||
"in",
|
"import",
|
||||||
"instanceof",
|
"in",
|
||||||
"new",
|
"instanceof",
|
||||||
"return",
|
"new",
|
||||||
"switch",
|
"return",
|
||||||
"this",
|
"switch",
|
||||||
"throw",
|
"this",
|
||||||
"try",
|
"throw",
|
||||||
"typeof",
|
"try",
|
||||||
"var",
|
"typeof",
|
||||||
"void",
|
"var",
|
||||||
"while",
|
"void",
|
||||||
"with" };
|
"while",
|
||||||
|
"with"
|
||||||
|
};
|
||||||
|
|
||||||
return keywords.contains(id);
|
return keywords.contains(id);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user