#include <channel.h>
Public Types | |
enum | Type { CThreadType, ChannelType, ChannelInstanceType, ClassType, DefinitionType, EventType, FunctionType, HierarchicalChannelType, HierarchicalChannelInstanceType, InOutPortType, InPortType, InstanceType, 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 | |
Channel (SgClassDefinition *ast_node, Type type) | |
Default constructor. | |
virtual void | initialize_functions () |
void | initialize_variables () |
This function searches for all variable declarations in the module definition. The corresponding variable vectors will be used. | |
SgFunctionDefinition * | get_before_end_of_elaboration_definition () |
This function return a pointer to the definition of the function before_end_of_elaboration. | |
Variable * | find_variable (SgVariableDefinition *var_def) |
Find a port by it's ast variable definition. | |
Port * | find_port (SgVariableDefinition *var_def) |
Find a port by it's ast variable definition. | |
Event * | find_event (SgVariableDefinition *var_def) |
Find an event by it's ast variable definition. | |
ModuleInstance * | find_module (SgVariableDefinition *var_def) |
Find an module by it's ast variable definition. | |
PrimitiveChannelInstance * | find_prim_channel (SgVariableDefinition *var_def) |
find a prim channel by it's ast variable definition | |
HierarchicalChannelInstance * | find_hier_channel (SgVariableDefinition *var_def) |
find a hier channel by it's ast variable definition | |
SgClassDefinition * | get_ast_node () |
Returns the ast definition of the class. | |
std::string | get_name () |
returns the name of the module definition | |
virtual std::string | get_ast_type_name () |
Returns the name of the module type. | |
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 | |
EventVector | events_ |
Vector of events which are defined in this module. | |
VariableVector | variables_ |
Vector of C++ builtin variables that are declared in the module. | |
InPortVector | inports_ |
Vector of inports which are defined in this module. | |
InOutPortVector | inoutports_ |
Vector of inoutports which are defined in this module. | |
OutPortVector | outports_ |
Vector of outports which are defined in this module. | |
PrimitiveChannelInstanceVector | sub_prim_channel_ |
Vector of primimitive channel instances which are declared in this module. | |
HierarchicalChannelInstanceVector | sub_hier_channel_ |
Vector of hierarchical channel instances which are declared in this module. | |
ModuleInstanceVector | sub_modules_ |
Vector of module definitions which are defined in this module. | |
FunctionVector | functions_ |
Vector of functions which are defined in this module. | |
Type | type_ |
SgNode * | ast_node_ |
SgType * | ast_type_pointer_ |
Private Member Functions | |
Channel (const Channel &c) | |
Disabled copy constructor. |
enum risc::Definition::Type [inherited] |
We are using these enums to identify type type of and instance or definition during traversal.
risc::Channel::Channel | ( | SgClassDefinition * | ast_node, | |
Type | type | |||
) | [explicit] |
Default constructor.
risc::Channel::Channel | ( | const Channel & | c | ) | [private] |
Disabled copy constructor.
risc::Event * risc::Class::find_event | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an event by it's ast variable definition.
risc::HierarchicalChannelInstance * risc::Class::find_hier_channel | ( | SgVariableDefinition * | var_def | ) | [inherited] |
find a hier channel by it's ast variable definition
risc::ModuleInstance * risc::Class::find_module | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an module by it's ast variable definition.
risc::Port * risc::Class::find_port | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find a port by it's ast variable definition.
risc::PrimitiveChannelInstance * risc::Class::find_prim_channel | ( | SgVariableDefinition * | var_def | ) | [inherited] |
find a prim channel by it's ast variable definition
risc::Variable * risc::Class::find_variable | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find a port by it's ast variable definition.
SgClassDefinition * risc::Class::get_ast_node | ( | ) | [virtual, inherited] |
Returns the ast definition of the class.
Reimplemented from risc::Definition.
SgType * risc::Definition::get_ast_type | ( | ) | [virtual, inherited] |
Returns the type of the ast node.
std::string risc::Class::get_ast_type_name | ( | ) | [virtual, inherited] |
Returns the name of the module type.
Reimplemented from risc::Definition.
SgFunctionDefinition * risc::Class::get_before_end_of_elaboration_definition | ( | ) | [inherited] |
This function return a pointer to the definition of the function before_end_of_elaboration.
get_before_end_of_elaboration_definition
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::Class::get_name | ( | ) | [virtual, inherited] |
returns the name of the module definition
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.
bool risc::Definition::has_source_location | ( | ) | [inherited] |
Determines if a ast node has an associated ast node.
void risc::Class::initialize_functions | ( | ) | [virtual, inherited] |
Reimplemented in risc::HierarchicalChannel, and risc::Module.
void risc::Class::initialize_variables | ( | ) | [inherited] |
This function searches for all variable declarations in the module definition. The corresponding variable vectors will be used.
SgNode* risc::Definition::ast_node_ [inherited] |
SgType* risc::Definition::ast_type_pointer_ [inherited] |
EventVector risc::Class::events_ [inherited] |
Vector of events which are defined in this module.
FunctionVector risc::Class::functions_ [inherited] |
Vector of functions which are defined in this module.
InOutPortVector risc::Class::inoutports_ [inherited] |
Vector of inoutports which are defined in this module.
InPortVector risc::Class::inports_ [inherited] |
Vector of inports which are defined in this module.
OutPortVector risc::Class::outports_ [inherited] |
Vector of outports which are defined in this module.
Vector of hierarchical channel instances which are declared in this module.
ModuleInstanceVector risc::Class::sub_modules_ [inherited] |
Vector of module definitions which are defined in this module.
Vector of primimitive channel instances which are declared in this module.
Type risc::Definition::type_ [inherited] |
VariableVector risc::Class::variables_ [inherited] |
Vector of C++ builtin variables that are declared in the module.