diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-04-08 14:28:40 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-05-02 14:18:41 +0000 |
commit | 360a48aa3f5346aa7aaff741e4ef8f5dc8701f51 (patch) | |
tree | 4ba4fc520a1387c24a667ebd51203cc6cd1e5996 /src/qml/jsruntime/qv4identifiertable_p.h | |
parent | bab5e5adf578fb37402ff03f4bd5e9ed3ce4c2d2 (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.h | 9 |
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(); |