Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQmlJSCodeGenerator Class Reference

#include <qqmljscodegenerator_p.h>

+ Inheritance diagram for QQmlJSCodeGenerator:
+ Collaboration diagram for QQmlJSCodeGenerator:

Classes

struct  AccumulatorConverter
 
struct  CodegenState
 

Public Member Functions

 QQmlJSCodeGenerator (const QV4::Compiler::Context *compilerContext, const QV4::Compiler::JSUnitGenerator *unitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, BasicBlocks basicBlocks, InstructionAnnotations annotations)
 
 ~QQmlJSCodeGenerator ()=default
 
QQmlJSAotFunction run (const Function *function, QQmlJS::DiagnosticMessage *error, bool basicBlocksValidationFailed)
 
- Public Member Functions inherited from QQmlJSCompilePass
 QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, BasicBlocks basicBlocks={}, InstructionAnnotations annotations={})
 
- Public Member Functions inherited from QV4::Moth::ByteCodeHandler
 ByteCodeHandler ()=default
 
virtual ~ByteCodeHandler ()
 
void decode (const char *code, uint len)
 
void reset ()
 
int currentInstructionOffset () const
 
int nextInstructionOffset () const
 
int absoluteOffset (int relativeOffset) const
 

Protected Member Functions

virtual QString metaObject (const QQmlJSScope::ConstPtr &objectType)
 
virtual QString metaType (const QQmlJSScope::ConstPtr &type)
 
void generate_Ret () override
 
void generate_Debug () override
 
void generate_LoadConst (int index) override
 
void generate_LoadZero () override
 
void generate_LoadTrue () override
 
void generate_LoadFalse () override
 
void generate_LoadNull () override
 
void generate_LoadUndefined () override
 
void generate_LoadInt (int value) override
 
void generate_MoveConst (int constIndex, int destTemp) override
 
void generate_LoadReg (int reg) override
 
void generate_StoreReg (int reg) override
 
void generate_MoveReg (int srcReg, int destReg) override
 
void generate_LoadImport (int index) override
 
void generate_LoadLocal (int index) override
 
void generate_StoreLocal (int index) override
 
void generate_LoadScopedLocal (int scope, int index) override
 
void generate_StoreScopedLocal (int scope, int index) override
 
void generate_LoadRuntimeString (int stringId) override
 
void generate_MoveRegExp (int regExpId, int destReg) override
 
void generate_LoadClosure (int value) override
 
void generate_LoadName (int nameIndex) override
 
void generate_LoadGlobalLookup (int index) override
 
void generate_LoadQmlContextPropertyLookup (int index) override
 
void generate_StoreNameSloppy (int nameIndex) override
 
void generate_StoreNameStrict (int name) override
 
void generate_LoadElement (int base) override
 
void generate_StoreElement (int base, int index) override
 
void generate_LoadProperty (int nameIndex) override
 
void generate_LoadOptionalProperty (int name, int offset) override
 
void generate_GetLookup (int index) override
 
void generate_GetOptionalLookup (int index, int offset) override
 
void generate_StoreProperty (int name, int baseReg) override
 
void generate_SetLookup (int index, int base) override
 
void generate_LoadSuperProperty (int property) override
 
void generate_StoreSuperProperty (int property) override
 
void generate_Yield () override
 
void generate_YieldStar () override
 
void generate_Resume (int) override
 
void generate_CallValue (int name, int argc, int argv) override
 
void generate_CallWithReceiver (int name, int thisObject, int argc, int argv) override
 
void generate_CallProperty (int name, int base, int argc, int argv) override
 
void generate_CallPropertyLookup (int lookupIndex, int base, int argc, int argv) override
 
void generate_CallName (int name, int argc, int argv) override
 
void generate_CallPossiblyDirectEval (int argc, int argv) override
 
void generate_CallGlobalLookup (int index, int argc, int argv) override
 
void generate_CallQmlContextPropertyLookup (int index, int argc, int argv) override
 
void generate_CallWithSpread (int func, int thisObject, int argc, int argv) override
 
void generate_TailCall (int func, int thisObject, int argc, int argv) override
 
void generate_Construct (int func, int argc, int argv) override
 
void generate_ConstructWithSpread (int func, int argc, int argv) override
 
void generate_SetUnwindHandler (int offset) override
 
void generate_UnwindDispatch () override
 
void generate_UnwindToLabel (int level, int offset) override
 
void generate_DeadTemporalZoneCheck (int name) override
 
void generate_ThrowException () override
 
void generate_GetException () override
 
void generate_SetException () override
 
void generate_CreateCallContext () override
 
void generate_PushCatchContext (int index, int name) override
 
void generate_PushWithContext () override
 
void generate_PushBlockContext (int index) override
 
void generate_CloneBlockContext () override
 
void generate_PushScriptContext (int index) override
 
void generate_PopScriptContext () override
 
void generate_PopContext () override
 
void generate_GetIterator (int iterator) override
 
void generate_IteratorNext (int value, int offset) override
 
void generate_IteratorNextForYieldStar (int iterator, int object, int offset) override
 
void generate_IteratorClose () override
 
void generate_DestructureRestElement () override
 
void generate_DeleteProperty (int base, int index) override
 
void generate_DeleteName (int name) override
 
void generate_TypeofName (int name) override
 
void generate_TypeofValue () override
 
void generate_DeclareVar (int varName, int isDeletable) override
 
void generate_DefineArray (int argc, int args) override
 
void generate_DefineObjectLiteral (int internalClassId, int argc, int args) override
 
void generate_CreateClass (int classIndex, int heritage, int computedNames) override
 
void generate_CreateMappedArgumentsObject () override
 
void generate_CreateUnmappedArgumentsObject () override
 
void generate_CreateRestParameter (int argIndex) override
 
void generate_ConvertThisToObject () override
 
void generate_LoadSuperConstructor () override
 
void generate_ToObject () override
 
void generate_Jump (int offset) override
 
void generate_JumpTrue (int offset) override
 
void generate_JumpFalse (int offset) override
 
void generate_JumpNoException (int offset) override
 
void generate_JumpNotUndefined (int offset) override
 
void generate_CheckException () override
 
void generate_CmpEqNull () override
 
void generate_CmpNeNull () override
 
void generate_CmpEqInt (int lhs) override
 
void generate_CmpNeInt (int lhs) override
 
void generate_CmpEq (int lhs) override
 
void generate_CmpNe (int lhs) override
 
void generate_CmpGt (int lhs) override
 
void generate_CmpGe (int lhs) override
 
void generate_CmpLt (int lhs) override
 
void generate_CmpLe (int lhs) override
 
void generate_CmpStrictEqual (int lhs) override
 
void generate_CmpStrictNotEqual (int lhs) override
 
void generate_CmpIn (int lhs) override
 
void generate_CmpInstanceOf (int lhs) override
 
void generate_As (int lhs) override
 
void generate_UNot () override
 
void generate_UPlus () override
 
void generate_UMinus () override
 
void generate_UCompl () override
 
void generate_Increment () override
 
void generate_Decrement () override
 
void generate_Add (int lhs) override
 
void generate_BitAnd (int lhs) override
 
void generate_BitOr (int lhs) override
 
void generate_BitXor (int lhs) override
 
void generate_UShr (int lhs) override
 
void generate_Shr (int lhs) override
 
void generate_Shl (int lhs) override
 
void generate_BitAndConst (int rhs) override
 
void generate_BitOrConst (int rhs) override
 
void generate_BitXorConst (int rhs) override
 
void generate_UShrConst (int rhs) override
 
void generate_ShrConst (int value) override
 
void generate_ShlConst (int rhs) override
 
void generate_Exp (int lhs) override
 
void generate_Mul (int lhs) override
 
void generate_Div (int lhs) override
 
void generate_Mod (int lhs) override
 
void generate_Sub (int lhs) override
 
void generate_InitializeBlockDeadTemporalZone (int firstReg, int count) override
 
void generate_ThrowOnNullOrUndefined () override
 
void generate_GetTemplateObject (int index) override
 
Verdict startInstruction (QV4::Moth::Instr::Type) override
 
void endInstruction (QV4::Moth::Instr::Type) override
 
void addInclude (const QString &include)
 
QString conversion (const QQmlJSRegisterContent &from, const QQmlJSRegisterContent &to, const QString &variable)
 
QString conversion (const QQmlJSScope::ConstPtr &from, const QQmlJSRegisterContent &to, const QString &variable)
 
QString convertStored (const QQmlJSScope::ConstPtr &from, const QQmlJSScope::ConstPtr &to, const QString &variable)
 
QString convertContained (const QQmlJSRegisterContent &from, const QQmlJSRegisterContent &to, const QString &variable)
 
void generateReturnError ()
 
void reject (const QString &thing)
 
QString metaTypeFromType (const QQmlJSScope::ConstPtr &type) const
 
