Friend_Type_Declaration¶
- class Friend_Type_Declaration (concrete, physical)¶
Structs, unions, and classes can be friends. The friend declaration can also use typedefs or specify template arguments. Unlike friend routines, we represent this not with a decorated declaration but with a normal type selection.
- Direct parents:
inherits Friend_Declaration
- Ancestor classes and implemented interfaces:
Declaration, Friend_Declaration, Linked_Node, Operation, Physical_IR_Root
Field
Kind
Type
Description
The_Type
syntactic
interface Possibly_Attributed_Type_Interface
Selection of the friend type.
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