risc::Class Class Reference

#include <class.h>

Inheritance diagram for risc::Class:
Inheritance graph
[legend]
Collaboration diagram for risc::Class:
Collaboration graph
[legend]

List of all members.

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.
Variablefind_variable (SgVariableDefinition *var_def)
 Find a port by it's ast variable definition.
Portfind_port (SgVariableDefinition *var_def)
 Find a port by it's ast variable definition.
Eventfind_event (SgVariableDefinition *var_def)
 Find an event by it's ast variable definition.
ModuleInstancefind_module (SgVariableDefinition *var_def)
 Find an module by it's ast variable definition.
PrimitiveChannelInstancefind_prim_channel (SgVariableDefinition *var_def)
 find a prim channel by it's ast variable definition
HierarchicalChannelInstancefind_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.

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 
MethodType 
ModuleType 
ModuleInstanceType 
ObjectType 
OutPortType 
PortType 
PrimitiveChannelType 
PrimitiveChannelInstanceType 
ThreadType 
VariableType 

Constructor & Destructor Documentation

risc::Class::Class ( SgClassDefinition *  ast_node,
Type  type 
) [explicit]

Default constructor.

risc::Class::~Class (  ) 
risc::Class::Class ( const Class c  )  [private]

Disabled copy constructor.


Member Function Documentation

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.

Returns:
Pointer to the definition

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.

Returns:
name of the module instance

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.

Returns:
filename
int risc::Definition::get_line_number (  )  [inherited]

Get the line number of the instance.

Returns:
line number
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.

Returns:
position in 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.


Member Data Documentation

SgNode* risc::Definition::ast_node_ [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.

Vector of C++ builtin variables that are declared in the module.


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

Generated on 29 Oct 2015 by  doxygen 1.6.1