PandA-2024.02
|
struct definition of the template_decl tree node. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(decl_node) = 0, GETID =(decl_node) = 0, GETID =(decl_node) = 0, GETID =(decl_node) = 0, GETID =(decl_node) = 0 } |
visitor enum More... | |
Public Types inherited from decl_node | |
enum | { GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0 } |
visitor enum More... | |
Public Member Functions | |
template_decl (unsigned int i) | |
constructor More... | |
void | visit (tree_node_visitor *const v) const override |
Redefinition of get_kind_text. More... | |
Public Member Functions inherited from decl_node | |
decl_node (unsigned int i) | |
Constructor. More... | |
Public Member Functions inherited from srcp | |
srcp () | |
constructor More... | |
virtual | ~srcp () |
Destructor. More... | |
Public Member Functions inherited from tree_node | |
tree_node (unsigned int i) | |
Constructor. More... | |
virtual | ~tree_node ()=default |
Destructor. More... | |
virtual enum kind | get_kind () const =0 |
Virtual function returning the type of the actual class. More... | |
virtual std::string | get_kind_text () const =0 |
Virtual function returning the name of the actual class. More... | |
std::string | ToString () const |
Print this node as string in gimple format. More... | |
Data Fields | |
tree_nodeRef | rslt |
rslt is null for struct templates and declaration for object to be created for non-struct templates More... | |
tree_nodeRef | inst |
inst field holds the template instantiation vector. More... | |
tree_nodeRef | spcs |
prms field holds the specialization parameters vector. More... | |
tree_nodeRef | prms |
prms field holds the template parameters vector. More... | |
Data Fields inherited from decl_node | |
tree_nodeRef | name |
name field contains an identifier_node used to represent a name. More... | |
tree_nodeRef | mngl |
mngl field contains the name of the object as the assembler will see it. More... | |
tree_nodeRef | orig |
For any sort of a ..._DECL node, this points to the original (abstract) decl node which this decl is an instance of, or else it is NULL indicating that this decl is not an instance of some other decl. More... | |
tree_nodeRef | type |
type field holds the data type of the object, when relevant. More... | |
tree_nodeRef | scpe |
scope declaration More... | |
tree_nodeRef | attributes |
bool | artificial_flag |
artificial_flag field is used to indicate that this decl_node represents a compiler-generated entity. More... | |
bool | packed_flag |
Indicates this field should be bit-packed. More... | |
bool | operating_system_flag |
operating system flag: it's true when this is a variable of operating system library More... | |
bool | library_system_flag |
library system flag: it's true when this is a variable of a standard library (e.g libmath) More... | |
bool | libbambu_flag |
it is true when this is a declared inside libbambu More... | |
tree_nodeRef | chan |
chan field: the decls in one binding context are chained through this field. More... | |
bool | C_flag |
is true when the declaration has the C attribute More... | |
unsigned int | uid |
The uid. More... | |
Data Fields inherited from srcp | |
std::string | include_name |
include_name is a filename string, this can be the location of a reference, if no definition has been seen. More... | |
unsigned int | line_number |
line_number holds a line number. More... | |
unsigned int | column_number |
column_number holds the column number. More... | |
Data Fields inherited from tree_node | |
const unsigned int | index |
Represent the index read from the raw file and the index-1 of the vector of tree_node associated to the functions vector present in the tree_manager. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from tree_node | |
static enum kind | get_kind (const std::string &name) |
Given a string, return the corresponding kind. More... | |
static std::string | GetString (const enum kind k) |
Given a kind, return the corresponding string. More... | |
struct definition of the template_decl tree node.
The tree walker structure of this node is: #(TOK_TEMPLATE_DECL decl_node (rslt)? (inst)? (spcs)? (prms)?)
Definition at line 4993 of file tree_node.hpp.
anonymous enum |
|
inlineexplicit |
constructor
Definition at line 4996 of file tree_node.hpp.
|
overridevirtual |
Redefinition of get_kind_text.
Redefinition of get_kind. virtual function used to traverse the tree_node data structure.
v | is a reference to the tree_node visitor class |
Reimplemented from decl_node.
Definition at line 1440 of file tree_node.cpp.
References ALL_VISIT, ssa_name::visit(), VISIT_MEMBER, and VISIT_SC.
tree_nodeRef template_decl::inst |
inst field holds the template instantiation vector.
Definition at line 5006 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef template_decl::prms |
prms field holds the template parameters vector.
Definition at line 5012 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef template_decl::rslt |
rslt is null for struct templates and declaration for object to be created for non-struct templates
Definition at line 5003 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef template_decl::spcs |
prms field holds the specialization parameters vector.
Definition at line 5009 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().