hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
IRModule Class Reference

#include <IR.h>

Inheritance diagram for IRModule:
Collaboration diagram for IRModule:

Public Member Functions

yoi::wstr to_string (yoi::indexT indent=0)
 

Public Attributes

yoi::indexT identifier
 
bool compiled
 
yoi::wstr modulePath
 
std::map< yoi::wstr, yoi::indexTmoduleImports
 
std::set< yoi::indexTdependentModules
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRFunctionDefinition > > functionTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRStructDefinition > > structTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRValueType > > globalVariables
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRExternEntry > > externTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IREnumerationType > > enumerationTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRInterfaceInstanceDefinition > > interfaceTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRInterfaceImplementationDefinition > > interfaceImplementationTable
 
yoi::indexTable< yoi::wstr, std::shared_ptr< IRDataStructDefinition > > dataStructTable
 
std::map< yoi::wstr, yoi::funcDefStmt * > funcTemplateAsts
 
std::map< yoi::wstr, yoi::structDefStmt * > structTemplateAsts
 
std::map< yoi::wstr, yoi::interfaceDefStmt * > templateInterfaceAsts
 
std::map< yoi::wstr, yoi::implStmt * > templateImplAsts
 
std::map< yoi::wstr, yoi::vec< yoi::implStmt * > > templateInterfaceImplAsts
 
std::map< yoi::wstr, yoi::typeAliasStmt * > typeAliasTemplateAsts
 
std::map< yoi::wstr, IRValueTypetypeAliases
 
std::map< yoi::wstr, yoi::vec< yoi::indexT > > functionOverloadIndexies
 
std::map< yoi::wstr, std::shared_ptr< IRConcept > > concepts
 
IRStringLiteralPool stringLiteralPool
 

Detailed Description

Definition at line 842 of file IR.h.

Member Function Documentation

◆ to_string()

Member Data Documentation

◆ compiled

bool compiled

Definition at line 845 of file IR.h.

◆ concepts

std::map<yoi::wstr, std::shared_ptr<IRConcept> > concepts

Definition at line 866 of file IR.h.

◆ dataStructTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRDataStructDefinition> > dataStructTable

Definition at line 856 of file IR.h.

◆ dependentModules

std::set<yoi::indexT> dependentModules

Definition at line 848 of file IR.h.

◆ enumerationTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IREnumerationType> > enumerationTable

Definition at line 853 of file IR.h.

◆ externTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRExternEntry> > externTable

Definition at line 852 of file IR.h.

◆ funcTemplateAsts

std::map<yoi::wstr, yoi::funcDefStmt *> funcTemplateAsts

Definition at line 858 of file IR.h.

◆ functionOverloadIndexies

std::map<yoi::wstr, yoi::vec<yoi::indexT> > functionOverloadIndexies

Definition at line 865 of file IR.h.

◆ functionTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRFunctionDefinition> > functionTable

Definition at line 849 of file IR.h.

Referenced by IRModule::to_string().

◆ globalVariables

yoi::indexTable<yoi::wstr, std::shared_ptr<IRValueType> > globalVariables

Definition at line 851 of file IR.h.

◆ identifier

Definition at line 844 of file IR.h.

◆ interfaceImplementationTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRInterfaceImplementationDefinition> > interfaceImplementationTable

Definition at line 855 of file IR.h.

Referenced by IRModule::to_string().

◆ interfaceTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRInterfaceInstanceDefinition> > interfaceTable

Definition at line 854 of file IR.h.

Referenced by IRModule::to_string().

◆ moduleImports

std::map<yoi::wstr, yoi::indexT> moduleImports

Definition at line 847 of file IR.h.

◆ modulePath

yoi::wstr modulePath

Definition at line 846 of file IR.h.

◆ stringLiteralPool

IRStringLiteralPool stringLiteralPool

Definition at line 868 of file IR.h.

◆ structTable

yoi::indexTable<yoi::wstr, std::shared_ptr<IRStructDefinition> > structTable

Definition at line 850 of file IR.h.

Referenced by IRModule::to_string().

◆ structTemplateAsts

std::map<yoi::wstr, yoi::structDefStmt *> structTemplateAsts

Definition at line 859 of file IR.h.

◆ templateImplAsts

std::map<yoi::wstr, yoi::implStmt *> templateImplAsts

Definition at line 861 of file IR.h.

◆ templateInterfaceAsts

std::map<yoi::wstr, yoi::interfaceDefStmt *> templateInterfaceAsts

Definition at line 860 of file IR.h.

◆ templateInterfaceImplAsts

std::map<yoi::wstr, yoi::vec<yoi::implStmt *> > templateInterfaceImplAsts

Definition at line 862 of file IR.h.

◆ typeAliases

std::map<yoi::wstr, IRValueType> typeAliases

Definition at line 864 of file IR.h.

◆ typeAliasTemplateAsts

std::map<yoi::wstr, yoi::typeAliasStmt *> typeAliasTemplateAsts

Definition at line 863 of file IR.h.


The documentation for this class was generated from the following files: