All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
risc::HierarchicalChannelInstance Class Reference

#include <hierarchical_channel_instance.h>

Inheritance diagram for risc::HierarchicalChannelInstance:
Inheritance graph
Collaboration diagram for risc::HierarchicalChannelInstance:
Collaboration graph

Public Types

enum  Type {
  CThreadType, ChannelType, ChannelInstanceType, ClassType,
  DefinitionType, EventType, FunctionType, HierarchicalChannelType,
  HierarchicalChannelInstanceType, InOutPortType, InPortType, InstanceType,
  InterfaceType, MethodType, ModuleType, ModuleInstanceType,
  ObjectType, OutPortType, PortType, PrimitiveChannelType,
  PrimitiveChannelInstanceType, ThreadType, VariableType, SocketType,
  InitiatorSocketType, TargetSocketType
}
 We are using these enums to identify type type of and instance or definition during traversal. More...
 

Public Member Functions

 HierarchicalChannelInstance (SgVariableDefinition *ast_node, HierarchicalChannel *ir_def)
 default constructor More...
 
virtual HierarchicalChannelget_definition ()
 returns this associated definition of the hierarchical channel instance More...
 
void add_mapping (Port *port, Object *object)
 This is a helper functio to add a mapping. More...
 
void add_socket_mapping (Socket *socket_from, Socket *socket_to)
 This is a helper functio to add a mapping. More...
 
void add_backward_socket_mapping (Socket *socket_from, Socket *socket_to)
 This is a helper functio to add a mapping. More...
 
std::string get_instance_qualified_name ()
 return the qualified name of the module instance for example: ::top::prod_inst More...
 
virtual std::string get_ast_type_name ()
 Get function for the name of the ast type of the module instance. More...
 
SgVariableDefinition * get_ast_node ()
 Returns the ast definition of the object. More...
 
bool is_array ()
 checks if this object is an array More...
 
bool is_reference ()
 checks if this object is a reference More...
 
bool is_pointer ()
 checks if this object is a pointer More...
 
virtual std::string get_name ()
 Get function for the name of the module instance variable. More...
 
SgVariableSymbol * get_symbol ()
 return the symbol of the object More...
 
virtual SgType * get_ast_type ()
 Returns the type of the ast node. More...
 
bool has_source_location ()
 Determines if a ast node has an associated ast node. More...
 
std::string get_file_name ()
 Get the name of the file where the declaration is located. More...
 
int get_line_number ()
 Get the line number of the instance. More...
 
int get_position_in_line ()
 Get the position of the in declaration in the corresponding line In other words the column in the line. More...
 

Public Attributes

std::map< Port *, Object * > mapping_
 
std::map< Socket *, Socket * > socket_mapping_
 
std::map< Socket *, Socket * > backward_socket_mapping_
 
unsigned int number_of_array_elements_
 
Type type_
 
SgNode * ast_node_
 
SgType * ast_type_pointer_
 

Private Member Functions

 HierarchicalChannelInstance (const HierarchicalChannelInstance &hci)
 Disabled copy constructor. More...
 

Private Attributes

HierarchicalChannelchannel_definition_
 This pointer points to the corresponding definition in the internal representation. More...
 

Member Enumeration Documentation

enum risc::Definition::Type
inherited

We are using these enums to identify type type of and instance or definition during traversal.

Enumerator
CThreadType 
ChannelType 
ChannelInstanceType 
ClassType 
DefinitionType 
EventType 
FunctionType 
HierarchicalChannelType 
HierarchicalChannelInstanceType 
InOutPortType 
InPortType 
InstanceType 
InterfaceType 
MethodType 
ModuleType 
ModuleInstanceType 
ObjectType 
OutPortType 
PortType 
PrimitiveChannelType 
PrimitiveChannelInstanceType 
ThreadType 
VariableType 
SocketType 
InitiatorSocketType 
TargetSocketType 

Constructor & Destructor Documentation

risc::HierarchicalChannelInstance::HierarchicalChannelInstance ( SgVariableDefinition *  ast_node,
HierarchicalChannel ir_def 
)
explicit

default constructor

Parameters
ast_nodeassociated definition node in the ast
ir_definternal definition pointer of the instance
risc::HierarchicalChannelInstance::HierarchicalChannelInstance ( const HierarchicalChannelInstance hci)
private

Disabled copy constructor.

Member Function Documentation

risc::ModuleInstance::add_backward_socket_mapping ( Socket socket_from,
Socket socket_to 
)
inherited

This is a helper functio to add a mapping.

risc::ModuleInstance::add_mapping ( Port port,
Object object 
)
inherited

This is a helper functio to add a mapping.

risc::ModuleInstance::add_socket_mapping ( Socket socket_from,
Socket socket_to 
)
inherited

This is a helper functio to add a mapping.

SgVariableDefinition * risc::Object::get_ast_node ( )
virtualinherited

Returns the ast definition of the object.

Returns
Pointer to the definition

Reimplemented from risc::Definition.

SgType * risc::Definition::get_ast_type ( )
virtualinherited

Returns the type of the ast node.

std::string risc::Instance::get_ast_type_name ( )
virtualinherited

Get function for the name of the ast type of the module instance.

Returns
Name as std::string

Reimplemented from risc::Definition.

Reimplemented in risc::PrimitiveChannelInstance.

risc::HierarchicalChannelInstance::get_definition ( )
virtual

returns this associated definition of the hierarchical channel instance

Reimplemented from risc::ModuleInstance.

std::string risc::Definition::get_file_name ( )
inherited

Get the name of the file where the declaration is located.

Returns
filename
risc::ModuleInstance::get_instance_qualified_name ( )
inherited

return the qualified name of the module instance for example: ::top::prod_inst

int risc::Definition::get_line_number ( )
inherited

Get the line number of the instance.

Returns
line number
std::string risc::Object::get_name ( )
virtualinherited

Get function for the name of the module instance variable.

Returns
Name as std::string

Reimplemented from risc::Definition.

int risc::Definition::get_position_in_line ( )
inherited

Get the position of the in declaration in the corresponding line In other words the column in the line.

Returns
position in line
risc::Object::get_symbol ( )
inherited

return the symbol of the object

bool risc::Definition::has_source_location ( )
inherited

Determines if a ast node has an associated ast node.

bool risc::Object::is_array ( )
inherited

checks if this object is an array

bool risc::Object::is_pointer ( )
inherited

checks if this object is a pointer

bool risc::Object::is_reference ( )
inherited

checks if this object is a reference

Member Data Documentation

SgNode* risc::Definition::ast_node_
inherited
SgType* risc::Definition::ast_type_pointer_
inherited
std::map<Socket*, Socket*> risc::ModuleInstance::backward_socket_mapping_
inherited
HierarchicalChannel* risc::HierarchicalChannelInstance::channel_definition_
private

This pointer points to the corresponding definition in the internal representation.

std::map<Port*, Object*> risc::ModuleInstance::mapping_
inherited
unsigned int risc::Object::number_of_array_elements_
inherited
std::map<Socket*, Socket*> risc::ModuleInstance::socket_mapping_
inherited
Type risc::Definition::type_
inherited

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