PandA-2024.02
Public Types | Public Member Functions | Data Fields
binfo Struct Reference

This struct specifies the binfo node. More...

#include <tree_node.hpp>

Inheritance diagram for binfo:
Inheritance graph
[legend]
Collaboration diagram for binfo:
Collaboration graph
[legend]

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...
 

Detailed Description

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.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

visitor enum

Enumerator
GETID 
GETID 

Definition at line 1767 of file tree_node.hpp.

Constructor & Destructor Documentation

◆ binfo()

binfo::binfo ( unsigned int  i)
inlineexplicit

constructor

Definition at line 1716 of file tree_node.hpp.

Member Function Documentation

◆ add_access_binf()

void binfo::add_access_binf ( const tree_nodeRef binf,
TreeVocabularyTokenTypes_TokenEnum  access 
)

Add a pair <access, binf> to the list of access binf.

Parameters
binfis the binf.
accessis a token between PROTECTED, PRIVATE and PUBLIC

Definition at line 487 of file tree_node.cpp.

◆ get_base()

tree_nodeRef binfo::get_base ( size_t  i) const
inline

return the i-th element of baseinfo

Parameters
iis the index of baseinfo vector

Definition at line 1736 of file tree_node.hpp.

Referenced by tree_helper::look_for_binfo_inheritance().

Here is the caller graph for this function:

◆ get_baseinfo_size()

size_t binfo::get_baseinfo_size ( ) const
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().

Here is the caller graph for this function:

◆ visit()

void binfo::visit ( tree_node_visitor *const  v) const
overridevirtual

Redefinition of get_kind_text.

Redefinition of get_kind. virtual function used to traverse the tree_node data structure.

Parameters
vis 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.

Here is the call graph for this function:

Field Documentation

◆ bases

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().

◆ list_of_access_binf

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().

◆ type

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().

◆ virt_flag

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().


The documentation for this struct was generated from the following files:

Generated on Mon Feb 12 2024 13:03:45 for PandA-2024.02 by doxygen 1.8.13