![]() |
Qt 6.x
The Qt SDK
|
#include <qv4compilercontrolflow_p.h>
Inheritance diagram for QV4::Compiler::ControlFlow:
Collaboration diagram for QV4::Compiler::ControlFlow: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().
Here is the caller graph for this function:
|
inlineprotectedvirtual |
Reimplemented in QV4::Compiler::ControlFlowLoop.
Definition at line 96 of file qv4compilercontrolflow_p.h.
Referenced by unwindTarget().
Here is the caller graph for this function:
|
inline |
Definition at line 85 of file qv4compilercontrolflow_p.h.
References Loop, parent, and type.
Referenced by QV4::Compiler::Codegen::statementList().
Here is the caller graph for this function:
|
inlinevirtual |
Reimplemented in QV4::Compiler::ControlFlowLoop.
Definition at line 83 of file qv4compilercontrolflow_p.h.
Referenced by loopLabel(), and QV4::Compiler::Codegen::visit().
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 114 of file qv4compilercontrolflow_p.h.
References QV4::Compiler::Codegen::_labelledStatement, cg, label(), QQmlJS::AST::LabelledStatement::label, and QStringView::toString().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().