QString metaTypeFromName (const QQmlJSScope::ConstPtr &type) const
 
QString compositeMetaType (const QString &elementName) const
 
QString compositeListMetaType (const QString &elementName) const
 
QString contentPointer (const QQmlJSRegisterContent &content, const QString &var)
 
QString contentType (const QQmlJSRegisterContent &content, const QString &var)
 
void generateSetInstructionPointer ()
 
void generateLookup (const QString &lookup, const QString &initialization, const QString &resultPreparation=QString())
 
QString getLookupPreparation (const QQmlJSRegisterContent &content, const QString &var, int lookup)
 
QString setLookupPreparation (const QQmlJSRegisterContent &content, const QString &arg, int lookup)
 
void generateEnumLookup (int index)
 
QString registerVariable (int index) const
 
QString lookupVariable (int lookupIndex) const
 
QString consumedRegisterVariable (int index) const
 
QString consumedAccumulatorVariableIn () const
 
QString changedRegisterVariable () const
 
QQmlJSRegisterContent registerType (int index) const
 
QQmlJSRegisterContent lookupType (int lookupIndex) const
 
bool shouldMoveRegister (int index) const
 
void resetState ()
 
- Protected Member Functions inherited from QQmlJSCompilePass
int firstRegisterIndex () const
 
bool isArgument (int registerIndex) const
 
QQmlJSRegisterContent argumentType (int registerIndex) const
 
State initialState (const Function *function)
 
State nextStateFromAnnotations (const State &oldState, const InstructionAnnotations &annotations)
 
QQmlJS::SourceLocation sourceLocation (int instructionOffset) const
 
QQmlJS::SourceLocation currentSourceLocation () const
 
void setError (const QString &message, int instructionOffset)
 
void setError (const QString &message)
 
void generate_Add (int) override
 
void generate_As (int) override
 
void generate_BitAnd (int) override
 
void generate_BitAndConst (int) override
 
void generate_BitOr (int) override
 
void generate_BitOrConst (int) override
 
void generate_BitXor (int) override
 
void generate_BitXorConst (int) override
 
void generate_CallGlobalLookup (int, int, int) override
 
void generate_CallName (int, int, int) override
 
void generate_CallPossiblyDirectEval (int, int) override
 
void generate_CallProperty (int, int, int, int) override
 
void generate_CallPropertyLookup (int, int, int, int) override
 
void generate_CallQmlContextPropertyLookup (int, int, int) override
 
void generate_CallValue (int, int, int) override
 
void generate_CallWithReceiver (int, int, int, int) override
 
void generate_CallWithSpread (int, int, int, int) override
 
void generate_CheckException () override
 
void generate_CloneBlockContext () override
 
void generate_CmpEq (int) override
 
void generate_CmpEqInt (int) override
 
void generate_CmpEqNull () override
 
void generate_CmpGe (int) override
 
void generate_CmpGt (int) override
 
void generate_CmpIn (int) override
 
void generate_CmpInstanceOf (int) override
 
void generate_CmpLe (int) override
 
void generate_CmpLt (int) override
 
void generate_CmpNe (int) override
 
void generate_CmpNeInt (int) override
 
void generate_CmpNeNull () override
 
void generate_CmpStrictEqual (int) override
 
void generate_CmpStrictNotEqual (int) override
 
void generate_Construct (int, int, int) override
 
void generate_ConstructWithSpread (int, int, int) override
 
void generate_ConvertThisToObject () override
 
void generate_CreateCallContext () override
 
void generate_CreateClass (int, int, int) override
 
void generate_CreateMappedArgumentsObject () override
 
void generate_CreateRestParameter (int) override
 
void generate_CreateUnmappedArgumentsObject () override
 
void generate_DeadTemporalZoneCheck (int) override
 
void generate_Debug () override
 
void generate_DeclareVar (int, int) override
 
void generate_Decrement () override
 
void generate_DefineArray (int, int) override
 
void generate_DefineObjectLiteral (int, int, int) override
 
void generate_DeleteName (int) override
 
void generate_DeleteProperty (int, int) override
 
void generate_DestructureRestElement () override
 
void generate_Div (int) override
 
void generate_Exp (int) override
 
void generate_GetException () override
 
void generate_GetIterator (int) override
 
void generate_GetLookup (int) override
 
void generate_GetOptionalLookup (int, int) override
 
void generate_GetTemplateObject (int) override
 
void generate_Increment () override
 
void generate_InitializeBlockDeadTemporalZone (int, int) override
 
void generate_IteratorClose () override
 
void generate_IteratorNext (int, int) override
 
void generate_IteratorNextForYieldStar (int, int, int) override
 
void generate_Jump (int) override
 
void generate_JumpFalse (int) override
 
void generate_JumpNoException (int) override
 
void generate_JumpNotUndefined (int) override
 
void generate_JumpTrue (int) override
 
void generate_LoadClosure (int) override
 
void generate_LoadConst (int) override
 
void generate_LoadElement (int) override
 
void generate_LoadFalse () override
 
void generate_LoadGlobalLookup (int) override
 
void generate_LoadImport (int) override
 
void generate_LoadInt (int) override
 
void generate_LoadLocal (int) override
 
void generate_LoadName (int) override
 
void generate_LoadNull () override
 
void generate_LoadOptionalProperty (int, int) override
 
void generate_LoadProperty (int) override
 
void generate_LoadQmlContextPropertyLookup (int) override
 
void generate_LoadReg (int) override
 
void generate_LoadRuntimeString (int) override
 
void generate_LoadScopedLocal (int, int) override
 
void generate_LoadSuperConstructor () override
 
void generate_LoadSuperProperty (int) override
 
void generate_LoadTrue () override
 
void generate_LoadUndefined () override
 
void generate_LoadZero () override
 
void generate_Mod (int) override
 
void generate_MoveConst (int, int) override
 
void generate_MoveReg (int, int) override
 
void generate_MoveRegExp (int, int) override
 
void generate_Mul (int) override
 
void generate_PopContext () override
 
void generate_PopScriptContext () override
 
void generate_PushBlockContext (int) override
 
void generate_PushCatchContext (int, int) override
 
void generate_PushScriptContext (int) override
 
void generate_PushWithContext () override
 
void generate_Resume (int) override
 
void generate_Ret () override
 
void generate_SetException () override
 
void generate_SetLookup (int, int) override
 
void generate_SetUnwindHandler (int) override
 
void generate_Shl (int) override
 
void generate_ShlConst (int) override
 
void generate_Shr (int) override
 
void generate_ShrConst (int) override
 
void generate_StoreElement (int, int) override
 
void generate_StoreLocal (int) override
 
void generate_StoreNameSloppy (int) override
 
void generate_StoreNameStrict (int) override
 
void generate_StoreProperty (int, int) override
 
void generate_StoreReg (int) override
 
void generate_StoreScopedLocal (int, int) override
 
void generate_StoreSuperProperty (int) override
 
void generate_Sub (int) override
 
void generate_TailCall (int, int, int, int) override
 
void generate_ThrowException () override
 
void generate_ThrowOnNullOrUndefined () override
 
void generate_ToObject () override
 
void generate_TypeofName (int) override
 
void generate_TypeofValue () override
 
void generate_UCompl () override
 
void generate_UMinus () override
 
void generate_UNot () override
 
void generate_UPlus () override
 
void generate_UShr (int) override
 
void generate_UShrConst (int) override
 
void generate_UnwindDispatch () override
 
void generate_UnwindToLabel (int, int) override
 
void generate_Yield () override
 
void generate_YieldStar () override
 

Protected Attributes

QString m_body
 
CodegenState m_state
 
- Protected Attributes inherited from QQmlJSCompilePass
const QV4::Compiler::JSUnitGeneratorm_jsUnitGenerator = nullptr
 
const QQmlJSTypeResolverm_typeResolver = nullptr
 
QQmlJSLoggerm_logger = nullptr
 
const Functionm_function = nullptr
 
BasicBlocks m_basicBlocks
 
InstructionAnnotations m_annotations
 
QQmlJS::DiagnosticMessagem_error = nullptr
 

Additional Inherited Members

- Public Types inherited from QQmlJSCompilePass
enum  RegisterShortcuts { InvalidRegister = -1 , Accumulator = QV4::CallData::Accumulator , This = QV4::CallData::This , FirstArgument = QV4::CallData::OffsetCount }
 
using SourceLocationTable = QV4::Compiler::Context::SourceLocationTable
 
using VirtualRegisters = QFlatMap<int, VirtualRegister>
 
using BasicBlocks = QFlatMap<int, BasicBlock>
 
using InstructionAnnotations = QFlatMap<int, InstructionAnnotation>
 
- Protected Types inherited from QV4::Moth::ByteCodeHandler
enum  Verdict { ProcessInstruction , SkipInstruction }
 
- Static Protected Member Functions inherited from QQmlJSCompilePass
static bool instructionManipulatesContext (QV4::Moth::Instr::Type type)
 

Detailed Description

This is a final compile pass that generates C++ code from a function and the annotations produced by previous passes. Such annotations are produced by QQmlJSTypePropagator, and possibly amended by other passes.

Definition at line 30 of file qqmljscodegenerator_p.h.

Constructor & Destructor Documentation

◆ QQmlJSCodeGenerator()

QQmlJSCodeGenerator::QQmlJSCodeGenerator ( const QV4::Compiler::Context * compilerContext,
const QV4::Compiler::JSUnitGenerator * unitGenerator,
const QQmlJSTypeResolver * typeResolver,
QQmlJSLogger * logger,
BasicBlocks basicBlocks,
InstructionAnnotations annotations )

Definition at line 55 of file qqmljscodegenerator.cpp.

◆ ~QQmlJSCodeGenerator()

QQmlJSCodeGenerator::~QQmlJSCodeGenerator ( )
default

Member Function Documentation

◆ addInclude()

void QQmlJSCodeGenerator::addInclude ( const QString & include)
inlineprotected

Definition at line 206 of file qqmljscodegenerator_p.h.

References QString::isEmpty(), and Q_ASSERT.

Referenced by convertStored(), generate_Construct(), generate_GetIterator(), and generate_StoreElement().

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

◆ changedRegisterVariable()

QString QQmlJSCodeGenerator::changedRegisterVariable ( ) const
protected

Definition at line 3839 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::changedRegister(), QQmlJSCompilePass::State::changedRegisterIndex(), QQmlJSScope::internalName(), QDeferredSharedPointer< T >::isNull(), m_state, QQmlJSRegisterContent::resultLookupIndex(), QQmlJSRegisterContent::storedType(), and QHash< Key, T >::value().

Referenced by generate_ConvertThisToObject(), generate_IteratorNext(), generate_MoveConst(), generate_MoveReg(), generate_StoreReg(), and startInstruction().

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

◆ compositeListMetaType()

QString QQmlJSCodeGenerator::compositeListMetaType ( const QString & elementName) const
protected

Definition at line 76 of file qqmljscodegenerator.cpp.

Referenced by metaType().

+ Here is the caller graph for this function:

◆ compositeMetaType()

QString QQmlJSCodeGenerator::compositeMetaType ( const QString & elementName) const
protected

Definition at line 84 of file qqmljscodegenerator.cpp.

Referenced by metaObject(), and metaType().

+ Here is the caller graph for this function:

◆ consumedAccumulatorVariableIn()

QString QQmlJSCodeGenerator::consumedAccumulatorVariableIn ( ) const
protected

Definition at line 3832 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::Accumulator, QQmlJSCodeGenerator::CodegenState::accumulatorVariableIn, m_state, and shouldMoveRegister().

Referenced by generate_Exp(), generate_GetIterator(), generate_Mod(), generate_Ret(), generate_SetLookup(), and generate_StoreReg().

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

◆ consumedRegisterVariable()

QString QQmlJSCodeGenerator::consumedRegisterVariable ( int index) const
protected

Definition at line 3824 of file qqmljscodegenerator.cpp.

References registerVariable(), shouldMoveRegister(), and var.

Referenced by generate_Construct(), generate_DefineObjectLiteral(), generate_Exp(), generate_LoadReg(), generate_Mod(), and generate_MoveReg().

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

◆ contentPointer()

QString QQmlJSCodeGenerator::contentPointer ( const QQmlJSRegisterContent & content,
const QString & var )
protected

Definition at line 2919 of file qqmljscodegenerator.cpp.

References QQmlJSScope::accessSemantics(), QQmlJSRegisterContent::containedType(), QQmlJSRegisterContent::descriptiveName(), QQmlSA::EnumScope, QQmlJSScope::isListProperty(), QQmlJSTypeResolver::isNumeric(), QQmlJSTypeResolver::jsPrimitiveType(), QQmlJSCompilePass::m_typeResolver, QQmlJSTypeResolver::registerContains(), reject(), QQmlJSScope::scopeType(), QQmlJSRegisterContent::storedType(), var, and QQmlJSTypeResolver::varType().

Referenced by convertContained(), generate_DefineObjectLiteral(), generate_LoadQmlContextPropertyLookup(), generate_Ret(), generate_SetLookup(), and generate_StoreNameSloppy().

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

◆ contentType()

QString QQmlJSCodeGenerator::contentType ( const QQmlJSRegisterContent & content,
const QString & var )
protected

Definition at line 2945 of file qqmljscodegenerator.cpp.

References QQmlJSScope::accessSemantics(), QQmlJSRegisterContent::containedType(), QQmlJSRegisterContent::descriptiveName(), QQmlSA::EnumScope, QQmlJSTypeResolver::equals(), QQmlJSScope::isListProperty(), QQmlJSTypeResolver::isNumeric(), QQmlJSTypeResolver::jsPrimitiveType(), QQmlJSCompilePass::m_typeResolver, metaType(), metaTypeFromType(), QQmlJSScope::nonCompositeBaseType(), reject(), QQmlJSRegisterContent::storedType(), var, and QQmlJSTypeResolver::varType().

Referenced by generate_LoadQmlContextPropertyLookup(), generate_Ret(), generate_SetLookup(), and generate_StoreNameSloppy().

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

◆ conversion() [1/2]

QString QQmlJSCodeGenerator::conversion ( const QQmlJSRegisterContent & from,
const QQmlJSRegisterContent & to,
const QString & variable )
protected

Definition at line 3878 of file qqmljscodegenerator.cpp.

References QString::arg(), QQmlJSTypeResolver::boolType(), QQmlJSRegisterContent::containedType(), conversion(), convertContained(), convertStored(), QQmlJSTypeResolver::equals(), QQmlJSScope::internalName(), QString::isEmpty(), QQmlJSTypeResolver::isIntegral(), QQmlJSTypeResolver::isNumeric(), QQmlJSTypeResolver::isPrimitive(), QQmlJSScope::isReferenceType(), QQmlJSTypeResolver::jsPrimitiveType(), QQmlJSCompilePass::m_typeResolver, QQmlJSTypeResolver::registerContains(), reject(), QQmlJSRegisterContent::storedType(), and QQmlJSTypeResolver::stringType().

Referenced by conversion(), convertContained(), generate_As(), generate_Construct(), generate_ConvertThisToObject(), generate_DefineObjectLiteral(), generate_Exp(), generate_IteratorNext(), generate_LoadConst(), generate_LoadElement(), generate_LoadFalse(), generate_LoadInt(), generate_LoadNull(), generate_LoadQmlContextPropertyLookup(), generate_LoadReg(), generate_LoadRuntimeString(), generate_LoadTrue(), generate_LoadUndefined(), generate_LoadZero(), generate_Mod(), generate_MoveConst(), generate_MoveReg(), generate_Ret(), generate_SetLookup(), generate_StoreElement(), generate_StoreReg(), generate_ThrowException(), and run().

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

◆ conversion() [2/2]

QString QQmlJSCodeGenerator::conversion ( const QQmlJSScope::ConstPtr & from,
const QQmlJSRegisterContent & to,
const QString & variable )
inlineprotected

Definition at line 216 of file qqmljscodegenerator_p.h.

References QQmlJSRegisterContent::containedType(), QQmlJSScope::isReferenceType(), and QQmlJSRegisterContent::storedType().

+ Here is the call graph for this function:

◆ convertContained()

QString QQmlJSCodeGenerator::convertContained ( const QQmlJSRegisterContent & from,
const QQmlJSRegisterContent & to,
const QString & variable )
protected

◆ convertStored()

QString QQmlJSCodeGenerator::convertStored ( const QQmlJSScope::ConstPtr & from,
const QQmlJSScope::ConstPtr & to,
const QString & variable )
protected

Definition at line 3926 of file qqmljscodegenerator.cpp.

References QQmlJSScope::accessSemantics(), addInclude(), QQmlJSTypeResolver::areEquivalentLists(), base, QQmlJSTypeResolver::boolType(), QQmlJSTypeResolver::byteArrayType(), QQmlJSTypeResolver::canPopulate(), convertStored(), QQmlJSTypeResolver::dateTimeType(), QQmlJSTypeResolver::dateType(), QQmlSA::EnumScope, QQmlJSTypeResolver::equals(), QQmlJSScope::extensionType(), QQmlJSTypeResolver::floatType(), QQmlJSTypeResolver::int16Type(), QQmlJSTypeResolver::int32Type(), QQmlJSTypeResolver::int64Type(), QQmlJSTypeResolver::int8Type(), QQmlJSScope::internalName(), QQmlJSScope::isComposite(), QString::isEmpty(), QQmlJSTypeResolver::isIntegral(), QQmlJSScope::isListProperty(), QQmlJSTypeResolver::isNumeric(), QQmlJSScope::isReferenceType(), QQmlJSTypeResolver::isSignedInteger(), QQmlJSTypeResolver::isUnsignedInteger(), QQmlJSTypeResolver::jsPrimitiveType(), QQmlJSTypeResolver::jsValueType(), QQmlJSTypeResolver::listPropertyType(), QQmlJSCompilePass::m_typeResolver, QQmlJSTypeResolver::nullType(), Q_ASSERT, QQmlJSTypeResolver::realType(), reject(), QQmlJSScope::AnnotatedScope::scope, QQmlJSTypeResolver::selectConstructor(), QQmlJSTypeResolver::stringType(), QQmlJSTypeResolver::timeType(), QQmlJSUtils::toLiteral(), QQmlJSTypeResolver::uint16Type(), QQmlJSTypeResolver::uint64Type(), QQmlJSTypeResolver::uint8Type(), QQmlJSTypeResolver::urlType(), QQmlJSScope::valueType(), QQmlJSTypeResolver::varType(), QQmlJSTypeResolver::voidType(), and zero.

Referenced by conversion(), convertStored(), generate_As(), generate_Construct(), generate_DefineObjectLiteral(), generate_JumpFalse(), generate_JumpTrue(), generate_LoadElement(), generate_Mod(), and run().

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

◆ endInstruction()

void QQmlJSCodeGenerator::endInstruction ( QV4::Moth::Instr::Type )
overrideprotectedvirtual

Implements QV4::Moth::ByteCodeHandler.

Definition at line 3357 of file qqmljscodegenerator.cpp.

◆ generate_Add()

void QQmlJSCodeGenerator::generate_Add ( int lhs)
overrideprotected

Definition at line 3153 of file qqmljscodegenerator.cpp.

References generate_Add(), and INJECT_TRACE_INFO.

Referenced by generate_Add().

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

◆ generate_As()

◆ generate_BitAnd()

void QQmlJSCodeGenerator::generate_BitAnd ( int lhs)
overrideprotected

Definition at line 3159 of file qqmljscodegenerator.cpp.

References generate_BitAnd(), and INJECT_TRACE_INFO.

Referenced by generate_BitAnd().

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

◆ generate_BitAndConst()

void QQmlJSCodeGenerator::generate_BitAndConst ( int rhs)
overrideprotected

Definition at line 3195 of file qqmljscodegenerator.cpp.

References generate_BitAndConst(), and INJECT_TRACE_INFO.

Referenced by generate_BitAndConst().

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

◆ generate_BitOr()

void QQmlJSCodeGenerator::generate_BitOr ( int lhs)
overrideprotected

Definition at line 3165 of file qqmljscodegenerator.cpp.

References generate_BitOr(), and INJECT_TRACE_INFO.

Referenced by generate_BitOr().

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

◆ generate_BitOrConst()

void QQmlJSCodeGenerator::generate_BitOrConst ( int rhs)
overrideprotected

Definition at line 3201 of file qqmljscodegenerator.cpp.

References generate_BitOrConst(), and INJECT_TRACE_INFO.

Referenced by generate_BitOrConst().

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

◆ generate_BitXor()

void QQmlJSCodeGenerator::generate_BitXor ( int lhs)
overrideprotected

Definition at line 3171 of file qqmljscodegenerator.cpp.

References generate_BitXor(), and INJECT_TRACE_INFO.

Referenced by generate_BitXor().

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

◆ generate_BitXorConst()

void QQmlJSCodeGenerator::generate_BitXorConst ( int rhs)
overrideprotected

Definition at line 3207 of file qqmljscodegenerator.cpp.

References generate_BitXorConst(), and INJECT_TRACE_INFO.

Referenced by generate_BitXorConst().

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

◆ generate_CallGlobalLookup()

void QQmlJSCodeGenerator::generate_CallGlobalLookup ( int index,
int argc,
int argv )
overrideprotected

Definition at line 2286 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_CallName()

void QQmlJSCodeGenerator::generate_CallName ( int name,
int argc,
int argv )
overrideprotected

Definition at line 2271 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_CallPossiblyDirectEval()

void QQmlJSCodeGenerator::generate_CallPossiblyDirectEval ( int argc,
int argv )
overrideprotected

Definition at line 2279 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CallProperty()

void QQmlJSCodeGenerator::generate_CallProperty ( int name,
int base,
int argc,
int argv )
overrideprotected

Definition at line 1772 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_CallPropertyLookup()

void QQmlJSCodeGenerator::generate_CallPropertyLookup ( int lookupIndex,
int base,
int argc,
int argv )
overrideprotected

◆ generate_CallQmlContextPropertyLookup()

void QQmlJSCodeGenerator::generate_CallQmlContextPropertyLookup ( int index,
int argc,
int argv )
overrideprotected

Definition at line 2294 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSTypeResolver::equals(), generate_CallQmlContextPropertyLookup(), generateLookup(), INJECT_TRACE_INFO, QQmlJSRegisterContent::JavaScriptReturnValue, QQmlJSTypeResolver::jsGlobalObject(), QV4::Compiler::JSUnitGenerator::lookupNameIndex(), m_body, QQmlJSCompilePass::m_jsUnitGenerator, m_state, QQmlJSCompilePass::m_typeResolver, QString::number(), reject(), QQmlJSRegisterContent::scopeType(), QV4::Compiler::JSUnitGenerator::stringForIndex(), and QQmlJSRegisterContent::variant().

Referenced by generate_CallQmlContextPropertyLookup().

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

◆ generate_CallValue()

void QQmlJSCodeGenerator::generate_CallValue ( int name,
int argc,
int argv )
overrideprotected

Definition at line 1755 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CallWithReceiver()

void QQmlJSCodeGenerator::generate_CallWithReceiver ( int name,
int thisObject,
int argc,
int argv )
overrideprotected

Definition at line 1763 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CallWithSpread()

void QQmlJSCodeGenerator::generate_CallWithSpread ( int func,
int thisObject,
int argc,
int argv )
overrideprotected

Definition at line 2326 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CheckException()

void QQmlJSCodeGenerator::generate_CheckException ( )
overrideprotected

Definition at line 2886 of file qqmljscodegenerator.cpp.

References generate_CheckException(), and INJECT_TRACE_INFO.

Referenced by generate_CheckException().

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

◆ generate_CloneBlockContext()

void QQmlJSCodeGenerator::generate_CloneBlockContext ( )
overrideprotected

Definition at line 2508 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_CmpEq()

void QQmlJSCodeGenerator::generate_CmpEq ( int lhs)
overrideprotected

Definition at line 2987 of file qqmljscodegenerator.cpp.

References generate_CmpEq(), INJECT_TRACE_INFO, registerType(), and registerVariable().

Referenced by generate_CmpEq().

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

◆ generate_CmpEqInt()

void QQmlJSCodeGenerator::generate_CmpEqInt ( int lhs)
overrideprotected

Definition at line 2971 of file qqmljscodegenerator.cpp.

References generate_CmpEqInt(), global, INJECT_TRACE_INFO, QQmlJSTypeResolver::int32Type(), QQmlJSCompilePass::m_typeResolver, and QString::number().

Referenced by generate_CmpEqInt().

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

◆ generate_CmpEqNull()

void QQmlJSCodeGenerator::generate_CmpEqNull ( )
overrideprotected

Definition at line 2893 of file qqmljscodegenerator.cpp.

References generate_CmpEqNull(), global, INJECT_TRACE_INFO, QQmlJSCompilePass::m_typeResolver, and QQmlJSTypeResolver::nullType().

Referenced by generate_CmpEqNull().

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

◆ generate_CmpGe()

void QQmlJSCodeGenerator::generate_CmpGe ( int lhs)
overrideprotected

Definition at line 3005 of file qqmljscodegenerator.cpp.

References generate_CmpGe(), and INJECT_TRACE_INFO.

Referenced by generate_CmpGe().

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

◆ generate_CmpGt()

void QQmlJSCodeGenerator::generate_CmpGt ( int lhs)
overrideprotected

Definition at line 2999 of file qqmljscodegenerator.cpp.

References generate_CmpGt(), and INJECT_TRACE_INFO.

Referenced by generate_CmpGt().

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

◆ generate_CmpIn()

void QQmlJSCodeGenerator::generate_CmpIn ( int lhs)
overrideprotected

Definition at line 3035 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_CmpInstanceOf()

void QQmlJSCodeGenerator::generate_CmpInstanceOf ( int lhs)
overrideprotected

Definition at line 3041 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CmpLe()

void QQmlJSCodeGenerator::generate_CmpLe ( int lhs)
overrideprotected

Definition at line 3017 of file qqmljscodegenerator.cpp.

References generate_CmpLe(), and INJECT_TRACE_INFO.

Referenced by generate_CmpLe().

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

◆ generate_CmpLt()

void QQmlJSCodeGenerator::generate_CmpLt ( int lhs)
overrideprotected

