![]() |
PandA-2024.02
|
This struct specifies the binfo node. More...
#include <tree_node.hpp>


Public Types | |
| enum | { GETID =(tree_node) = 0, GETID =(tree_node) = 0 } |
| visitor enum More... | |
Public Member Functions | |
| binfo (unsigned int i) | |
| constructor More... | |
| tree_nodeRef | get_base (size_t i) const |
| return the i-th element of baseinfo More... | |
| size_t | get_baseinfo_size () const |
| return the size of baseinfo vector More... | |
| void | add_access_binf (const tree_nodeRef &binf, TreeVocabularyTokenTypes_TokenEnum access) |
| Add a pair <access, binf> to the list of access binf. More... | |
| void | visit (tree_node_visitor *const v) const override |
| Redefinition of get_kind_text. 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 | type |
| type field is the actual data type node being inherited in this basetype.(BINFO_TYPE) More... | |
| bool | virt_flag |
| virt_flag is true if the node is a virtual declaration (macro TREE_VIA_VIRTUAL) More... | |
| int | bases |
| The number of basetypes for NODE. More... | |
| std::vector< std::pair< TreeVocabularyTokenTypes_TokenEnum, tree_nodeRef > > | list_of_access_binf |
| is the list of pair access binf: baseinfo vector. 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... | |
This struct specifies the binfo node.
The tree walker structure of this node is: #(TOK_BINFO (type)? (TOK_VIRT)? (baseinfo)*
Definition at line 1713 of file tree_node.hpp.
| anonymous enum |
|
inlineexplicit |
constructor
Definition at line 1716 of file tree_node.hpp.
| void binfo::add_access_binf | ( | const tree_nodeRef & | binf, |
| TreeVocabularyTokenTypes_TokenEnum | access | ||
| ) |
Add a pair <access, binf> to the list of access binf.
| binf | is the binf. |
| access | is a token between PROTECTED, PRIVATE and PUBLIC |
Definition at line 487 of file tree_node.cpp.
|
inline |
return the i-th element of baseinfo
| i | is the index of baseinfo vector |
Definition at line 1736 of file tree_node.hpp.
Referenced by tree_helper::look_for_binfo_inheritance().

|
inline |
return the size of baseinfo vector
Definition at line 1742 of file tree_node.hpp.
References GET_KIND, and GET_KIND_TEXT.
Referenced by tree_helper::look_for_binfo_inheritance().

|
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 tree_node.
Definition at line 474 of file tree_node.cpp.
References ALL_VISIT, test_panda::type, type_node::visit(), VISIT_MEMBER, VISIT_MEMBER_NAMED, and VISIT_SC.

| int binfo::bases |
The number of basetypes for NODE.
Definition at line 1727 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| std::vector<std::pair<TreeVocabularyTokenTypes_TokenEnum, tree_nodeRef> > binfo::list_of_access_binf |
is the list of pair access binf: baseinfo vector.
Definition at line 1730 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| tree_nodeRef binfo::type |
type field is the actual data type node being inherited in this basetype.(BINFO_TYPE)
Definition at line 1721 of file tree_node.hpp.
Referenced by tree_helper::look_for_binfo_inheritance(), and raw_writer::write_when_not_null_point_to().
| bool binfo::virt_flag |
virt_flag is true if the node is a virtual declaration (macro TREE_VIA_VIRTUAL)
Definition at line 1724 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
1.8.13