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:
implements End_Information
- Direct parents:
inherits Toplevel_Node
- Ancestor classes and implemented interfaces:
- Direct child classes:
subclass Included_File
subclass Primary_File
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