Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4::IdentifierTable Struct Reference

#include <qv4identifiertable_p.h>

Collaboration diagram for QV4::IdentifierTable:

Public Types

enum  KeyConversionBehavior { Default , ForceConversionToId }

Public Member Functions

void addEntry (Heap::StringOrSymbol *str)
 IdentifierTable (ExecutionEngine *engine, int numBits=8)
 ~IdentifierTable ()
Heap::StringinsertString (const QString &s)
Heap::SymbolinsertSymbol (const QString &s)
PropertyKey asPropertyKey (const Heap::String *str)
PropertyKey asPropertyKey (const QV4::String *str)
PropertyKey asPropertyKey (const QString &s, KeyConversionBehavior conversionBehavior=Default)
PropertyKey asPropertyKeyImpl (const Heap::String *str)
Heap::StringOrSymbolresolveId (PropertyKey i) const
Heap::StringstringForId (PropertyKey i) const
Heap::SymbolsymbolForId (PropertyKey i) const
void markObjects (MarkStack *markStack)
void sweep ()
void addIdentifierHash (IdentifierHashData *h)
void removeIdentifierHash (IdentifierHashData *h)

Public Attributes

ExecutionEngineengine
uint alloc
uint size
int numBits
Heap::StringOrSymbol ** entriesByHash
Heap::StringOrSymbol ** entriesById
QSet< IdentifierHashData * > idHashes

Detailed Description

Definition at line 28 of file qv4identifiertable_p.h.

Member Enumeration Documentation

◆ KeyConversionBehavior

Enumerator
Default 
ForceConversionToId 

Definition at line 59 of file qv4identifiertable_p.h.

Constructor & Destructor Documentation

◆ IdentifierTable()

QV4::IdentifierTable::IdentifierTable ( ExecutionEngine * engine,
int numBits = 8 )

Definition at line 13 of file qv4identifiertable.cpp.

◆ ~IdentifierTable()

QV4::IdentifierTable::~IdentifierTable ( )

Definition at line 25 of file qv4identifiertable.cpp.

Member Function Documentation

◆ addEntry()

void QV4::IdentifierTable::addEntry ( Heap::StringOrSymbol * str)

Definition at line 33 of file qv4identifiertable.cpp.

◆ addIdentifierHash()

void QV4::IdentifierTable::addIdentifierHash ( IdentifierHashData * h)
inline

Definition at line 71 of file qv4identifiertable_p.h.

◆ asPropertyKey() [1/3]

PropertyKey QV4::IdentifierTable::asPropertyKey ( const Heap::String * str)
inline

Definition at line 50 of file qv4identifiertable_p.h.

◆ asPropertyKey() [2/3]

PropertyKey QV4::IdentifierTable::asPropertyKey ( const QString & s,
IdentifierTable::KeyConversionBehavior conversionBehvior = Default )

Definition at line 256 of file qv4identifiertable.cpp.

◆ asPropertyKey() [3/3]

PropertyKey QV4::IdentifierTable::asPropertyKey ( const QV4::String * str)
inline

Definition at line 55 of file qv4identifiertable_p.h.

◆ asPropertyKeyImpl()

PropertyKey QV4::IdentifierTable::asPropertyKeyImpl ( const Heap::String * str)

Definition at line 155 of file qv4identifiertable.cpp.

◆ insertString()

Heap::String * QV4::IdentifierTable::insertString ( const QString & s)

Definition at line 101 of file qv4identifiertable.cpp.

◆ insertSymbol()

Heap::Symbol * QV4::IdentifierTable::insertSymbol ( const QString & s)

Definition at line 132 of file qv4identifiertable.cpp.

◆ markObjects()

void QV4::IdentifierTable::markObjects ( MarkStack * markStack)

Definition at line 213 of file qv4identifiertable.cpp.

◆ removeIdentifierHash()

void QV4::IdentifierTable::removeIdentifierHash ( IdentifierHashData * h)
inline

Definition at line 74 of file qv4identifiertable_p.h.

◆ resolveId()

Heap::StringOrSymbol * QV4::IdentifierTable::resolveId ( PropertyKey i) const

Definition at line 182 of file qv4identifiertable.cpp.

◆ stringForId()

Heap::String * QV4::IdentifierTable::stringForId ( PropertyKey i) const

Definition at line 199 of file qv4identifiertable.cpp.

◆ sweep()

void QV4::IdentifierTable::sweep ( )

Definition at line 219 of file qv4identifiertable.cpp.

◆ symbolForId()

Heap::Symbol * QV4::IdentifierTable::symbolForId ( PropertyKey i) const

Definition at line 206 of file qv4identifiertable.cpp.

Member Data Documentation

◆ alloc

uint QV4::IdentifierTable::alloc

Definition at line 32 of file qv4identifiertable_p.h.

◆ engine

ExecutionEngine* QV4::IdentifierTable::engine

Definition at line 30 of file qv4identifiertable_p.h.

◆ entriesByHash

Heap::StringOrSymbol** QV4::IdentifierTable::entriesByHash

Definition at line 35 of file qv4identifiertable_p.h.

◆ entriesById

Heap::StringOrSymbol** QV4::IdentifierTable::entriesById

Definition at line 36 of file qv4identifiertable_p.h.

◆ idHashes

QSet<IdentifierHashData *> QV4::IdentifierTable::idHashes

Definition at line 38 of file qv4identifiertable_p.h.

◆ numBits

int QV4::IdentifierTable::numBits

Definition at line 34 of file qv4identifiertable_p.h.

◆ size

uint QV4::IdentifierTable::size

Definition at line 33 of file qv4identifiertable_p.h.


The documentation for this struct was generated from the following files: