![]() |
Qt 6.x
The Qt SDK
|
#include <qv4codegen_p.h>
Collaboration diagram for QV4::Compiler::Codegen::Reference:Public Types | |
| enum | Type { Invalid , Accumulator , Super , SuperProperty , StackSlot , ScopedLocal , Name , Member , Subscript , Import , LastLValue = Import , Const } |
Public Attributes | ||
| enum QV4::Compiler::Codegen::Reference::Type | type = Invalid | |
| union { | ||
| Moth::StackSlot theStackSlot | ||
| QV4::ReturnedValue constant | ||
| struct { | ||
| int index | ||
| int scope | ||
| } | ||
| struct { | ||
| RValue propertyBase | ||
| int propertyNameIndex | ||
| } | ||
| struct { | ||
| Moth::StackSlot elementBase | ||
| union { | ||
| RValue elementSubscript | ||
| Moth::StackSlot element | ||
| } | ||
| } | ||
| Moth::StackSlot property | ||
| }; | ||
| QString | name | |
| Codegen * | codegen = nullptr | |
| quint32 | isArgOrEval:1 | |
| quint32 | isReadonly:1 | |
| quint32 | isReferenceToConst:1 | |
| quint32 | requiresTDZCheck:1 | |
| quint32 | subscriptRequiresTDZCheck:1 | |
| quint32 | stackSlotIsLocalOrArgument:1 | |
| quint32 | isVolatile:1 | |
| quint32 | global:1 | |
| quint32 | qmlGlobal:1 | |
| quint32 | throwsReferenceError:1 | |
| quint32 | subscriptLoadedForCall:1 | |
| QQmlJS::SourceLocation | sourceLocation = QQmlJS::SourceLocation() | |
| QSharedPointer< Moth::BytecodeGenerator::Label > | optionalChainJumpLabel | |
| QSharedPointer< Moth::BytecodeGenerator::Label > | optionalChainTargetLabel | |
Definition at line 156 of file qv4codegen_p.h.
| Enumerator | |
|---|---|
| Invalid | |
| Accumulator | |
| Super | |
| SuperProperty | |
| StackSlot | |
| ScopedLocal | |
| Name | |
| Member | |
| Subscript | |
| Import | |
| LastLValue | |
| Const | |
Definition at line 157 of file qv4codegen_p.h.
Definition at line 174 of file qv4codegen_p.h.
Definition at line 180 of file qv4codegen_p.h.
|
default |
|
default |
| Codegen::Reference Codegen::Reference::asLValue | ( | ) | const |
Definition at line 4367 of file qv4codegen.cpp.
References elementSubscript, Invalid, propertyBase, QStringLiteral, and QV4::Compiler::Codegen::RValue::storeOnStack().
Referenced by QV4::Compiler::Codegen::referenceForPropertyName(), QV4::Compiler::Codegen::targetForPatternElement(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:| Codegen::RValue Codegen::Reference::asRValue | ( | ) | const |
Definition at line 4350 of file qv4codegen.cpp.
References QQmlJS::AST::Const, constant(), QV4::Compiler::Codegen::RValue::fromAccumulator(), QV4::Compiler::Codegen::RValue::fromConst(), QV4::Compiler::Codegen::RValue::fromStackSlot(), and Invalid.
Referenced by fromMember(), and fromSubscript().
Here is the call graph for this function:
Here is the caller graph for this function:| Codegen::Reference Codegen::Reference::baseObject | ( | ) | const |
Definition at line 4401 of file qv4codegen.cpp.
References QV4::Compiler::Codegen::RValue::constantValue(), fromAccumulator(), fromConst(), fromStackSlot(), QV4::Compiler::Codegen::RValue::isAccumulator(), QV4::Compiler::Codegen::RValue::isConst(), QV4::Compiler::Codegen::RValue::isStackSlot(), QV4::Compiler::Codegen::RValue::isValid(), Member, QV4::Compiler::Codegen::RValue::stackSlot(), Subscript, SuperProperty, QV4::CallData::This, and QV4::Encode::undefined().
Here is the call graph for this function:Definition at line 226 of file qv4codegen_p.h.
Referenced by baseObject(), QV4::Compiler::Codegen::binopHelper(), QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::handleTaggedTemplate(), QV4::Compiler::Codegen::RValue::storeOnStack(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 289 of file qv4codegen_p.h.
References constant().
Referenced by baseObject(), QV4::Compiler::Codegen::binopHelper(), QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::loadClosure(), QV4::Compiler::Codegen::RValue::loadInAccumulator(), loadInAccumulator(), QV4::Compiler::Codegen::pushArgs(), QV4::Compiler::Codegen::statementList(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::variableDeclaration(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 246 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::referenceForName().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 257 of file qv4codegen_p.h.
References asRValue(), codegen, isValid(), Q_ASSERT, QV4::Compiler::Codegen::registerString(), and requiresTDZCheck.
Referenced by QV4::Compiler::Codegen::referenceForPropertyName(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 251 of file qv4codegen_p.h.
Referenced by QV4::Compiler::ControlFlowCatch::~ControlFlowCatch(), and QV4::Compiler::Codegen::referenceForName().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 240 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::referenceForName(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 232 of file qv4codegen_p.h.
References QV4::Compiler::Codegen::bytecodeGenerator, and QV4::Moth::BytecodeGenerator::newRegister().
Referenced by QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), baseObject(), QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::RValue::loadInAccumulator(), QV4::Compiler::Codegen::referenceForName(), storeRetainAccumulator(), QV4::Compiler::Codegen::targetForPatternElement(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 279 of file qv4codegen_p.h.
References asRValue(), codegen, isStackSlot(), Q_ASSERT, requiresTDZCheck, and stackSlot().
Referenced by QV4::Compiler::Codegen::referenceForPropertyName(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 229 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 272 of file qv4codegen_p.h.
References property, and Q_ASSERT.
Referenced by QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:Definition at line 295 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inline |
Definition at line 218 of file qv4codegen_p.h.
|
inline |
Definition at line 217 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::unop().
Here is the caller graph for this function:
|
inline |
Definition at line 172 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::targetForPatternElement(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inline |
Definition at line 222 of file qv4codegen_p.h.
|
inline |
Definition at line 221 of file qv4codegen_p.h.
Referenced by fromSubscript(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inline |
Definition at line 219 of file qv4codegen_p.h.
|
inline |
Definition at line 220 of file qv4codegen_p.h.
|
inline |
Definition at line 205 of file qv4codegen_p.h.
References Invalid.
Referenced by fromMember(), and QV4::Compiler::Codegen::initializeAndDestructureBindingElement().
Here is the caller graph for this function:| void Codegen::Reference::loadInAccumulator | ( | ) | const |
Definition at line 4596 of file qv4codegen.cpp.
References QQmlJS::AST::Const, constant(), d, fromConst(), QV4::StaticValue::fromReturnedValue(), global, i, Invalid, jump(), load(), loadInAccumulator(), QV4::Compiler::JSUnitGenerator::LookupForStorage, QV4::Encode::null(), property, qInf(), qQNaN(), QStringLiteral, QT_WARNING_DISABLE_GCC, QT_WARNING_POP, QT_WARNING_PUSH, QV4::StaticValue::toInt32(), and QV4::Encode::undefined().
Referenced by QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::emitReturn(), QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), QV4::Compiler::Codegen::loadClosure(), QV4::Compiler::Codegen::RValue::loadInAccumulator(), loadInAccumulator(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::variableDeclaration(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 206 of file qv4codegen_p.h.
|
inline |
Definition at line 323 of file qv4codegen_p.h.
References Q_ASSERT.
Referenced by QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inline |
Definition at line 202 of file qv4codegen_p.h.
References other().
Here is the call graph for this function:| bool Codegen::Reference::operator== | ( | const Reference & | other | ) | const |
Definition at line 4318 of file qv4codegen.cpp.
References QQmlJS::AST::Const, constant(), Invalid, and other().
Here is the call graph for this function:
|
inline |
Definition at line 328 of file qv4codegen_p.h.
References Q_UNLIKELY.
Referenced by QV4::Compiler::Codegen::destructureElementList(), fromSubscript(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::handleTaggedTemplate(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 307 of file qv4codegen_p.h.
References constant(), and storeOnStack().
Referenced by QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::RValue::storeOnStack(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 310 of file qv4codegen_p.h.
References constant().
Here is the call graph for this function:| Codegen::Reference Codegen::Reference::storeConsumeAccumulator | ( | ) | const |
Definition at line 4395 of file qv4codegen.cpp.
Referenced by QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::Context::emitBlockHeader(), QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), QV4::Compiler::Codegen::variableDeclaration(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:| Codegen::Reference Codegen::Reference::storeOnStack | ( | ) | const |
Definition at line 4423 of file qv4codegen.cpp.
Referenced by QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::emitReturn(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::handleTaggedTemplate(), QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), QV4::Compiler::Codegen::pushArgs(), QV4::Compiler::Codegen::referenceForPropertyName(), QV4::Compiler::Codegen::statementList(), storeConstOnStack(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:| void Codegen::Reference::storeOnStack | ( | int | tempIndex | ) | const |
Definition at line 4426 of file qv4codegen.cpp.
| Codegen::Reference Codegen::Reference::storeRetainAccumulator | ( | ) | const |
Definition at line 4480 of file qv4codegen.cpp.
References fromStackSlot().
Referenced by QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Here is the call graph for this function:
Here is the caller graph for this function:| bool Codegen::Reference::storeWipesAccumulator | ( | ) | const |
Definition at line 4495 of file qv4codegen.cpp.
References QQmlJS::AST::Const, and Invalid.
|
inline |
Definition at line 334 of file qv4codegen_p.h.
| union { ... } QV4::Compiler::Codegen::Reference |
Definition at line 363 of file qv4codegen_p.h.
Referenced by fromMember(), and fromSubscript().
| QV4::ReturnedValue QV4::Compiler::Codegen::Reference::constant |
Definition at line 344 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::unop().
| Moth::StackSlot QV4::Compiler::Codegen::Reference::element |
Definition at line 357 of file qv4codegen_p.h.
| Moth::StackSlot QV4::Compiler::Codegen::Reference::elementBase |
Definition at line 354 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
| RValue QV4::Compiler::Codegen::Reference::elementSubscript |
Definition at line 356 of file qv4codegen_p.h.
Referenced by asLValue(), and QV4::Compiler::Codegen::visit().
| quint32 QV4::Compiler::Codegen::Reference::global |
Definition at line 372 of file qv4codegen_p.h.
| int QV4::Compiler::Codegen::Reference::index |
Definition at line 346 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::isArgOrEval |
Definition at line 365 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::isReadonly |
Definition at line 366 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::isReferenceToConst |
Definition at line 367 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), and QV4::Compiler::Codegen::visit().
| quint32 QV4::Compiler::Codegen::Reference::isVolatile |
Definition at line 371 of file qv4codegen_p.h.
| QString QV4::Compiler::Codegen::Reference::name |
Definition at line 362 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::Result::clearResultName(), and QV4::Compiler::Codegen::defineFunction().
| QSharedPointer<Moth::BytecodeGenerator::Label> QV4::Compiler::Codegen::Reference::optionalChainJumpLabel |
Definition at line 377 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
| QSharedPointer<Moth::BytecodeGenerator::Label> QV4::Compiler::Codegen::Reference::optionalChainTargetLabel |
Definition at line 378 of file qv4codegen_p.h.
| Moth::StackSlot QV4::Compiler::Codegen::Reference::property |
Definition at line 360 of file qv4codegen_p.h.
| RValue QV4::Compiler::Codegen::Reference::propertyBase |
Definition at line 350 of file qv4codegen_p.h.
Referenced by asLValue(), and QV4::Compiler::Codegen::visit().
| int QV4::Compiler::Codegen::Reference::propertyNameIndex |
Definition at line 351 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
| quint32 QV4::Compiler::Codegen::Reference::qmlGlobal |
Definition at line 373 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::requiresTDZCheck |
Definition at line 368 of file qv4codegen_p.h.
Referenced by fromMember(), and fromSubscript().
| int QV4::Compiler::Codegen::Reference::scope |
Definition at line 347 of file qv4codegen_p.h.
| QQmlJS::SourceLocation QV4::Compiler::Codegen::Reference::sourceLocation = QQmlJS::SourceLocation() |
Definition at line 376 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::stackSlotIsLocalOrArgument |
Definition at line 370 of file qv4codegen_p.h.
Referenced by QV4::Compiler::Codegen::visit().
| quint32 QV4::Compiler::Codegen::Reference::subscriptLoadedForCall |
Definition at line 375 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::subscriptRequiresTDZCheck |
Definition at line 369 of file qv4codegen_p.h.
| Moth::StackSlot QV4::Compiler::Codegen::Reference::theStackSlot |
Definition at line 343 of file qv4codegen_p.h.
| quint32 QV4::Compiler::Codegen::Reference::throwsReferenceError |
Definition at line 374 of file qv4codegen_p.h.
| enum QV4::Compiler::Codegen::Reference::Type QV4::Compiler::Codegen::Reference::type = Invalid |
Referenced by QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().