Routine_Type_Definition¶
- class Routine_Type_Definition (abstract, physical)¶
- Implemented interfaces:
implements Throw_Interface
implements Parameter_List_Interface
- Direct parents:
inherits In_Place_Type_Composition
- Ancestor classes and implemented interfaces:
Declaration, Definition, In_Place_Type_Composition, Linked_Node, Operation, Parameter_List_Interface, Physical_IR_Root, Possibly_Attributed_Type_Interface, Throw_Interface, Type_Definition, Type_Interface, Unnamed_Type_Definition
- Direct child classes:
subclass Function_Type_Definition
subclass Method_Type_Definition
Field
Kind
Type
Description
Return_Type
syntactic
interface Possibly_Attributed_Type_Interface
It’s syntactic because the type may be defined in-place in case of C structs; in the more usual semantic case, the child will be a Type_Selection node
Attributes
attribute
bitfield Physical_Routine_Attributes_Type
Bitfield of flags like is_const, has_void_param etc.
Calling_Convention
attribute
Calling convention that was syntactically present.
Logical (from Linked_Node)
semantic to logical
class Routine_Type
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
Throws (from Throw_Interface)
syntactic
list of class Exception_Type_Specification
Parameters (from Parameter_List_Interface)
syntactic
list of class Possibly_Attributed_Parameter_Interface
All parameters, including the ellipsis, but excluding
thisUsually some Parameter_Definitions, but could also be an Attributed_Definition. Useskip_decorators()to get the parameter itself.