Try_Catch_Finally_Statement

class Try_Catch_Finally_Statement (concrete, physical)

A try-catch-finally block for handling exceptions. First the try block is executed. If an exception is thrown, the catch block for handling it is dispatched. When the catch block is done or if none exists, the finally block is executed.

Direct parents:
Ancestor classes and implemented interfaces:

Linked_Node, Operation, Physical_IR_Root, Statement, Try_Statement

Field

Kind

Type

Description

Handlers

syntactic

list of class Catch_Block

the handling block/catch blocks

Finally_Block

syntactic

class Statement_Sequence

the finally block

Guarded_Block (from Try_Statement)

syntactic

class Statement_Sequence

the try block

Logical (from Linked_Node)

semantic to logical

class Logical_IR_Root

cross-reference into LIR

Parent (from Physical_IR_Root)

semantic

class Physical_IR_Root

The parent of the node in the syntactic forest.

Original_Position_Index (from Physical_IR_Root)

attribute

builtin SLoc_Index_Type

Internal source location info. If from macro expansion, this location is inside the macro body or macro argument

Original_Position (from Physical_IR_Root)

attribute

builtin SLoc

Source location. If from macro expansion, this location is inside the macro body or macro argument

Position (from Physical_IR_Root)

attribute

builtin SLoc

Source location. If from macro expansion, this location is that of the macro expansion

Artificial (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node was compiler-generated

Parenthesized (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node was enclosed in parentheses (used for expressions)

In_Template_Instance (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node is inside a template instance

Enclosing_Template_Instance (from Physical_IR_Root)

semantic

class Physical_IR_Root

Innermost enclosing template instance if In_Template_Instance is true