Cpp_Attribute

class Cpp_Attribute (concrete, physical)

[[...]] attributes introduced in C++11

Direct parents:
Ancestor classes and implemented interfaces:

Attribute, Declaration, Linked_Node, Named_Entity_Interface, Operation, Physical_IR_Root, Unmanaged_Attribute

Field

Kind

Type

Description

Namespace

attribute

builtin String

The namespace of the attribute.

Is_Pack_Expansion

attribute

builtin Boolean

Whether the attribute is followed by ... indicating a template parameter pack expansion.

Arguments (from Unmanaged_Attribute)

syntactic

list of class Attribute_Argument

Attribute arguments.

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

Name (from Named_Entity_Interface)

attribute

builtin String