#include <class.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 | |
Class (SgClassDefinition *ast_node, Type type) | |
Default constructor. | |
~Class () | |
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 | |
Class (const Class &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::Class::Class | ( | SgClassDefinition * | ast_node, | |
Type | type | |||
) | [explicit] |
Default constructor.
risc::Class::~Class | ( | ) |
risc::Class::Class | ( | const Class & | c | ) | [private] |
Disabled copy constructor.
risc::Event * risc::Class::find_event | ( | SgVariableDefinition * | var_def | ) |
Find an event by it's ast variable definition.
risc::HierarchicalChannelInstance * risc::Class::find_hier_channel | ( | SgVariableDefinition * | var_def | ) |
find a hier channel by it's ast variable definition
risc::ModuleInstance * risc::Class::find_module | ( | SgVariableDefinition * | var_def | ) |
Find an module by it's ast variable definition.
risc::Port * risc::Class::find_port | ( | SgVariableDefinition * | var_def | ) |
Find a port by it's ast variable definition.
risc::PrimitiveChannelInstance * risc::Class::find_prim_channel | ( | SgVariableDefinition * | var_def | ) |
find a prim channel by it's ast variable definition
risc::Variable * risc::Class::find_variable | ( | SgVariableDefinition * | var_def | ) |
Find a port by it's ast variable definition.
SgClassDefinition * risc::Class::get_ast_node | ( | ) | [virtual] |
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] |
Returns the name of the module type.
Reimplemented from risc::Definition.
SgFunctionDefinition * risc::Class::get_before_end_of_elaboration_definition | ( | ) |
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] |
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] |
Reimplemented in risc::HierarchicalChannel, and risc::Module.
void risc::Class::initialize_variables | ( | ) |
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] |
Vector of events which are defined in this module.
Vector of functions which are defined in this module.
Vector of inoutports which are defined in this module.
Vector of inports which are defined in this module.
Vector of outports which are defined in this module.
Vector of hierarchical channel instances which are declared in this module.
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] |
Vector of C++ builtin variables that are declared in the module.