Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QQmlJSCompilePass::State Struct Reference

#include <qqmljscompilepass_p.h>

+ Inheritance diagram for QQmlJSCompilePass::State:
+ Collaboration diagram for QQmlJSCompilePass::State:

Public Member Functions

const QQmlJSRegisterContentaccumulatorIn () const
 
const QQmlJSRegisterContentaccumulatorOut () const
 
void setRegister (int registerIndex, QQmlJSRegisterContent content)
 
void clearChangedRegister ()
 
int changedRegisterIndex () const
 
const QQmlJSRegisterContentchangedRegister () const
 
void addReadRegister (int registerIndex, const QQmlJSRegisterContent &reg)
 
void addReadAccumulator (const QQmlJSRegisterContent &reg)
 
VirtualRegisters takeReadRegisters () const
 
void setReadRegisters (VirtualRegisters readReagisters)
 
QQmlJSRegisterContent readRegister (int registerIndex) const
 
bool canMoveReadRegister (int registerIndex) const
 
bool isRegisterAffectedBySideEffects (int registerIndex) const
 
QQmlJSRegisterContent readAccumulator () const
 
bool readsRegister (int registerIndex) const
 
bool hasSideEffects () const
 
void setHasSideEffects (bool hasSideEffects)
 
bool isRename () const
 
void setIsRename (bool isRename)
 
int renameSourceRegisterIndex () const
 

Public Attributes

VirtualRegisters registers
 

Detailed Description

Definition at line 89 of file qqmljscompilepass_p.h.

Member Function Documentation

◆ accumulatorIn()

◆ accumulatorOut()

◆ addReadAccumulator()

void QQmlJSCompilePass::State::addReadAccumulator ( const QQmlJSRegisterContent reg)
inline

Definition at line 131 of file qqmljscompilepass_p.h.

References QQmlJSCompilePass::Accumulator, and addReadRegister().

+ Here is the call graph for this function:

◆ addReadRegister()

void QQmlJSCompilePass::State::addReadRegister ( int  registerIndex,
const QQmlJSRegisterContent reg 
)
inline

Definition at line 121 of file qqmljscompilepass_p.h.

References QQmlJSRegisterContent::isConversion(), isRename(), Q_ASSERT, and registers.

Referenced by addReadAccumulator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canMoveReadRegister()

bool QQmlJSCompilePass::State::canMoveReadRegister ( int  registerIndex) const
inline

Definition at line 148 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::end(), QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::find(), and it.

Referenced by QQmlJSCodeGenerator::shouldMoveRegister().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ changedRegister()

const QQmlJSRegisterContent & QQmlJSCompilePass::State::changedRegister ( ) const
inline

◆ changedRegisterIndex()

int QQmlJSCompilePass::State::changedRegisterIndex ( ) const
inline

◆ clearChangedRegister()

void QQmlJSCompilePass::State::clearChangedRegister ( )
inline

Definition at line 112 of file qqmljscompilepass_p.h.

References QQmlJSCompilePass::InvalidRegister.

◆ hasSideEffects()

bool QQmlJSCompilePass::State::hasSideEffects ( ) const
inline

Definition at line 170 of file qqmljscompilepass_p.h.

Referenced by setHasSideEffects(), QQmlJSCodeGenerator::startInstruction(), and QQmlJSShadowCheck::startInstruction().

+ Here is the caller graph for this function:

◆ isRegisterAffectedBySideEffects()

bool QQmlJSCompilePass::State::isRegisterAffectedBySideEffects ( int  registerIndex) const
inline

Definition at line 154 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::end(), QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::find(), and it.

Referenced by QQmlJSCodeGenerator::generate_GetLookup(), and QQmlJSCodeGenerator::generate_LoadElement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isRename()

bool QQmlJSCompilePass::State::isRename ( ) const
inline

Definition at line 180 of file qqmljscompilepass_p.h.

Referenced by addReadRegister(), and setIsRename().

+ Here is the caller graph for this function:

◆ readAccumulator()

QQmlJSRegisterContent QQmlJSCompilePass::State::readAccumulator ( ) const
inline

Definition at line 160 of file qqmljscompilepass_p.h.

References QQmlJSCompilePass::Accumulator, and readRegister().

Referenced by QQmlJSCodeGenerator::generate_Exp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readRegister()

QQmlJSRegisterContent QQmlJSCompilePass::State::readRegister ( int  registerIndex) const
inline

Definition at line 142 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::contains(), and Q_ASSERT.

Referenced by QQmlJSCodeGenerator::generate_As(), QQmlJSCodeGenerator::generate_DefineObjectLiteral(), QQmlJSCodeGenerator::generate_Exp(), readAccumulator(), and QQmlJSCodeGenerator::shouldMoveRegister().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readsRegister()

bool QQmlJSCompilePass::State::readsRegister ( int  registerIndex) const
inline

Definition at line 165 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::contains().

Referenced by QQmlJSShadowCheck::generate_GetLookup(), and QQmlJSShadowCheck::generate_LoadProperty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renameSourceRegisterIndex()

int QQmlJSCompilePass::State::renameSourceRegisterIndex ( ) const
inline

Definition at line 183 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::begin(), Q_ASSERT, and QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::size().

+ Here is the call graph for this function:

◆ setHasSideEffects()

void QQmlJSCompilePass::State::setHasSideEffects ( bool  hasSideEffects)
inline

Definition at line 171 of file qqmljscompilepass_p.h.

References QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::begin(), QFlatMap< Key, T, Compare, KeyContainer, MappedContainer >::end(), hasSideEffects(), it, and registers.

+ Here is the call graph for this function:

◆ setIsRename()

void QQmlJSCompilePass::State::setIsRename ( bool  isRename)
inline

Definition at line 181 of file qqmljscompilepass_p.h.

References isRename().

+ Here is the call graph for this function:

◆ setReadRegisters()

void QQmlJSCompilePass::State::setReadRegisters ( VirtualRegisters  readReagisters)
inline

Definition at line 137 of file qqmljscompilepass_p.h.

◆ setRegister()

void QQmlJSCompilePass::State::setRegister ( int  registerIndex,
QQmlJSRegisterContent  content 
)
inline

Definition at line 106 of file qqmljscompilepass_p.h.

◆ takeReadRegisters()

VirtualRegisters QQmlJSCompilePass::State::takeReadRegisters ( ) const
inline

Definition at line 136 of file qqmljscompilepass_p.h.

Member Data Documentation

◆ registers


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