Ifdef

class Ifdef (concrete, physical)

the #ifdef of the C preprocessor

Implemented interfaces:
Direct parents:
Ancestor classes and implemented interfaces:

Conditional_Compilation, Conditional_Compilation_Interface, Declaration, End_Information, Ifdef_Ifndef_Interface, Ifdef_Interface, Linked_Node, Operation, Operation_Container, Physical_IR_Root

Field

Kind

Type

Description

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

Condition (from Ifdef_Ifndef_Interface)

syntactic

class Macro_Use

Else_Position (from Conditional_Compilation_Interface)

attribute

builtin SLoc

position of #else, if any (otherwise no_sloc). If from macro expansion, this location is that of the macro expansion

Original_Else_Position (from Conditional_Compilation_Interface)

attribute

builtin SLoc

position of #``else``, if any (otherwise no_sloc). If from macro expansion, this location is inside the macro body or macro argument

Original_Else_Position_Index (from Conditional_Compilation_Interface)

attribute

builtin SLoc_Index_Type

Internal index for position of #else, if any (otherwise no_sloc)

Condition_Value (from Conditional_Compilation_Interface)

attribute

builtin Boolean

Whether the condition evaluated to true

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