aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4identifiertable_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-04-08 14:28:40 +0200
committerLars Knoll <lars.knoll@qt.io>2018-05-02 14:18:41 +0000
commit360a48aa3f5346aa7aaff741e4ef8f5dc8701f51 (patch)
tree4ba4fc520a1387c24a667ebd51203cc6cd1e5996 /src/qml/jsruntime/qv4identifiertable_p.h
parentbab5e5adf578fb37402ff03f4bd5e9ed3ce4c2d2 (diff)
Implement Symbol.for and Symbol.keyFor
Change-Id: I5fde731b3a1a6d7c15154881ed82549b2800d104 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4identifiertable_p.h')
-rw-r--r--src/qml/jsruntime/qv4identifiertable_p.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4identifiertable_p.h b/src/qml/jsruntime/qv4identifiertable_p.h
index 84e1ef2f4f..6e6600d055 100644
--- a/src/qml/jsruntime/qv4identifiertable_p.h
+++ b/src/qml/jsruntime/qv4identifiertable_p.h
@@ -67,12 +67,12 @@ struct IdentifierTable
int alloc;
int size;
int numBits;
- Heap::String **entriesByHash;
- Heap::String **entriesById;
+ Heap::StringOrSymbol **entriesByHash;
+ Heap::StringOrSymbol **entriesById;
QSet<IdentifierHashData *> idHashes;
- void addEntry(Heap::String *str);
+ void addEntry(Heap::StringOrSymbol *str);
public:
@@ -80,6 +80,7 @@ public:
~IdentifierTable();
Heap::String *insertString(const QString &s);
+ Heap::Symbol *insertSymbol(const QString &s);
Identifier identifier(const Heap::String *str) {
if (str->identifier.isValid())
@@ -95,7 +96,9 @@ public:
Identifier identifierImpl(const Heap::String *str);
+ Heap::StringOrSymbol *resolveId(Identifier i) const;
Q_QML_PRIVATE_EXPORT Heap::String *stringForId(Identifier i) const;
+ Q_QML_PRIVATE_EXPORT Heap::Symbol *symbolForId(Identifier i) const;
void markObjects(MarkStack *markStack);
void sweep();