File

class File (abstract, physical)

source files we have one node per file and if needed several subnodes for the different “versions” of that file (includes with different macro settings) Note: if an include is effectively suppressed, e.g., because of an include guard or pragma once, there will be no “version” under the file node, and the include will tell about the suppressed include

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

End_Information, Physical_IR_Root, Toplevel_Node

Direct child classes:

Field

Kind

Type

Description

Full_Name

attribute

builtin String

e.g., /usr/include/sys/types.h; always normalized (realpath)

Versions

syntactic

set of class File_Contents

the different versions of this file

Messages

syntactic

set of class Build_Message

messages recorded from build tools

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

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