PandA-2024.02
|
struct definition of the function_type tree node. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(type_node) = 0, GETID =(type_node) = 0 } |
visitor enum More... | |
Public Types inherited from type_node | |
enum | { GETID =(tree_node) = 0, GETID =(tree_node) = 0, GETID =(tree_node) = 0, GETID =(tree_node) = 0 } |
visitor enum More... | |
Public Member Functions | |
function_type (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 type_node | |
type_node (unsigned int i) | |
constructor 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 | |
bool | varargs_flag |
varargs flag: tells if function is of varargs type More... | |
tree_nodeRef | retn |
retn field is the type of value returned. More... | |
tree_nodeRef | prms |
prms field is a list of types of arguments expected, this list is made of tree_list nodes. More... | |
Data Fields inherited from type_node | |
TreeVocabularyTokenTypes_TokenEnum | qual |
qual is the set of type qualifiers for this type. More... | |
tree_nodeRef | name |
name field contains info on the name used in the program for this type.It is either a TYPE_DECL node, for types that are typedefs, or an IDENTIFIER_NODE in the case of structs, unions or enums that are known with a tag, or zero for types that have no special name. More... | |
tree_nodeRef | unql |
unql field, in any member of such a chain, points to the start of the chain. More... | |
tree_nodeRef | size |
size field contains a tree that is an expression for the size in bits. More... | |
tree_nodeRef | scpe |
context/scope of the type object. More... | |
unsigned int | algn |
algn field is the alignment necessary for objects of this type. More... | |
bool | packed_flag |
Indicated that objects of this type should be laid out in as compact a way as possible. More... | |
bool | system_flag |
system flag: it's true when this is a system variable More... | |
bool | libbambu_flag |
it is true when this is a declared inside libbambu 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 function_type tree node.
Type of functions. Special fields: TREE_TYPE type of value returned. TYPE_ARG_TYPES list of types of arguments expected. this list is made of TREE_LIST nodes. Types of "Procedures" in languages where they are different from functions have code FUNCTION_TYPE also, but then TREE_TYPE is zero or void type. The tree walker structure of this node is: #(TOK_FUNCTION_TYPE type_node retn (prms)?)
Definition at line 2960 of file tree_node.hpp.
anonymous enum |
|
inlineexplicit |
constructor
Definition at line 2963 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 type_node.
Reimplemented in method_type.
Definition at line 841 of file tree_node.cpp.
References ALL_VISIT, function_decl::visit(), VISIT_MEMBER, and VISIT_SC.
tree_nodeRef function_type::prms |
prms field is a list of types of arguments expected, this list is made of tree_list nodes.
(macro TYPE_ARG_TYPES)
Definition at line 2981 of file tree_node.hpp.
Referenced by cannot_have_struct_parameters(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef function_type::retn |
retn field is the type of value returned.
(macro TREE_TYPE)
Definition at line 2974 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
bool function_type::varargs_flag |
varargs flag: tells if function is of varargs type
Definition at line 2968 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().