Definition at line 3011 of file qqmljscodegenerator.cpp.

References generate_CmpLt(), and INJECT_TRACE_INFO.

Referenced by generate_CmpLt().

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

◆ generate_CmpNe()

void QQmlJSCodeGenerator::generate_CmpNe ( int lhs)
overrideprotected

Definition at line 2993 of file qqmljscodegenerator.cpp.

References generate_CmpNe(), INJECT_TRACE_INFO, registerType(), and registerVariable().

Referenced by generate_CmpNe().

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

◆ generate_CmpNeInt()

void QQmlJSCodeGenerator::generate_CmpNeInt ( int lhs)
overrideprotected

Definition at line 2979 of file qqmljscodegenerator.cpp.

References generate_CmpNeInt(), global, INJECT_TRACE_INFO, QQmlJSTypeResolver::int32Type(), QQmlJSCompilePass::m_typeResolver, and QString::number().

Referenced by generate_CmpNeInt().

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

◆ generate_CmpNeNull()

void QQmlJSCodeGenerator::generate_CmpNeNull ( )
overrideprotected

Definition at line 2899 of file qqmljscodegenerator.cpp.

References global, INJECT_TRACE_INFO, QQmlJSCompilePass::m_typeResolver, and QQmlJSTypeResolver::nullType().

+ Here is the call graph for this function:

◆ generate_CmpStrictEqual()

void QQmlJSCodeGenerator::generate_CmpStrictEqual ( int lhs)
overrideprotected

Definition at line 3023 of file qqmljscodegenerator.cpp.

References generate_CmpStrictEqual(), INJECT_TRACE_INFO, registerType(), and registerVariable().

Referenced by generate_CmpStrictEqual().

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

◆ generate_CmpStrictNotEqual()

void QQmlJSCodeGenerator::generate_CmpStrictNotEqual ( int lhs)
overrideprotected

Definition at line 3029 of file qqmljscodegenerator.cpp.

References generate_CmpStrictNotEqual(), INJECT_TRACE_INFO, registerType(), and registerVariable().

Referenced by generate_CmpStrictNotEqual().

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

◆ generate_Construct()

◆ generate_ConstructWithSpread()

void QQmlJSCodeGenerator::generate_ConstructWithSpread ( int func,
int argc,
int argv )
overrideprotected

Definition at line 2426 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_ConvertThisToObject()

void QQmlJSCodeGenerator::generate_ConvertThisToObject ( )
overrideprotected

Definition at line 2821 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::changedRegister(), changedRegisterVariable(), conversion(), generate_ConvertThisToObject(), INJECT_TRACE_INFO, m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QQmlJSTypeResolver::qObjectType().

Referenced by generate_ConvertThisToObject().

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

◆ generate_CreateCallContext()

void QQmlJSCodeGenerator::generate_CreateCallContext ( )
overrideprotected

Definition at line 2483 of file qqmljscodegenerator.cpp.

References generate_CreateCallContext(), INJECT_TRACE_INFO, and m_body.

Referenced by generate_CreateCallContext().

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

◆ generate_CreateClass()

void QQmlJSCodeGenerator::generate_CreateClass ( int classIndex,
int heritage,
int computedNames )
overrideprotected

Definition at line 2797 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CreateMappedArgumentsObject()

void QQmlJSCodeGenerator::generate_CreateMappedArgumentsObject ( )
overrideprotected

Definition at line 2805 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_CreateRestParameter()

void QQmlJSCodeGenerator::generate_CreateRestParameter ( int argIndex)
overrideprotected

Definition at line 2815 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_CreateUnmappedArgumentsObject()

void QQmlJSCodeGenerator::generate_CreateUnmappedArgumentsObject ( )
overrideprotected

Definition at line 2810 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_DeadTemporalZoneCheck()

void QQmlJSCodeGenerator::generate_DeadTemporalZoneCheck ( int name)
overrideprotected

Definition at line 2452 of file qqmljscodegenerator.cpp.

References generate_DeadTemporalZoneCheck(), INJECT_TRACE_INFO, and Q_UNUSED.

Referenced by generate_DeadTemporalZoneCheck().

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

◆ generate_Debug()

void QQmlJSCodeGenerator::generate_Debug ( )
overrideprotected

Definition at line 390 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_DeclareVar()

void QQmlJSCodeGenerator::generate_DeclareVar ( int varName,
int isDeletable )
overrideprotected

Definition at line 2654 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_Decrement()

void QQmlJSCodeGenerator::generate_Decrement ( )
overrideprotected

Definition at line 3147 of file qqmljscodegenerator.cpp.

References generate_Decrement(), and INJECT_TRACE_INFO.

Referenced by generate_Decrement().

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

◆ generate_DefineArray()

void QQmlJSCodeGenerator::generate_DefineArray ( int argc,
int args )
overrideprotected

Definition at line 2661 of file qqmljscodegenerator.cpp.

References args, generate_DefineArray(), INJECT_TRACE_INFO, QQmlJS::DiagnosticMessage::isValid(), and QQmlJSCompilePass::m_error.

Referenced by generate_DefineArray().

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

◆ generate_DefineObjectLiteral()

void QQmlJSCodeGenerator::generate_DefineObjectLiteral ( int internalClassId,
int argc,
int args )
overrideprotected

Definition at line 2670 of file qqmljscodegenerator.cpp.

References QQmlJSScope::accessSemantics(), QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, arg, args, argument, QQmlJSScope::augmentedInternalName(), QQmlJSTypeResolver::canPopulate(), consumedRegisterVariable(), QQmlJSRegisterContent::containedType(), contentPointer(), conversion(), convertStored(), QQmlJSTypeResolver::equals(), QQmlJSScope::extensionType(), generate_DefineObjectLiteral(), global, i, INJECT_TRACE_INFO, QQmlJSScope::internalName(), QV4::Compiler::JSUnitGenerator::jsClassMember(), QV4::Compiler::JSUnitGenerator::jsClassSize(), QQmlJSTypeResolver::jsPrimitiveType(), m_body, QQmlJSCompilePass::m_jsUnitGenerator, m_state, QQmlJSCompilePass::m_typeResolver, metaObject(), metaType(), QString::number(), QQmlJSScope::property(), Q_ASSERT, QQmlJSCompilePass::State::readRegister(), QQmlJSTypeResolver::registerContains(), registerType(), registerVariable(), reject(), QQmlJSScope::AnnotatedScope::scope, QQmlJSRegisterContent::storedType(), QQmlJSTypeResolver::stringType(), QQmlJSUtils::toLiteral(), QQmlJSTypeResolver::variantMapType(), and QQmlJSTypeResolver::varType().

Referenced by generate_DefineObjectLiteral().

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

◆ generate_DeleteName()

void QQmlJSCodeGenerator::generate_DeleteName ( int name)
overrideprotected

Definition at line 2637 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_DeleteProperty()

void QQmlJSCodeGenerator::generate_DeleteProperty ( int base,
int index )
overrideprotected

Definition at line 2630 of file qqmljscodegenerator.cpp.

References base, BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_DestructureRestElement()

void QQmlJSCodeGenerator::generate_DestructureRestElement ( )
overrideprotected

Definition at line 2625 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_Div()

void QQmlJSCodeGenerator::generate_Div ( int lhs)
overrideprotected

Definition at line 3258 of file qqmljscodegenerator.cpp.

References generate_Div(), and INJECT_TRACE_INFO.

Referenced by generate_Div().

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

◆ generate_Exp()

void QQmlJSCodeGenerator::generate_Exp ( int lhs)
overrideprotected

Definition at line 3231 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, consumedAccumulatorVariableIn(), consumedRegisterVariable(), conversion(), generate_Exp(), INJECT_TRACE_INFO, QQmlJS::DiagnosticMessage::isValid(), m_body, QQmlJSCompilePass::m_error, m_state, Q_ASSERT, QQmlJSCompilePass::State::readAccumulator(), QQmlJSCompilePass::State::readRegister(), and registerType().

Referenced by generate_Exp().

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

◆ generate_GetException()

void QQmlJSCodeGenerator::generate_GetException ( )
overrideprotected

Definition at line 2473 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_GetIterator()

void QQmlJSCodeGenerator::generate_GetIterator ( int iterator)
overrideprotected

Definition at line 2532 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableIn, QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, addInclude(), consumedAccumulatorVariableIn(), QQmlJSTypeResolver::equals(), QQmlJSTypeResolver::forInIteratorPtr(), QQmlJSTypeResolver::forOfIteratorPtr(), generate_GetIterator(), QQmlJS::AST::In, INJECT_TRACE_INFO, QQmlJSRegisterContent::isList(), m_body, m_state, QQmlJSCompilePass::m_typeResolver, QString::number(), QQmlJS::AST::Of, and reject().

Referenced by generate_GetIterator().

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

◆ generate_GetLookup()

