Class ModuleInstance

Class Documentation

class systemc_clang::ModuleInstance

Forward declarations.

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 Functions

ModuleInstance()
ModuleInstance(const std::string&, clang::CXXRecordDecl*)
ModuleInstance(const std::tuple<const std::string&, clang::CXXRecordDecl*>&)
ModuleInstance(const ModuleInstance &from)
ModuleInstance &operator=(const ModuleInstance &from)
~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 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>&)
std::vector<std::string> getTemplateParameters() const
std::vector<std::string> getTemplateArgs() const
std::string getName() const
std::string getInstanceName() const
clang::CXXRecordDecl *getModuleClassDecl()
clang::FieldDecl *getInstanceFieldDecl()
clang::VarDecl *getInstanceVarDecl()
clang::Decl *getInstanceDecl()
bool isInstanceFieldDecl() const
ModuleInstanceType getInstanceInfo()
bool isModuleClassDeclNull()
portMapType getOPorts()
portMapType getIPorts()
portMapType getIOPorts()
portMapType getOtherVars()
portMapType getSubmodules()
portMapType getInputStreamPorts()
portMapType getOutputStreamPorts()
portBindingMapType getPortBindings()
processMapType getProcessMap()
clang::Stmt *getConstructorStmt() const
clang::CXXConstructorDecl *getConstructorDecl() const
interfaceMapType getIInterfaces()
interfaceMapType getOInterfaces()
interfaceMapType getIOInterfaces()
std::vector<std::string> getInstanceList()
std::vector<EntryFunctionContainer*> getEntryFunctionContainer()
int getNumInstances()
const signalMapType &getSignals() const
const std::vector<ModuleInstance*> &getNestedModuleInstances() const
void dumpPorts(llvm::raw_ostream&, int)
void 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 clearOnlyGlobal()
json dump_json()