5#include <private/qv4identifierhashdata_p.h>
6#include <private/qprimefornumbits_p.h>
28 for (
const auto &
h : std::as_const(
idHashes))
29 h->identifierTable =
nullptr;
53 while (newEntries[idx]) {
69 while (newEntries[idx]) {
107 str->subtype = subtype;
111 return resolveStringEntry(
s,
hash, subtype);
118 if (e->stringHash ==
hash && e->toQString() ==
s)
126 str->subtype = subtype;
139 if (e->stringHash ==
hash && e->toQString() ==
s)
147 str->subtype = subtype;
156 if (
str->identifier.isValid())
157 return str->identifier;
161 return str->identifier;
166 if (e->stringHash ==
hash && e->toQString() ==
str->toQString()) {
167 str->identifier = e->identifier;
169 e->identifier.asStringOrSymbol()->mark(stack);
171 return e->identifier;
178 return str->identifier;
183 if (
i.isArrayIndex())
201 Q_ASSERT(
s &&
s->internalClass->vtable->isString);
208 Q_ASSERT(!
s || !
s->internalClass->vtable->isString);
234 while (newTable[idx]) {
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QHash< int, QWidget * > hash
[35multi]
Combined button and popup list for selecting options.
static int grow(QLayoutStruct &ls, int delta)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLfloat GLfloat GLfloat GLfloat h
QT_BEGIN_NAMESPACE int qPrimeForNumBits(int numBits)
\inmodule QtCore \reentrant
Heap::String * newString(char16_t c)
unsigned hashValue() const
static void markObjects(Heap::Base *that, MarkStack *markStack)
Heap::Symbol * symbolForId(PropertyKey i) const
PropertyKey asPropertyKey(const Heap::String *str)
Heap::Symbol * insertSymbol(const QString &s)
Heap::StringOrSymbol ** entriesById
IdentifierTable(ExecutionEngine *engine, int numBits=8)
Heap::String * stringForId(PropertyKey i) const
Heap::String * insertString(const QString &s)
QSet< IdentifierHashData * > idHashes
void addEntry(Heap::StringOrSymbol *str)
Heap::StringOrSymbol ** entriesByHash
PropertyKey asPropertyKeyImpl(const Heap::String *str)
Heap::StringOrSymbol * resolveId(PropertyKey i) const
void markObjects(MarkStack *markStack)
static PropertyKey fromStringOrSymbol(Engine *engine, StringOrSymbol *b)
static PropertyKey fromArrayIndex(uint idx)
static uint createHashValueDisallowingArrayIndex(const QChar *ch, int length, uint *subtype)
static uint createHashValue(const QChar *ch, int length, uint *subtype)
static V4_NEEDS_DESTROY Heap::Symbol * create(ExecutionEngine *e, const QString &s)
static void markCustom(Engine *engine, F &&markFunction)