This class represents a instance of a module. More...
#include <module_instance.h>
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 } |
We are using these enums to identify type type of and instance or definition during traversal. More... | |
Public Member Functions | |
ModuleInstance (SgVariableDefinition *ast_node, Module *ir_def) | |
default constructor | |
ModuleInstance (SgVariableDefinition *ast_node, Type type) | |
This constructor is used for classes which derived from sc_module Currently, this is only sc_channel. | |
virtual Module * | get_definition () |
returns this associated definition of the module instance | |
void | add_mapping (Port *port, Object *object) |
virtual std::string | get_ast_type_name () |
Get function for the name of the ast type of the module instance. | |
SgVariableDefinition * | get_ast_node () |
Returns the ast definition of the object. | |
bool | is_array () |
checks if this object is an array | |
bool | is_reference () |
checks if this object is a reference | |
bool | is_pointer () |
checks if this object is a pointer | |
virtual std::string | get_name () |
Get function for the name of the module instance variable. | |
SgVariableSymbol * | get_symbol () |
return the symbol of the object | |
virtual SgType * | get_ast_type () |
Returns the type of the ast node. | |
bool | has_source_location () |
Determines if a ast node has an associated ast node. | |
std::string | get_file_name () |
Get the name of the file where the declaration is located. | |
int | get_line_number () |
Get the line number of the instance. | |
int | get_position_in_line () |
Get the position of the in declaration in the corresponding line In other words the column in the line. | |
Public Attributes | |
std::map< Port *, Object * > | mapping_ |
unsigned int | number_of_array_elements_ |
Type | type_ |
SgNode * | ast_node_ |
SgType * | ast_type_pointer_ |
Private Member Functions | |
ModuleInstance (const ModuleInstance &md) | |
Disabled copy constructor. | |
Private Attributes | |
Module * | module_definition_ |
This pointer points to the corresponding definition in the internal representation. |
This class represents a instance of a module.
A module instance has a type pointer and rose ast pointer.
enum risc::Definition::Type [inherited] |
We are using these enums to identify type type of and instance or definition during traversal.
risc::ModuleInstance::ModuleInstance | ( | SgVariableDefinition * | ast_node, | |
Module * | ir_def | |||
) | [explicit] |
default constructor
risc::ModuleInstance::ModuleInstance | ( | SgVariableDefinition * | ast_node, | |
Type | type | |||
) | [explicit] |
This constructor is used for classes which derived from sc_module Currently, this is only sc_channel.
risc::ModuleInstance::ModuleInstance | ( | const ModuleInstance & | md | ) | [private] |
Disabled copy constructor.
SgVariableDefinition * risc::Object::get_ast_node | ( | ) | [virtual, inherited] |
Returns the ast definition of the object.
Reimplemented from risc::Definition.
SgType * risc::Definition::get_ast_type | ( | ) | [virtual, inherited] |
Returns the type of the ast node.
std::string risc::Instance::get_ast_type_name | ( | ) | [virtual, inherited] |
Get function for the name of the ast type of the module instance.
Reimplemented from risc::Definition.
Reimplemented in risc::PrimitiveChannelInstance.
risc::ModuleInstance::get_definition | ( | ) | [virtual] |
returns this associated definition of the module instance
Implements risc::Instance.
Reimplemented in risc::HierarchicalChannelInstance.
std::string risc::Definition::get_file_name | ( | ) | [inherited] |
Get the name of the file where the declaration is located.
int risc::Definition::get_line_number | ( | ) | [inherited] |
Get the line number of the instance.
std::string risc::Object::get_name | ( | ) | [virtual, inherited] |
Get function for the name of the module instance variable.
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.
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
Reimplemented in risc::Variable.
bool risc::Object::is_reference | ( | ) | [inherited] |
checks if this object is a reference
Reimplemented in risc::Variable.
SgNode* risc::Definition::ast_node_ [inherited] |
SgType* risc::Definition::ast_type_pointer_ [inherited] |
std::map<Port*, Object*> risc::ModuleInstance::mapping_ |
Module* risc::ModuleInstance::module_definition_ [private] |
This pointer points to the corresponding definition in the internal representation.
unsigned int risc::Object::number_of_array_elements_ [inherited] |
Type risc::Definition::type_ [inherited] |