Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4::Compiler::ControlFlowCatch Struct Reference

#include <qv4compilercontrolflow_p.h>

Inheritance diagram for QV4::Compiler::ControlFlowCatch:
Collaboration diagram for QV4::Compiler::ControlFlowCatch:

Public Member Functions

 ControlFlowCatch (Codegen *cg, QQmlJS::AST::Catch *catchExpression)
virtual bool requiresUnwind () override
BytecodeGenerator::ExceptionHandler * unwindHandler () override
 ~ControlFlowCatch ()
Public Member Functions inherited from QV4::Compiler::ControlFlowUnwind
 ControlFlowUnwind (Codegen *cg, Type type)
void setupUnwindHandler ()
void emitUnwindHandler ()
Public Member Functions inherited from QV4::Compiler::ControlFlow
 ControlFlow (Codegen *cg, Type type)
virtual ~ControlFlow ()
UnwindTarget unwindTarget (UnwindType type, const QString &label=QString())
virtual QString label () const
bool hasLoop () const
BytecodeGenerator::ExceptionHandlerparentUnwindHandler ()

Public Attributes

QQmlJS::AST::CatchcatchExpression
bool insideCatch = false
BytecodeGenerator::ExceptionHandler exceptionLabel
Public Attributes inherited from QV4::Compiler::ControlFlowUnwind
BytecodeGenerator::ExceptionHandler unwindLabel
Public Attributes inherited from QV4::Compiler::ControlFlow
Codegencg
ControlFlowparent
Type type

Additional Inherited Members

Public Types inherited from QV4::Compiler::ControlFlow
enum  Type {
  Loop , With , Block , Finally ,
  Catch
}
enum  UnwindType { Break , Continue , Return }
using Reference = Codegen::Reference
using BytecodeGenerator = Moth::BytecodeGenerator
using Instruction = Moth::Instruction
Protected Member Functions inherited from QV4::Compiler::ControlFlow
virtual BytecodeGenerator::Label getUnwindTarget (UnwindType, const QString &=QString())
QString loopLabel () const
BytecodeGeneratorgenerator () const

Detailed Description

Definition at line 278 of file qv4compilercontrolflow_p.h.

Constructor & Destructor Documentation

◆ ControlFlowCatch()

QV4::Compiler::ControlFlowCatch::ControlFlowCatch ( Codegen * cg,
QQmlJS::AST::Catch * catchExpression )
inline

Definition at line 284 of file qv4compilercontrolflow_p.h.

References ControlFlowCatch(), and QV4::Compiler::ControlFlow::Catch.

Referenced by ControlFlowCatch().

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

◆ ~ControlFlowCatch()

QV4::Compiler::ControlFlowCatch::~ControlFlowCatch ( )
inline

Definition at line 299 of file qv4compilercontrolflow_p.h.

References QV4::Compiler::ControlFlowUnwind::emitUnwindHandler(), insideCatch, and QV4::Compiler::ControlFlowUnwind::setupUnwindHandler().

Here is the call graph for this function:

Member Function Documentation

◆ requiresUnwind()

virtual bool QV4::Compiler::ControlFlowCatch::requiresUnwind ( )
inlineoverridevirtual

Reimplemented from QV4::Compiler::ControlFlow.

Definition at line 291 of file qv4compilercontrolflow_p.h.

◆ unwindHandler()

BytecodeGenerator::ExceptionHandler * QV4::Compiler::ControlFlowCatch::unwindHandler ( )
inlineoverridevirtual

Reimplemented from QV4::Compiler::ControlFlowUnwind.

Definition at line 295 of file qv4compilercontrolflow_p.h.

Member Data Documentation

◆ catchExpression

QQmlJS::AST::Catch* QV4::Compiler::ControlFlowCatch::catchExpression

Definition at line 280 of file qv4compilercontrolflow_p.h.

◆ exceptionLabel

BytecodeGenerator::ExceptionHandler QV4::Compiler::ControlFlowCatch::exceptionLabel

Definition at line 282 of file qv4compilercontrolflow_p.h.

◆ insideCatch

bool QV4::Compiler::ControlFlowCatch::insideCatch = false

Definition at line 281 of file qv4compilercontrolflow_p.h.

Referenced by ~ControlFlowCatch().


The documentation for this struct was generated from the following file: