![]() |
Qt 6.x
The Qt SDK
|
#include <qv4compilercontrolflow_p.h>
Public Member Functions | |
ControlFlowFinally (Codegen *cg, QQmlJS::AST::Finally *finally) | |
virtual bool | requiresUnwind () override |
BytecodeGenerator::ExceptionHandler * | unwindHandler () override |
~ControlFlowFinally () | |
![]() | |
ControlFlowUnwind (Codegen *cg, Type type) | |
void | setupUnwindHandler () |
void | emitUnwindHandler () |
virtual BytecodeGenerator::ExceptionHandler * | unwindHandler () override |
![]() | |
ControlFlow (Codegen *cg, Type type) | |
virtual | ~ControlFlow () |
UnwindTarget | unwindTarget (UnwindType type, const QString &label=QString()) |
virtual QString | label () const |
bool | hasLoop () const |
BytecodeGenerator::ExceptionHandler * | parentUnwindHandler () |
virtual BytecodeGenerator::ExceptionHandler * | unwindHandler () |
Public Attributes | |
QQmlJS::AST::Finally * | finally |
bool | insideFinally = false |
![]() | |
BytecodeGenerator::ExceptionHandler | unwindLabel |
![]() | |
Codegen * | cg |
ControlFlow * | parent |
Type | type |
Additional Inherited Members | |
![]() | |
enum | Type { Loop , With , Block , Finally , Catch } |
enum | UnwindType { Break , Continue , Return } |
using | Reference = Codegen::Reference |
using | BytecodeGenerator = Moth::BytecodeGenerator |
using | Instruction = Moth::Instruction |
![]() | |
virtual BytecodeGenerator::Label | getUnwindTarget (UnwindType, const QString &=QString()) |
virtual bool | requiresUnwind () |
QString | loopLabel () const |
BytecodeGenerator * | generator () const |
Definition at line 336 of file qv4compilercontrolflow_p.h.
|
inline |
Definition at line 341 of file qv4compilercontrolflow_p.h.
References QV4::Compiler::ControlFlow::generator(), Q_ASSERT, QV4::Moth::BytecodeGenerator::setUnwindHandler(), QV4::Compiler::ControlFlowUnwind::setupUnwindHandler(), and QV4::Compiler::ControlFlowUnwind::unwindLabel.
|
inline |
Definition at line 357 of file qv4compilercontrolflow_p.h.
References QV4::Compiler::Codegen::_returnAddress, QV4::Moth::BytecodeGenerator::addInstruction(), QV4::Compiler::ControlFlow::cg, QV4::Compiler::ControlFlowUnwind::emitUnwindHandler(), finally, QV4::Compiler::Codegen::Reference::fromStackSlot(), QV4::Compiler::ControlFlow::generator(), insideFinally, QV4::Moth::BytecodeGenerator::Label::link(), QV4::Compiler::Codegen::Reference::loadInAccumulator(), QV4::Moth::BytecodeGenerator::newRegister(), QV4::Compiler::ControlFlow::parentUnwindHandler(), QV4::Compiler::Codegen::requiresReturnValue, QV4::Moth::BytecodeGenerator::setUnwindHandler(), QV4::Compiler::Codegen::statement(), QQmlJS::AST::Finally::statement, QV4::Compiler::Codegen::Reference::storeConsumeAccumulator(), and QV4::Compiler::ControlFlowUnwind::unwindLabel.
|
inlineoverridevirtual |
Reimplemented from QV4::Compiler::ControlFlow.
Definition at line 349 of file qv4compilercontrolflow_p.h.
References insideFinally.
|
inlineoverridevirtual |
Reimplemented from QV4::Compiler::ControlFlowUnwind.
Definition at line 353 of file qv4compilercontrolflow_p.h.
References insideFinally, QV4::Compiler::ControlFlow::parentUnwindHandler(), and QV4::Compiler::ControlFlowUnwind::unwindHandler().
QQmlJS::AST::Finally* QV4::Compiler::ControlFlowFinally::finally |
Definition at line 338 of file qv4compilercontrolflow_p.h.
Referenced by ~ControlFlowFinally().
bool QV4::Compiler::ControlFlowFinally::insideFinally = false |
Definition at line 339 of file qv4compilercontrolflow_p.h.
Referenced by ~ControlFlowFinally(), requiresUnwind(), and unwindHandler().