risc::InstanceTree Class Reference

#include <instance_tree.h>

List of all members.

Public Types

typedef std::pair< Class
*, Object * > 
Element
typedef std::list< ElementPath

Public Member Functions

 InstanceTree ()
 InstanceTree (const InstanceTree &other)
InstanceTree get_real_mapped_variable ()
 This function returns mapped variables for a reference. If the mapped variable is a global variable, the first scope pointer will be NULL.
std::list< InstanceTreefind_all_instances_of (SgVariableDefinition *var_def)
 This function returns all variables.
InstanceTree get_parent ()
 This function returns the parent variable of variable.
void print_instance_tree ()
 Prints the instance tree.
Classget_scope ()
 returns the scope of the object
Objectget_object ()
 returns the object
SgVariableSymbol * get_object_symbol ()
 returns the symbol of the object
void get_all_ports (std::list< InstanceTree > &occurence)
 returns all ports
void get_all_events (std::list< InstanceTree > &occurence)
 returns all events
Element pop_back ()
 Deletes the last element in the instance tree.
void push_back (Element ohs)
 Appends element ohs at the end of the list.
bool operator== (const InstanceTree &ohs)

Public Attributes

Path path_

Private Member Functions

void recursive_tree_walk (std::list< InstanceTree > &occurence, SgVariableDefinition *var_def)
 Iterates recursively over the tree and collects all matching objects.
SgVariableSymbol * get_mapped_reference (SgVariableSymbol *reference, SgClassDefinition *base_class_def, SgClassDefinition *parent_class_def, SgVariableDefinition *parent_member)
 This function determines the mapped variables symbol in the parent class. Only for internal use.

Member Typedef Documentation

typedef std::pair<Class*, Object*> risc::InstanceTree::Element
typedef std::list<Element> risc::InstanceTree::Path

Constructor & Destructor Documentation

risc::InstanceTree::InstanceTree (  ) 
risc::InstanceTree::InstanceTree ( const InstanceTree other  ) 

Member Function Documentation

std::list< risc::InstanceTree > risc::InstanceTree::find_all_instances_of ( SgVariableDefinition *  var_def  ) 

This function returns all variables.

find_all_instances_of

void risc::InstanceTree::get_all_events ( std::list< InstanceTree > &  occurence  ) 

returns all events

get_all_events

void risc::InstanceTree::get_all_ports ( std::list< InstanceTree > &  occurence  ) 

returns all ports

get_all_ports

SgVariableSymbol * risc::InstanceTree::get_mapped_reference ( SgVariableSymbol *  reference,
SgClassDefinition *  base_class_def,
SgClassDefinition *  parent_class_def,
SgVariableDefinition *  parent_member 
) [private]

This function determines the mapped variables symbol in the parent class. Only for internal use.

get_mapped_reference

risc::Object * risc::InstanceTree::get_object (  ) 

returns the object

get_object

SgVariableSymbol * risc::InstanceTree::get_object_symbol (  ) 

returns the symbol of the object

get_object_symbol

risc::InstanceTree risc::InstanceTree::get_parent (  ) 

This function returns the parent variable of variable.

get_parent

risc::InstanceTree risc::InstanceTree::get_real_mapped_variable (  ) 

This function returns mapped variables for a reference. If the mapped variable is a global variable, the first scope pointer will be NULL.

get_real_mapped_variable

risc::Class * risc::InstanceTree::get_scope (  ) 

returns the scope of the object

get_scope

bool risc::InstanceTree::operator== ( const InstanceTree ohs  ) 
risc::InstanceTree::Element risc::InstanceTree::pop_back (  ) 

Deletes the last element in the instance tree.

pop_back

void risc::InstanceTree::print_instance_tree (  ) 

Prints the instance tree.

print_instance_tree

void risc::InstanceTree::push_back ( Element  ohs  ) 

Appends element ohs at the end of the list.

push_back

void risc::InstanceTree::recursive_tree_walk ( std::list< InstanceTree > &  occurence,
SgVariableDefinition *  var_def 
) [private]

Iterates recursively over the tree and collects all matching objects.

recursive_tree_walk


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 30 Sep 2015 by  doxygen 1.6.1