void QQmlJSCodeGenerator::generate_GetLookup ( int index)
overrideprotected

Definition at line 1327 of file qqmljscodegenerator.cpp.

References generate_GetLookup(), and INJECT_TRACE_INFO.

Referenced by generate_GetLookup().

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

◆ generate_GetOptionalLookup()

void QQmlJSCodeGenerator::generate_GetOptionalLookup ( int index,
int offset )
overrideprotected

◆ generate_GetTemplateObject()

void QQmlJSCodeGenerator::generate_GetTemplateObject ( int index)
overrideprotected

Definition at line 3302 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_Increment()

void QQmlJSCodeGenerator::generate_Increment ( )
overrideprotected

Definition at line 3141 of file qqmljscodegenerator.cpp.

References generate_Increment(), and INJECT_TRACE_INFO.

Referenced by generate_Increment().

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

◆ generate_InitializeBlockDeadTemporalZone()

void QQmlJSCodeGenerator::generate_InitializeBlockDeadTemporalZone ( int firstReg,
int count )
overrideprotected

Definition at line 3290 of file qqmljscodegenerator.cpp.

References Q_UNUSED.

◆ generate_IteratorClose()

void QQmlJSCodeGenerator::generate_IteratorClose ( )
overrideprotected

Definition at line 2620 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_IteratorNext()

void QQmlJSCodeGenerator::generate_IteratorNext ( int value,
int offset )
overrideprotected

◆ generate_IteratorNextForYieldStar()

void QQmlJSCodeGenerator::generate_IteratorNextForYieldStar ( int iterator,
int object,
int offset )
overrideprotected

Definition at line 2612 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_Jump()

void QQmlJSCodeGenerator::generate_Jump ( int offset)
overrideprotected

Definition at line 2841 of file qqmljscodegenerator.cpp.

References generate_Jump(), INJECT_TRACE_INFO, and resetState().

Referenced by generate_Jump().

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

◆ generate_JumpFalse()

void QQmlJSCodeGenerator::generate_JumpFalse ( int offset)
overrideprotected

Definition at line 2861 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableIn, QQmlJSTypeResolver::boolType(), convertStored(), generate_JumpFalse(), INJECT_TRACE_INFO, m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QQmlJSRegisterContent::storedType().

Referenced by generate_JumpFalse().

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

◆ generate_JumpNoException()

void QQmlJSCodeGenerator::generate_JumpNoException ( int offset)
overrideprotected

Definition at line 2872 of file qqmljscodegenerator.cpp.

References generate_JumpNoException(), INJECT_TRACE_INFO, and m_body.

Referenced by generate_JumpNoException().

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

◆ generate_JumpNotUndefined()

void QQmlJSCodeGenerator::generate_JumpNotUndefined ( int offset)
overrideprotected

Definition at line 2880 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_JumpTrue()

void QQmlJSCodeGenerator::generate_JumpTrue ( int offset)
overrideprotected

Definition at line 2850 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableIn, QQmlJSTypeResolver::boolType(), convertStored(), generate_JumpTrue(), INJECT_TRACE_INFO, m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QQmlJSRegisterContent::storedType().

Referenced by generate_JumpTrue().

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

◆ generate_LoadClosure()

void QQmlJSCodeGenerator::generate_LoadClosure ( int value)
overrideprotected

Definition at line 650 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_LoadConst()

void QQmlJSCodeGenerator::generate_LoadConst ( int index)
overrideprotected

◆ generate_LoadElement()

void QQmlJSCodeGenerator::generate_LoadElement ( int base)
overrideprotected

◆ generate_LoadFalse()

void QQmlJSCodeGenerator::generate_LoadFalse ( )
overrideprotected

Definition at line 479 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, QQmlJSTypeResolver::boolType(), conversion(), generate_LoadFalse(), INJECT_TRACE_INFO, m_body, m_state, and QQmlJSCompilePass::m_typeResolver.

Referenced by generate_LoadFalse().

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

◆ generate_LoadGlobalLookup()

void QQmlJSCodeGenerator::generate_LoadGlobalLookup ( int index)
overrideprotected

Definition at line 662 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, generate_LoadGlobalLookup(), generateLookup(), INJECT_TRACE_INFO, m_state, metaTypeFromType(), QString::number(), and QQmlJSRegisterContent::storedType().

Referenced by generate_LoadGlobalLookup().

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

◆ generate_LoadImport()

void QQmlJSCodeGenerator::generate_LoadImport ( int index)
overrideprotected

Definition at line 600 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_LoadInt()

void QQmlJSCodeGenerator::generate_LoadInt ( int value)
overrideprotected

Definition at line 509 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, conversion(), generate_LoadInt(), INJECT_TRACE_INFO, QQmlJSTypeResolver::int32Type(), m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QString::number().

Referenced by generate_LoadInt().

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

◆ generate_LoadLocal()

void QQmlJSCodeGenerator::generate_LoadLocal ( int index)
overrideprotected

Definition at line 606 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_LoadName()

void QQmlJSCodeGenerator::generate_LoadName ( int nameIndex)
overrideprotected

Definition at line 656 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_LoadNull()

void QQmlJSCodeGenerator::generate_LoadNull ( )
overrideprotected

Definition at line 489 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, conversion(), generate_LoadNull(), INJECT_TRACE_INFO, m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QQmlJSTypeResolver::nullType().

Referenced by generate_LoadNull().

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

◆ generate_LoadOptionalProperty()

void QQmlJSCodeGenerator::generate_LoadOptionalProperty ( int name,
int offset )
overrideprotected

Definition at line 913 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_LoadProperty()

void QQmlJSCodeGenerator::generate_LoadProperty ( int nameIndex)
overrideprotected

Definition at line 907 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_LoadQmlContextPropertyLookup()

◆ generate_LoadReg()

void QQmlJSCodeGenerator::generate_LoadReg ( int reg)
overrideprotected

Definition at line 558 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, consumedRegisterVariable(), conversion(), generate_LoadReg(), INJECT_TRACE_INFO, m_body, m_state, and registerType().

Referenced by generate_LoadReg().

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

◆ generate_LoadRuntimeString()

void QQmlJSCodeGenerator::generate_LoadRuntimeString ( int stringId)
overrideprotected

Definition at line 632 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, conversion(), generate_LoadRuntimeString(), INJECT_TRACE_INFO, m_body, QQmlJSCompilePass::m_jsUnitGenerator, m_state, QQmlJSCompilePass::m_typeResolver, QV4::Compiler::JSUnitGenerator::stringForIndex(), QQmlJSTypeResolver::stringType(), and QQmlJSUtils::toLiteral().

Referenced by generate_LoadRuntimeString().

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

◆ generate_LoadScopedLocal()

void QQmlJSCodeGenerator::generate_LoadScopedLocal ( int scope,
int index )
overrideprotected

Definition at line 618 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_LoadSuperConstructor()

void QQmlJSCodeGenerator::generate_LoadSuperConstructor ( )
overrideprotected

Definition at line 2831 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_LoadSuperProperty()

void QQmlJSCodeGenerator::generate_LoadSuperProperty ( int property)
overrideprotected

Definition at line 1682 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, property, and Q_UNUSED.

◆ generate_LoadTrue()

void QQmlJSCodeGenerator::generate_LoadTrue ( )
overrideprotected

Definition at line 469 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, QQmlJSTypeResolver::boolType(), conversion(), generate_LoadTrue(), INJECT_TRACE_INFO, m_body, m_state, and QQmlJSCompilePass::m_typeResolver.

Referenced by generate_LoadTrue().

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

◆ generate_LoadUndefined()

void QQmlJSCodeGenerator::generate_LoadUndefined ( )
overrideprotected

Definition at line 499 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, conversion(), generate_LoadUndefined(), INJECT_TRACE_INFO, m_body, m_state, QQmlJSCompilePass::m_typeResolver, and QQmlJSTypeResolver::voidType().

Referenced by generate_LoadUndefined().

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

◆ generate_LoadZero()

void QQmlJSCodeGenerator::generate_LoadZero ( )
overrideprotected

Definition at line 459 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, conversion(), generate_LoadZero(), INJECT_TRACE_INFO, QQmlJSTypeResolver::int32Type(), m_body, m_state, and QQmlJSCompilePass::m_typeResolver.

Referenced by generate_LoadZero().

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

◆ generate_Mod()

void QQmlJSCodeGenerator::generate_Mod ( int lhs)
overrideprotected

