Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::kernel::TryFinallyBlock Class Reference

#include <kernel_to_il.h>

Public Member Functions

 TryFinallyBlock (FlowGraphBuilder *builder, intptr_t finalizer_kernel_offset)
 
 ~TryFinallyBlock ()
 
TryFinallyBlockouter () const
 
intptr_t finalizer_kernel_offset () const
 
intptr_t context_depth () const
 
intptr_t try_index () const
 
const ProgramStatestate () const
 

Detailed Description

Definition at line 795 of file kernel_to_il.h.

Constructor & Destructor Documentation

◆ TryFinallyBlock()

dart::kernel::TryFinallyBlock::TryFinallyBlock ( FlowGraphBuilder builder,
intptr_t  finalizer_kernel_offset 
)
inline

Definition at line 797 of file kernel_to_il.h.

798 : builder_(builder),
799 outer_(builder->try_finally_block_),
800 finalizer_kernel_offset_(finalizer_kernel_offset),
801 context_depth_(builder->context_depth_),
802 try_index_(builder_->CurrentTryIndex()),
803 // Finalizers are executed outside of the try block hence
804 // try depth of finalizers are one less than current try
805 // depth. For others, program state is snapshot of current.
806 state_(builder_->breakable_block_,
807 builder_->switch_block_,
808 builder_->loop_depth_,
809 builder_->try_depth_ - 1,
810 builder_->catch_depth_,
811 builder_->block_expression_depth_) {
812 builder_->try_finally_block_ = this;
813 }
intptr_t finalizer_kernel_offset() const

◆ ~TryFinallyBlock()

dart::kernel::TryFinallyBlock::~TryFinallyBlock ( )
inline

Definition at line 814 of file kernel_to_il.h.

814{ builder_->try_finally_block_ = outer_; }

Member Function Documentation

◆ context_depth()

intptr_t dart::kernel::TryFinallyBlock::context_depth ( ) const
inline

Definition at line 818 of file kernel_to_il.h.

818{ return context_depth_; }

◆ finalizer_kernel_offset()

intptr_t dart::kernel::TryFinallyBlock::finalizer_kernel_offset ( ) const
inline

Definition at line 817 of file kernel_to_il.h.

817{ return finalizer_kernel_offset_; }

◆ outer()

TryFinallyBlock * dart::kernel::TryFinallyBlock::outer ( ) const
inline

Definition at line 816 of file kernel_to_il.h.

816{ return outer_; }

◆ state()

const ProgramState & dart::kernel::TryFinallyBlock::state ( ) const
inline

Definition at line 820 of file kernel_to_il.h.

820{ return state_; }

◆ try_index()

intptr_t dart::kernel::TryFinallyBlock::try_index ( ) const
inline

Definition at line 819 of file kernel_to_il.h.

819{ return try_index_; }

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