![]() |
Qt 6.x
The Qt SDK
|
#include <qv4compilercontrolflow_p.h>
Classes | |
struct | UnwindTarget |
Public Types | |
enum | Type { Loop , With , Block , Finally , Catch } |
enum | UnwindType { Break , Continue , Return } |
using | Reference = Codegen::Reference |
using | BytecodeGenerator = Moth::BytecodeGenerator |
using | Instruction = Moth::Instruction |
Public Member Functions | |
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 | |
Codegen * | cg |
ControlFlow * | parent |
Type | type |
Protected Member Functions | |
virtual BytecodeGenerator::Label | getUnwindTarget (UnwindType, const QString &=QString()) |
virtual bool | requiresUnwind () |
QString | loopLabel () const |
BytecodeGenerator * | generator () const |
Definition at line 27 of file qv4compilercontrolflow_p.h.
Definition at line 29 of file qv4compilercontrolflow_p.h.
Definition at line 30 of file qv4compilercontrolflow_p.h.
Definition at line 28 of file qv4compilercontrolflow_p.h.
Enumerator | |
---|---|
Loop | |
With | |
Block | |
Finally | |
Catch |
Definition at line 32 of file qv4compilercontrolflow_p.h.
Enumerator | |
---|---|
Break | |
Continue | |
Return |
Definition at line 40 of file qv4compilercontrolflow_p.h.
Definition at line 55 of file qv4compilercontrolflow_p.h.
References cg, and QV4::Compiler::Codegen::controlFlow.
|
inlinevirtual |
Definition at line 61 of file qv4compilercontrolflow_p.h.
References cg, QV4::Compiler::Codegen::controlFlow, and parent.
|
inlineprotected |
Definition at line 122 of file qv4compilercontrolflow_p.h.
References QV4::Compiler::Codegen::bytecodeGenerator, and cg.
Referenced by QV4::Compiler::ControlFlowBlock::ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::ControlFlowFinally(), QV4::Compiler::ControlFlowUnwindCleanup::ControlFlowUnwindCleanup(), QV4::Compiler::ControlFlowWith::ControlFlowWith(), QV4::Compiler::ControlFlowBlock::~ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::~ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::ControlFlowUnwindCleanup::~ControlFlowUnwindCleanup(), QV4::Compiler::ControlFlowWith::~ControlFlowWith(), QV4::Compiler::ControlFlowUnwind::emitUnwindHandler(), and QV4::Compiler::ControlFlowUnwind::setupUnwindHandler().
|
inlineprotectedvirtual |
Reimplemented in QV4::Compiler::ControlFlowLoop.
Definition at line 96 of file qv4compilercontrolflow_p.h.
Referenced by unwindTarget().
|
inline |
Definition at line 85 of file qv4compilercontrolflow_p.h.
References Loop, parent, and type.
Referenced by QV4::Compiler::Codegen::statementList().
|
inlinevirtual |
Reimplemented in QV4::Compiler::ControlFlowLoop.
Definition at line 83 of file qv4compilercontrolflow_p.h.
Referenced by loopLabel(), and QV4::Compiler::Codegen::visit().
|
inlineprotected |
Definition at line 114 of file qv4compilercontrolflow_p.h.
References QV4::Compiler::Codegen::_labelledStatement, cg, label(), QQmlJS::AST::LabelledStatement::label, and QStringView::toString().
|
inline |
Definition at line 104 of file qv4compilercontrolflow_p.h.
References parent, and unwindHandler().
Referenced by QV4::Compiler::ControlFlowBlock::~ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::~ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::ControlFlowUnwindCleanup::~ControlFlowUnwindCleanup(), QV4::Compiler::ControlFlowWith::~ControlFlowWith(), unwindHandler(), QV4::Compiler::ControlFlowUnwind::unwindHandler(), and QV4::Compiler::ControlFlowFinally::unwindHandler().
|
inlineprotectedvirtual |
Reimplemented in QV4::Compiler::ControlFlowUnwindCleanup, QV4::Compiler::ControlFlowWith, QV4::Compiler::ControlFlowBlock, QV4::Compiler::ControlFlowCatch, and QV4::Compiler::ControlFlowFinally.
Definition at line 99 of file qv4compilercontrolflow_p.h.
Referenced by QV4::Compiler::ControlFlowUnwind::emitUnwindHandler(), and unwindTarget().
|
inlinevirtual |
Reimplemented in QV4::Compiler::ControlFlowUnwind, QV4::Compiler::ControlFlowCatch, and QV4::Compiler::ControlFlowFinally.
Definition at line 108 of file qv4compilercontrolflow_p.h.
References parentUnwindHandler().
Referenced by parentUnwindHandler().
|
inline |
Definition at line 65 of file qv4compilercontrolflow_p.h.
References Break, cg, Continue, getUnwindTarget(), QV4::Moth::BytecodeGenerator::Label::isValid(), parent, Q_ASSERT, requiresUnwind(), Return, and QV4::Compiler::Codegen::returnLabel().
Referenced by QV4::Compiler::Codegen::emitReturn(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Codegen* QV4::Compiler::ControlFlow::cg |
Definition at line 51 of file qv4compilercontrolflow_p.h.
Referenced by ControlFlow(), QV4::Compiler::ControlFlowBlock::ControlFlowBlock(), ~ControlFlow(), QV4::Compiler::ControlFlowBlock::~ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::~ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), generator(), loopLabel(), and unwindTarget().
ControlFlow* QV4::Compiler::ControlFlow::parent |
Definition at line 52 of file qv4compilercontrolflow_p.h.
Referenced by ~ControlFlow(), hasLoop(), parentUnwindHandler(), unwindTarget(), and QV4::Compiler::Codegen::visit().
Type QV4::Compiler::ControlFlow::type |
Definition at line 53 of file qv4compilercontrolflow_p.h.
Referenced by hasLoop().