Definition at line 3264 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCompilePass::State::accumulatorOut(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableOut, consumedAccumulatorVariableIn(), consumedRegisterVariable(), conversion(), convertStored(), generate_Mod(), INJECT_TRACE_INFO, QQmlJS::DiagnosticMessage::isValid(), QQmlJSTypeResolver::jsPrimitiveType(), m_body, QQmlJSCompilePass::m_error, m_state, QQmlJSCompilePass::m_typeResolver, Q_ASSERT, registerType(), and QQmlJSRegisterContent::storedType().

Referenced by generate_Mod().

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

◆ generate_MoveConst()

void QQmlJSCodeGenerator::generate_MoveConst ( int constIndex,
int destTemp )
overrideprotected

Definition at line 520 of file qqmljscodegenerator.cpp.

References QQmlJSTypeResolver::boolType(), QQmlJSCompilePass::State::changedRegister(), QQmlJSCompilePass::State::changedRegisterIndex(), changedRegisterVariable(), QV4::Compiler::JSUnitGenerator::constant(), conversion(), QV4::StaticValue::fromReturnedValue(), generate_MoveConst(), INJECT_TRACE_INFO, QQmlJSTypeResolver::int32Type(), m_body, QQmlJSCompilePass::m_jsUnitGenerator, m_state, QQmlJSCompilePass::m_typeResolver, QQmlJSTypeResolver::nullType(), QString::number(), Q_ASSERT, QQmlJSTypeResolver::realType(), reject(), toNumericString(), var, and QQmlJSTypeResolver::voidType().

Referenced by generate_MoveConst().

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

◆ generate_MoveReg()

void QQmlJSCodeGenerator::generate_MoveReg ( int srcReg,
int destReg )
overrideprotected

Definition at line 585 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::changedRegister(), QQmlJSCompilePass::State::changedRegisterIndex(), changedRegisterVariable(), consumedRegisterVariable(), conversion(), generate_MoveReg(), INJECT_TRACE_INFO, m_body, m_state, Q_ASSERT, and registerType().

Referenced by generate_MoveReg().

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

◆ generate_MoveRegExp()

void QQmlJSCodeGenerator::generate_MoveRegExp ( int regExpId,
int destReg )
overrideprotected

Definition at line 643 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_Mul()

void QQmlJSCodeGenerator::generate_Mul ( int lhs)
overrideprotected

Definition at line 3252 of file qqmljscodegenerator.cpp.

References generate_Mul(), and INJECT_TRACE_INFO.

Referenced by generate_Mul().

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

◆ generate_PopContext()

void QQmlJSCodeGenerator::generate_PopContext ( )
overrideprotected

Definition at line 2524 of file qqmljscodegenerator.cpp.

References generate_PopContext(), INJECT_TRACE_INFO, and m_body.

Referenced by generate_PopContext().

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

◆ generate_PopScriptContext()

void QQmlJSCodeGenerator::generate_PopScriptContext ( )
overrideprotected

Definition at line 2519 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_PushBlockContext()

void QQmlJSCodeGenerator::generate_PushBlockContext ( int index)
overrideprotected

Definition at line 2502 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_PushCatchContext()

void QQmlJSCodeGenerator::generate_PushCatchContext ( int index,
int name )
overrideprotected

Definition at line 2490 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_PushScriptContext()

void QQmlJSCodeGenerator::generate_PushScriptContext ( int index)
overrideprotected

Definition at line 2513 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_PushWithContext()

void QQmlJSCodeGenerator::generate_PushWithContext ( )
overrideprotected

Definition at line 2497 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_Resume()

void QQmlJSCodeGenerator::generate_Resume ( int )
overrideprotected

Definition at line 1704 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_Ret()

◆ generate_SetException()

void QQmlJSCodeGenerator::generate_SetException ( )
overrideprotected

Definition at line 2478 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_SetLookup()

◆ generate_SetUnwindHandler()

void QQmlJSCodeGenerator::generate_SetUnwindHandler ( int offset)
overrideprotected

Definition at line 2434 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_Shl()

void QQmlJSCodeGenerator::generate_Shl ( int lhs)
overrideprotected

Definition at line 3189 of file qqmljscodegenerator.cpp.

References generate_Shl(), and INJECT_TRACE_INFO.

Referenced by generate_Shl().

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

◆ generate_ShlConst()

void QQmlJSCodeGenerator::generate_ShlConst ( int rhs)
overrideprotected

Definition at line 3225 of file qqmljscodegenerator.cpp.

References generate_ShlConst(), and INJECT_TRACE_INFO.

Referenced by generate_ShlConst().

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

◆ generate_Shr()

void QQmlJSCodeGenerator::generate_Shr ( int lhs)
overrideprotected

Definition at line 3183 of file qqmljscodegenerator.cpp.

References generate_Shr(), and INJECT_TRACE_INFO.

Referenced by generate_Shr().

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

◆ generate_ShrConst()

void QQmlJSCodeGenerator::generate_ShrConst ( int value)
overrideprotected

Definition at line 3219 of file qqmljscodegenerator.cpp.

References generate_ShrConst(), and INJECT_TRACE_INFO.

Referenced by generate_ShrConst().

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

◆ generate_StoreElement()

void QQmlJSCodeGenerator::generate_StoreElement ( int base,
int index )
overrideprotected

◆ generate_StoreLocal()

void QQmlJSCodeGenerator::generate_StoreLocal ( int index)
overrideprotected

Definition at line 612 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_StoreNameSloppy()

void QQmlJSCodeGenerator::generate_StoreNameSloppy ( int nameIndex)
overrideprotected

◆ generate_StoreNameStrict()

void QQmlJSCodeGenerator::generate_StoreNameStrict ( int name)
overrideprotected

Definition at line 760 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_StoreProperty()

void QQmlJSCodeGenerator::generate_StoreProperty ( int name,
int baseReg )
overrideprotected

Definition at line 1538 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_StoreReg()

void QQmlJSCodeGenerator::generate_StoreReg ( int reg)
overrideprotected

Definition at line 569 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCompilePass::State::changedRegister(), QQmlJSCompilePass::State::changedRegisterIndex(), changedRegisterVariable(), consumedAccumulatorVariableIn(), conversion(), generate_StoreReg(), INJECT_TRACE_INFO, QQmlJSRegisterContent::isValid(), m_body, m_state, Q_ASSERT, and var.

Referenced by generate_StoreReg().

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

◆ generate_StoreScopedLocal()

void QQmlJSCodeGenerator::generate_StoreScopedLocal ( int scope,
int index )
overrideprotected

Definition at line 625 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_StoreSuperProperty()

void QQmlJSCodeGenerator::generate_StoreSuperProperty ( int property)
overrideprotected

Definition at line 1688 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, property, and Q_UNUSED.

◆ generate_Sub()

void QQmlJSCodeGenerator::generate_Sub ( int lhs)
overrideprotected

Definition at line 3284 of file qqmljscodegenerator.cpp.

References generate_Sub(), and INJECT_TRACE_INFO.

Referenced by generate_Sub().

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

◆ generate_TailCall()

void QQmlJSCodeGenerator::generate_TailCall ( int func,
int thisObject,
int argc,
int argv )
overrideprotected

Definition at line 2335 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_ThrowException()

void QQmlJSCodeGenerator::generate_ThrowException ( )
overrideprotected

Definition at line 2460 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::accumulatorIn(), QQmlJSCodeGenerator::CodegenState::accumulatorVariableIn, conversion(), generate_ThrowException(), generateReturnError(), generateSetInstructionPointer(), global, INJECT_TRACE_INFO, QQmlJSTypeResolver::jsValueType(), m_body, m_state, QQmlJSCompilePass::m_typeResolver, and resetState().

Referenced by generate_ThrowException().

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

◆ generate_ThrowOnNullOrUndefined()

void QQmlJSCodeGenerator::generate_ThrowOnNullOrUndefined ( )
overrideprotected

Definition at line 3297 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_ToObject()

void QQmlJSCodeGenerator::generate_ToObject ( )
overrideprotected

Definition at line 2836 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_TypeofName()

void QQmlJSCodeGenerator::generate_TypeofName ( int name)
overrideprotected

Definition at line 2643 of file qqmljscodegenerator.cpp.

References Q_UNUSED, and reject().

+ Here is the call graph for this function:

◆ generate_TypeofValue()

void QQmlJSCodeGenerator::generate_TypeofValue ( )
overrideprotected

Definition at line 2649 of file qqmljscodegenerator.cpp.

References reject().

+ Here is the call graph for this function:

◆ generate_UCompl()

void QQmlJSCodeGenerator::generate_UCompl ( )
overrideprotected

Definition at line 3135 of file qqmljscodegenerator.cpp.

References generate_UCompl(), and INJECT_TRACE_INFO.

Referenced by generate_UCompl().

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

◆ generate_UMinus()

void QQmlJSCodeGenerator::generate_UMinus ( )
overrideprotected

Definition at line 3129 of file qqmljscodegenerator.cpp.

References generate_UMinus(), and INJECT_TRACE_INFO.

Referenced by generate_UMinus().

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

◆ generate_UNot()

void QQmlJSCodeGenerator::generate_UNot ( )
overrideprotected

Definition at line 3117 of file qqmljscodegenerator.cpp.

References generate_UNot(), and INJECT_TRACE_INFO.

Referenced by generate_UNot().

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

◆ generate_UnwindDispatch()

void QQmlJSCodeGenerator::generate_UnwindDispatch ( )
overrideprotected

Definition at line 2440 of file qqmljscodegenerator.cpp.

References reject().

+ Here is the call graph for this function:

◆ generate_UnwindToLabel()

void QQmlJSCodeGenerator::generate_UnwindToLabel ( int level,
int offset )
overrideprotected

Definition at line 2445 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED, and Q_UNUSED.

◆ generate_UPlus()

void QQmlJSCodeGenerator::generate_UPlus ( )
overrideprotected

Definition at line 3123 of file qqmljscodegenerator.cpp.

References generate_UPlus(), and INJECT_TRACE_INFO.

Referenced by generate_UPlus().

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

◆ generate_UShr()

void QQmlJSCodeGenerator::generate_UShr ( int lhs)
overrideprotected

Definition at line 3177 of file qqmljscodegenerator.cpp.

References INJECT_TRACE_INFO.

◆ generate_UShrConst()

void QQmlJSCodeGenerator::generate_UShrConst ( int rhs)
overrideprotected

Definition at line 3213 of file qqmljscodegenerator.cpp.

References generate_UShrConst(), and INJECT_TRACE_INFO.

Referenced by generate_UShrConst().

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

◆ generate_Yield()

void QQmlJSCodeGenerator::generate_Yield ( )
overrideprotected

Definition at line 1694 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generate_YieldStar()

void QQmlJSCodeGenerator::generate_YieldStar ( )
overrideprotected

Definition at line 1699 of file qqmljscodegenerator.cpp.

References BYTECODE_UNIMPLEMENTED.

◆ generateEnumLookup()

void QQmlJSCodeGenerator::generateEnumLookup ( int index)
protected

◆ generateLookup()

void QQmlJSCodeGenerator::generateLookup ( const QString & lookup,
const QString & initialization,
const QString & resultPreparation = QString() )
protected

Definition at line 3714 of file qqmljscodegenerator.cpp.

References generateSetInstructionPointer(), and m_body.

Referenced by generate_CallPropertyLookup(), generate_CallQmlContextPropertyLookup(), generate_LoadGlobalLookup(), generate_LoadQmlContextPropertyLookup(), generate_SetLookup(), and generateEnumLookup().

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

◆ generateReturnError()

void QQmlJSCodeGenerator::generateReturnError ( )
protected

Definition at line 280 of file qqmljscodegenerator.cpp.

References QQmlJSTypeResolver::equals(), m_body, QQmlJSCompilePass::m_function, QQmlJSCompilePass::m_typeResolver, metaType(), qScopeGuard(), QQmlJSTypeResolver::registerContains(), ret, QQmlJSCompilePass::Function::returnType, and QQmlJSTypeResolver::voidType().

Referenced by generate_Construct(), and generate_ThrowException().

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

◆ generateSetInstructionPointer()

void QQmlJSCodeGenerator::generateSetInstructionPointer ( )
protected

Definition at line 3363 of file qqmljscodegenerator.cpp.

References m_body, QV4::Moth::ByteCodeHandler::nextInstructionOffset(), and QString::number().

Referenced by generate_ThrowException(), and generateLookup().

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

◆ getLookupPreparation()

QString QQmlJSCodeGenerator::getLookupPreparation ( const QQmlJSRegisterContent & content,
const QString & var,
int lookup )
protected

Definition at line 2905 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::m_typeResolver, QString::number(), QQmlJSTypeResolver::registerContains(), QQmlJSRegisterContent::storedType(), var, and QQmlJSTypeResolver::varType().

Referenced by generate_LoadQmlContextPropertyLookup().

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

◆ lookupType()

QQmlJSRegisterContent QQmlJSCodeGenerator::lookupType ( int lookupIndex) const
protected

Definition at line 3863 of file qqmljscodegenerator.cpp.

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

Referenced by generate_LoadQmlContextPropertyLookup().

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

◆ lookupVariable()

QString QQmlJSCodeGenerator::lookupVariable ( int lookupIndex) const
protected

Definition at line 3815 of file qqmljscodegenerator.cpp.

References QHash< Key, T >::constBegin(), QHash< Key, T >::constEnd(), and it.

+ Here is the call graph for this function:

◆ metaObject()

QString QQmlJSCodeGenerator::metaObject ( const QQmlJSScope::ConstPtr & objectType)
protectedvirtual

Definition at line 92 of file qqmljscodegenerator.cpp.

References compositeMetaType(), QQmlJSScope::internalName(), QQmlJSScope::isComposite(), QQmlJSCompilePass::m_typeResolver, metaTypeFromName(), QQmlJSTypeResolver::nameForType(), and reject().

+ Here is the call graph for this function:

◆ metaType()

QString QQmlJSCodeGenerator::metaType ( const QQmlJSScope::ConstPtr & type)
protectedvirtual

Definition at line 110 of file qqmljscodegenerator.cpp.

References compositeListMetaType(), compositeMetaType(), QQmlJSTypeResolver::equals(), QQmlJSTypeResolver::genericType(), QQmlJSCompilePass::m_typeResolver, metaTypeFromName(), metaTypeFromType(), and QQmlJSTypeResolver::nameForType().

Referenced by contentType(), convertContained(), generate_As(), generate_DefineObjectLiteral(), generateReturnError(), and run().

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

◆ metaTypeFromName()

QString QQmlJSCodeGenerator::metaTypeFromName ( const QQmlJSScope::ConstPtr & type) const
protected

Definition at line 69 of file qqmljscodegenerator.cpp.

References QString::fromUtf8(), and QMetaObject::normalizedType().

Referenced by metaObject(), and metaType().

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

◆ metaTypeFromType()

QString QQmlJSCodeGenerator::metaTypeFromType ( const QQmlJSScope::ConstPtr & type) const
protected

Definition at line 64 of file qqmljscodegenerator.cpp.

Referenced by contentType(), generate_LoadGlobalLookup(), and metaType().

+ Here is the caller graph for this function:

◆ registerType()

QQmlJSRegisterContent QQmlJSCodeGenerator::registerType ( int index) const
protected

Definition at line 3854 of file qqmljscodegenerator.cpp.

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

Referenced by generate_CallPropertyLookup(), generate_CmpEq(), generate_CmpNe(), generate_CmpStrictEqual(), generate_CmpStrictNotEqual(), generate_Construct(), generate_DefineObjectLiteral(), generate_Exp(), generate_LoadElement(), generate_LoadReg(), generate_Mod(), generate_MoveReg(), generate_SetLookup(), generate_StoreElement(), and registerVariable().

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

◆ registerVariable()

QString QQmlJSCodeGenerator::registerVariable ( int index) const
protected

Definition at line 3801 of file qqmljscodegenerator.cpp.

References QHash< Key, T >::constEnd(), QHash< Key, T >::constFind(), internalName(), it, registerType(), QQmlJSRegisterContent::resultLookupIndex(), and QQmlJSRegisterContent::storedType().

Referenced by consumedRegisterVariable(), generate_As(), generate_CallPropertyLookup(), generate_CmpEq(), generate_CmpNe(), generate_CmpStrictEqual(), generate_CmpStrictNotEqual(), generate_Construct(), generate_DefineObjectLiteral(), generate_LoadElement(), generate_SetLookup(), and generate_StoreElement().

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

◆ reject()

◆ resetState()

void QQmlJSCodeGenerator::resetState ( )
inlineprotected

Definition at line 280 of file qqmljscodegenerator_p.h.

Referenced by generate_Jump(), generate_Ret(), and generate_ThrowException().

+ Here is the caller graph for this function:

◆ run()

◆ setLookupPreparation()

QString QQmlJSCodeGenerator::setLookupPreparation ( const QQmlJSRegisterContent & content,
const QString & arg,
int lookup )
protected

Definition at line 1545 of file qqmljscodegenerator.cpp.

References arg, QQmlJSCompilePass::m_typeResolver, QString::number(), QQmlJSTypeResolver::registerContains(), QQmlJSRegisterContent::storedType(), and QQmlJSTypeResolver::varType().

Referenced by generate_SetLookup().

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

◆ shouldMoveRegister()

bool QQmlJSCodeGenerator::shouldMoveRegister ( int index) const
protected

Definition at line 3872 of file qqmljscodegenerator.cpp.

References QQmlJSCompilePass::State::canMoveReadRegister(), QQmlJSTypeResolver::isTriviallyCopyable(), m_state, QQmlJSCompilePass::m_typeResolver, QQmlJSCompilePass::State::readRegister(), and QQmlJSRegisterContent::storedType().

Referenced by consumedAccumulatorVariableIn(), and consumedRegisterVariable().

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

◆ startInstruction()

Member Data Documentation

◆ m_body

◆ m_state


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