Coroutine_Statement_Sequence

class Coroutine_Statement_Sequence (concrete, physical)

C++20 coroutine function body

Direct parents:
Ancestor classes and implemented interfaces:

End_Information, General_Statement_Sequence, Linked_Node, Logical_Code_Range_Interface, Operation, Operation_Container, Physical_IR_Root, Statement

Field

Kind

Type

Description

New_Operator

semantic to logical

interface Operator_Interface

operator new for allocating the coroutine state

New_Operator_Declaration

semantic

interface Routine_Interface

operator new declaration, may be null for built-in operator

Delete_Operator

semantic to logical

interface Operator_Interface

operator delete for deallocating the coroutine state

Delete_Operator_Declaration

semantic

interface Routine_Interface

operator delete declaration, may be null for built-in operator

Initial_Suspend_Declaration

semantic

interface Routine_Interface

Final_Suspend_Declaration

semantic

interface Routine_Interface

Unhandled_Exception_Declaration

semantic

interface Routine_Interface

Get_Return_Object_Declaration

semantic

interface Routine_Interface

Alloc_Failure_Get_Return_Object_Declaration

semantic

interface Static_Method_Interface

Has_Return_Void

attribute

builtin Boolean

Has_Function_Try

attribute

builtin Boolean

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

Code_Start (from Logical_Code_Range_Interface)

semantic to logical

class Execution_Node

Start of the LIR code belonging to this statement. If set to an instruction, that instruction is part of the code range. If set to a block, the code range begins with the tail jump of that block, but does not include the block’s code. Use is_inside_code_range() to determine if an instruction is between Code_Start and Code_End.

Code_End (from Logical_Code_Range_Interface)

semantic to logical

class Execution_Node

If set to an instruction, it is the first instruction after those belonging to the code range belonging to this statement. If set to a block, the code range includes all instructions in that block but not the block’s tail jump. In other words: A block is used to refer to the “instruction-after-last” in that block; all instructions between Code_Start (inclusive) to Code_End (exclusive) belong to the code range. If Code_Start==Code_End, then the statement did not emit any LIR instructions.

Children (from Operation_Container)

syntactic

set of class Physical_IR_Root

Original_End_Position_Index (from End_Information)

attribute

builtin SLoc_Index_Type

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

Original_End_Position (from End_Information)

attribute

builtin SLoc

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

End_Position (from End_Information)

attribute

builtin SLoc

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