systemc-clang 2.0.0
Parsing SystemC constructs
|
Forward declarations. More...
#include <ModuleInstance.h>
Public Types | |
typedef std::pair< std::string, SignalDecl * > | signalPairType |
typedef std::map< std::string, SignalDecl * > | signalMapType |
typedef std::pair< std::string, InterfaceDecl * > | interfacePairType |
typedef std::map< std::string, InterfaceDecl * > | interfaceMapType |
typedef std::pair< std::string, ProcessDecl * > | processPairType |
typedef std::map< std::string, ProcessDecl * > | processMapType |
typedef std::pair< std::string, std::string > | moduleProcessPairType |
typedef std::pair< std::string, std::string > | portSignalPairType |
typedef std::map< std::string, std::string > | portSignalMapType |
typedef std::vector< std::string > | instanceName |
typedef std::pair< std::string, PortBinding * > | portBindingPairType |
typedef std::map< std::string, PortBinding * > | portBindingMapType |
typedef std::vector< std::tuple< std::string, PortDecl * > > | PortType |
typedef std::vector< std::tuple< std::string, PortDecl * > > | portMapType |
Public Member Functions | |
ModuleInstance () | |
Default constructor. | |
ModuleInstance (const std::string &, const clang::CXXRecordDecl *) | |
Overloaded constructors. | |
ModuleInstance (const std::tuple< const std::string &, clang::CXXRecordDecl * > &) | |
ModuleInstance (const ModuleInstance &from) | |
ModuleInstance & | operator= (const ModuleInstance &from) |
virtual | ~ModuleInstance () |
void | addPorts (const PortType &found_ports, const std::string &port_type) |
void | addConstructor (FindConstructor *) |
void | addConstructor (clang::Stmt *) |
void | addInputInterfaces (FindTLMInterfaces::interfaceType) |
void | addOutputInterfaces (FindTLMInterfaces::interfaceType) |
void | addInputOutputInterfaces (FindTLMInterfaces::interfaceType) |
void | addProcess (FindEntryFunctions::entryFunctionVectorType *) |
void | addInstances (const std::vector< std::string > &) |
void | addPortBinding (const std::string &port_name, PortBinding *pb) |
void | addSignalBinding (std::map< std::string, std::string >) |
void | addBaseInstance (ModuleInstance *) |
void | addNestedModule (ModuleInstance *submodule) |
void | setInstanceInfo (const sc_ast_matchers::ModuleInstanceType &info) |
void | setInstanceName (const std::string &) |
void | setInstanceDecl (Decl *) |
void | setModuleName (const std::string &) |
void | setTemplateParameters (const vector< std::string > &) |
void | setTemplateArgs (const vector< std::string > &) |
const std::vector< std::string > & | getTemplateParameters () const |
std::string | getName () const |
std::string | getInstanceName () const |
const clang::CXXRecordDecl * | getModuleClassDecl () |
clang::FieldDecl * | getInstanceFieldDecl () |
clang::VarDecl * | getInstanceVarDecl () |
const clang::Decl * | getInstanceDecl () |
bool | isInstanceFieldDecl () const |
ModuleInstanceType | getInstanceInfo () |
bool | isModuleClassDeclNull () |
const portMapType & | getOPorts () |
const portMapType & | getIPorts () |
const portMapType & | getIOPorts () |
const portMapType & | getOtherVars () |
const portMapType & | getSubmodules () |
const portMapType & | getInputStreamPorts () |
const portMapType & | getOutputStreamPorts () |
const std::vector< ModuleInstance * > & | getBaseInstances () |
const portBindingMapType & | getPortBindings () |
const processMapType & | getProcessMap () |
const clang::Stmt * | getConstructorStmt () const |
const clang::CXXConstructorDecl * | getConstructorDecl () const |
const interfaceMapType & | getIInterfaces () |
const interfaceMapType & | getOInterfaces () |
const interfaceMapType & | getIOInterfaces () |
const std::vector< std::string > & | getInstanceList () |
const std::vector< EntryFunctionContainer * > & | getEntryFunctionContainer () |
int | getNumInstances () const |
const signalMapType & | getSignals () const |
const std::vector< ModuleInstance * > & | getNestedModuleInstances () const |
void | dumpPorts (llvm::raw_ostream &) |
std::string | dumpPortBinding () |
void | dumpInterfaces (llvm::raw_ostream &, int) |
void | dumpProcesses (llvm::raw_ostream &, int) |
void | dumpSignals (llvm::raw_ostream &, int) |
void | dump (llvm::raw_ostream &) |
void | dumpInstances (llvm::raw_ostream &, int) |
void | dumpSignalBinding (llvm::raw_ostream &, int) |
void | dump_base_instances (llvm::raw_ostream &os) |
void | clearOnlyGlobal () |
std::string | dump_json () |
Private Attributes | |
std::string | module_name_ |
std::string | instance_name_ |
ModuleInstanceType | instance_info_ |
std::vector< ModuleInstance * > | base_instances_ |
clang::CXXRecordDecl * | class_decl_ |
clang::Stmt * | constructor_stmt_ |
clang::CXXConstructorDecl * | constructor_decl_ |
clang::Decl * | instance_decl_ |
processMapType | process_map_ |
portMapType | in_ports_ |
portMapType | out_ports_ |
portMapType | inout_ports_ |
portMapType | other_fields_ |
portMapType | istreamports_ |
portMapType | ostreamports_ |
portBindingMapType | port_bindings_ |
interfaceMapType | iinterfaces_ |
interfaceMapType | ointerfaces_ |
interfaceMapType | iointerfaces_ |
signalMapType | signals_ |
std::vector< std::string > | instance_list_ |
portSignalMapType | port_signal_map_ |
std::vector< EntryFunctionContainer * > | vef_ |
std::vector< ModuleInstance * > | nested_modules_ |
Nested modules. | |
std::vector< std::string > | template_parameters_ |
Class template parameters. | |
std::vector< std::string > | template_args_ |
Forward declarations.
Definition at line 37 of file ModuleInstance.h.
std::vector<std::string> systemc_clang::ModuleInstance::instanceName |
Definition at line 56 of file ModuleInstance.h.
std::map<std::string, InterfaceDecl *> systemc_clang::ModuleInstance::interfaceMapType |
Definition at line 43 of file ModuleInstance.h.
std::pair<std::string, InterfaceDecl *> systemc_clang::ModuleInstance::interfacePairType |
Definition at line 42 of file ModuleInstance.h.
std::pair<std::string, std::string> systemc_clang::ModuleInstance::moduleProcessPairType |
Definition at line 50 of file ModuleInstance.h.
std::map<std::string, PortBinding *> systemc_clang::ModuleInstance::portBindingMapType |
Definition at line 60 of file ModuleInstance.h.
std::pair<std::string, PortBinding *> systemc_clang::ModuleInstance::portBindingPairType |
Definition at line 59 of file ModuleInstance.h.
std::vector<std::tuple<std::string, PortDecl *> > systemc_clang::ModuleInstance::portMapType |
Definition at line 64 of file ModuleInstance.h.
std::map<std::string, std::string> systemc_clang::ModuleInstance::portSignalMapType |
Definition at line 53 of file ModuleInstance.h.
std::pair<std::string, std::string> systemc_clang::ModuleInstance::portSignalPairType |
Definition at line 52 of file ModuleInstance.h.
std::vector<std::tuple<std::string, PortDecl *> > systemc_clang::ModuleInstance::PortType |
Definition at line 63 of file ModuleInstance.h.
std::map<std::string, ProcessDecl *> systemc_clang::ModuleInstance::processMapType |
Definition at line 48 of file ModuleInstance.h.
std::pair<std::string, ProcessDecl *> systemc_clang::ModuleInstance::processPairType |
Definition at line 47 of file ModuleInstance.h.
std::map<std::string, SignalDecl *> systemc_clang::ModuleInstance::signalMapType |
Definition at line 40 of file ModuleInstance.h.
std::pair<std::string, SignalDecl *> systemc_clang::ModuleInstance::signalPairType |
Definition at line 39 of file ModuleInstance.h.
ModuleInstance::ModuleInstance | ( | ) |
Default constructor.
Definition at line 12 of file ModuleInstance.cpp.
ModuleInstance::ModuleInstance | ( | const std::string & | name, |
const clang::CXXRecordDecl * | decl ) |
Overloaded constructors.
Definition at line 20 of file ModuleInstance.cpp.
ModuleInstance::ModuleInstance | ( | const std::tuple< const std::string &, clang::CXXRecordDecl * > & | element | ) |
Definition at line 27 of file ModuleInstance.cpp.
ModuleInstance::ModuleInstance | ( | const ModuleInstance & | from | ) |
Definition at line 31 of file ModuleInstance.cpp.
|
virtual |
Definition at line 130 of file ModuleInstance.cpp.
void ModuleInstance::addBaseInstance | ( | ModuleInstance * | base | ) |
Definition at line 214 of file ModuleInstance.cpp.
void systemc_clang::ModuleInstance::addConstructor | ( | clang::Stmt * | ) |
void ModuleInstance::addConstructor | ( | FindConstructor * | ctor | ) |
Definition at line 300 of file ModuleInstance.cpp.
void ModuleInstance::addInputInterfaces | ( | FindTLMInterfaces::interfaceType | p | ) |
Definition at line 272 of file ModuleInstance.cpp.
void ModuleInstance::addInputOutputInterfaces | ( | FindTLMInterfaces::interfaceType | p | ) |
Definition at line 292 of file ModuleInstance.cpp.
void ModuleInstance::addInstances | ( | const std::vector< std::string > & | instanceList | ) |
Definition at line 218 of file ModuleInstance.cpp.
void ModuleInstance::addNestedModule | ( | ModuleInstance * | submodule | ) |
Definition at line 352 of file ModuleInstance.cpp.
void ModuleInstance::addOutputInterfaces | ( | FindTLMInterfaces::interfaceType | p | ) |
Definition at line 282 of file ModuleInstance.cpp.
void ModuleInstance::addPortBinding | ( | const std::string & | port_name, |
PortBinding * | pb ) |
Definition at line 223 of file ModuleInstance.cpp.
void ModuleInstance::addPorts | ( | const PortType & | found_ports, |
const std::string & | port_type ) |
SignalDecl derived from PortDecl
Definition at line 233 of file ModuleInstance.cpp.
void ModuleInstance::addProcess | ( | FindEntryFunctions::entryFunctionVectorType * | efv | ) |
Definition at line 317 of file ModuleInstance.cpp.
void ModuleInstance::addSignalBinding | ( | std::map< std::string, std::string > | portSignalMap | ) |
Definition at line 228 of file ModuleInstance.cpp.
void ModuleInstance::clearOnlyGlobal | ( | ) |
Definition at line 112 of file ModuleInstance.cpp.
void ModuleInstance::dump | ( | llvm::raw_ostream & | os | ) |
Definition at line 690 of file ModuleInstance.cpp.
void ModuleInstance::dump_base_instances | ( | llvm::raw_ostream & | os | ) |
Definition at line 683 of file ModuleInstance.cpp.
std::string ModuleInstance::dump_json | ( | ) |
Definition at line 715 of file ModuleInstance.cpp.
void ModuleInstance::dumpInstances | ( | llvm::raw_ostream & | , |
int | ) |
Definition at line 442 of file ModuleInstance.cpp.
void ModuleInstance::dumpInterfaces | ( | llvm::raw_ostream & | , |
int | ) |
Definition at line 568 of file ModuleInstance.cpp.
std::string ModuleInstance::dumpPortBinding | ( | ) |
Definition at line 467 of file ModuleInstance.cpp.
void ModuleInstance::dumpPorts | ( | llvm::raw_ostream & | ) |
Definition at line 604 of file ModuleInstance.cpp.
void ModuleInstance::dumpProcesses | ( | llvm::raw_ostream & | , |
int | ) |
Definition at line 552 of file ModuleInstance.cpp.
void ModuleInstance::dumpSignalBinding | ( | llvm::raw_ostream & | , |
int | ) |
Definition at line 541 of file ModuleInstance.cpp.
void ModuleInstance::dumpSignals | ( | llvm::raw_ostream & | , |
int | ) |
Definition at line 668 of file ModuleInstance.cpp.
const std::vector< ModuleInstance * > & ModuleInstance::getBaseInstances | ( | ) |
Definition at line 380 of file ModuleInstance.cpp.
const clang::CXXConstructorDecl * ModuleInstance::getConstructorDecl | ( | ) | const |
Definition at line 313 of file ModuleInstance.cpp.
const clang::Stmt * ModuleInstance::getConstructorStmt | ( | ) | const |
Definition at line 309 of file ModuleInstance.cpp.
const std::vector< EntryFunctionContainer * > & ModuleInstance::getEntryFunctionContainer | ( | ) |
Definition at line 361 of file ModuleInstance.cpp.
const ModuleInstance::interfaceMapType & ModuleInstance::getIInterfaces | ( | ) |
Definition at line 412 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getInputStreamPorts | ( | ) |
Definition at line 400 of file ModuleInstance.cpp.
const clang::Decl * ModuleInstance::getInstanceDecl | ( | ) |
Definition at line 439 of file ModuleInstance.cpp.
clang::FieldDecl * systemc_clang::ModuleInstance::getInstanceFieldDecl | ( | ) |
ModuleInstanceType ModuleInstance::getInstanceInfo | ( | ) |
Definition at line 195 of file ModuleInstance.cpp.
const std::vector< std::string > & ModuleInstance::getInstanceList | ( | ) |
Definition at line 356 of file ModuleInstance.cpp.
std::string ModuleInstance::getInstanceName | ( | ) | const |
Definition at line 426 of file ModuleInstance.cpp.
clang::VarDecl * systemc_clang::ModuleInstance::getInstanceVarDecl | ( | ) |
const ModuleInstance::interfaceMapType & ModuleInstance::getIOInterfaces | ( | ) |
Definition at line 416 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getIOPorts | ( | ) |
Definition at line 392 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getIPorts | ( | ) |
Definition at line 388 of file ModuleInstance.cpp.
const clang::CXXRecordDecl * ModuleInstance::getModuleClassDecl | ( | ) |
Definition at line 434 of file ModuleInstance.cpp.
std::string ModuleInstance::getName | ( | ) | const |
Definition at line 424 of file ModuleInstance.cpp.
const std::vector< ModuleInstance * > & ModuleInstance::getNestedModuleInstances | ( | ) | const |
Definition at line 371 of file ModuleInstance.cpp.
int ModuleInstance::getNumInstances | ( | ) | const |
Definition at line 365 of file ModuleInstance.cpp.
const ModuleInstance::interfaceMapType & ModuleInstance::getOInterfaces | ( | ) |
Definition at line 408 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getOPorts | ( | ) |
Definition at line 384 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getOtherVars | ( | ) |
Definition at line 396 of file ModuleInstance.cpp.
const ModuleInstance::portMapType & ModuleInstance::getOutputStreamPorts | ( | ) |
Definition at line 404 of file ModuleInstance.cpp.
const ModuleInstance::portBindingMapType & ModuleInstance::getPortBindings | ( | ) |
Definition at line 420 of file ModuleInstance.cpp.
const ModuleInstance::processMapType & ModuleInstance::getProcessMap | ( | ) |
Definition at line 376 of file ModuleInstance.cpp.
const ModuleInstance::signalMapType & ModuleInstance::getSignals | ( | ) | const |
Definition at line 367 of file ModuleInstance.cpp.
const portMapType & systemc_clang::ModuleInstance::getSubmodules | ( | ) |
const std::vector< std::string > & ModuleInstance::getTemplateParameters | ( | ) | const |
Definition at line 207 of file ModuleInstance.cpp.
bool systemc_clang::ModuleInstance::isInstanceFieldDecl | ( | ) | const |
bool ModuleInstance::isModuleClassDeclNull | ( | ) |
Definition at line 430 of file ModuleInstance.cpp.
ModuleInstance & ModuleInstance::operator= | ( | const ModuleInstance & | from | ) |
Base instances
Definition at line 69 of file ModuleInstance.cpp.
void systemc_clang::ModuleInstance::setInstanceDecl | ( | Decl * | ) |
void ModuleInstance::setInstanceInfo | ( | const sc_ast_matchers::ModuleInstanceType & | info | ) |
Definition at line 190 of file ModuleInstance.cpp.
void systemc_clang::ModuleInstance::setInstanceName | ( | const std::string & | ) |
void ModuleInstance::setModuleName | ( | const std::string & | name | ) |
Definition at line 211 of file ModuleInstance.cpp.
void ModuleInstance::setTemplateArgs | ( | const vector< std::string > & | ) |
Definition at line 202 of file ModuleInstance.cpp.
void ModuleInstance::setTemplateParameters | ( | const vector< std::string > & | ) |
Definition at line 197 of file ModuleInstance.cpp.
|
private |
Definition at line 163 of file ModuleInstance.h.
|
private |
Definition at line 166 of file ModuleInstance.h.
|
private |
Definition at line 169 of file ModuleInstance.h.
|
private |
Definition at line 168 of file ModuleInstance.h.
|
private |
Definition at line 184 of file ModuleInstance.h.
|
private |
Definition at line 174 of file ModuleInstance.h.
|
private |
Definition at line 176 of file ModuleInstance.h.
|
private |
Definition at line 171 of file ModuleInstance.h.
|
private |
Definition at line 161 of file ModuleInstance.h.
|
private |
Definition at line 189 of file ModuleInstance.h.
|
private |
Definition at line 160 of file ModuleInstance.h.
|
private |
Definition at line 186 of file ModuleInstance.h.
|
private |
Definition at line 179 of file ModuleInstance.h.
|
private |
Definition at line 159 of file ModuleInstance.h.
|
private |
Nested modules.
Definition at line 194 of file ModuleInstance.h.
|
private |
Definition at line 185 of file ModuleInstance.h.
|
private |
Definition at line 180 of file ModuleInstance.h.
|
private |
Definition at line 177 of file ModuleInstance.h.
|
private |
Definition at line 175 of file ModuleInstance.h.
|
private |
Definition at line 182 of file ModuleInstance.h.
|
private |
Definition at line 190 of file ModuleInstance.h.
|
private |
Definition at line 173 of file ModuleInstance.h.
|
private |
Definition at line 187 of file ModuleInstance.h.
|
private |
Definition at line 198 of file ModuleInstance.h.
|
private |
Class template parameters.
Definition at line 197 of file ModuleInstance.h.
|
private |
Definition at line 191 of file ModuleInstance.h.