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

#include <builtinModule.hpp>

Collaboration diagram for BuiltinModuleBuilder:

Public Member Functions

 BuiltinModuleBuilder ()=default
 
 BuiltinModuleBuilder (std::shared_ptr< IRModule > module)
 
void build ()
 
yoi::IRValueType getIntObject ()
 
yoi::IRValueType getBoolObject ()
 
yoi::IRValueType getDeciObject ()
 
yoi::IRValueType getStrObject ()
 
yoi::IRValueType getNoneObject ()
 
yoi::IRValueType getCharObject ()
 
yoi::IRValueType getForeignInt32Object ()
 
yoi::IRValueType getForeignFloatObject ()
 
yoi::IRValueType getPointerDefinition ()
 
yoi::IRValueType getUnsignedObject ()
 
yoi::IRValueType getShortObject ()
 

Public Attributes

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

Private Member Functions

void initializeSharedObjectDefinitions ()
 
void initializeSharedObjects ()
 

Static Private Member Functions

static std::shared_ptr< IRModule > yoi::IRStructDefinition getIntObjectDefinition ()
 
static yoi::IRStructDefinition getUnsignedObjectDefinition ()
 
static yoi::IRStructDefinition getShortObjectDefinition ()
 
static yoi::IRStructDefinition getBooleanObjectDefinition ()
 
static yoi::IRStructDefinition getDecimalObjectDefinition ()
 
static yoi::IRStructDefinition getStringObjectDefinition ()
 
static yoi::IRStructDefinition getCharObjectDefinition ()
 
static yoi::IRInterfaceInstanceDefinition getNullInterfaceInstanceDefinition ()
 

Detailed Description

Definition at line 13 of file builtinModule.hpp.

Constructor & Destructor Documentation

◆ BuiltinModuleBuilder() [1/2]

BuiltinModuleBuilder ( )
default

◆ BuiltinModuleBuilder() [2/2]

BuiltinModuleBuilder ( std::shared_ptr< IRModule module)

Definition at line 124 of file builtinModule.cpp.

Member Function Documentation

◆ build()

void build ( )

Definition at line 126 of file builtinModule.cpp.

References BuiltinModuleBuilder::initializeSharedObjectDefinitions(), and BuiltinModuleBuilder::initializeSharedObjects().

Here is the call graph for this function:

◆ getBooleanObjectDefinition()

static yoi::IRStructDefinition getBooleanObjectDefinition ( )
staticprivate

◆ getBoolObject()

yoi::IRValueType getBoolObject ( )

Definition at line 16 of file builtinModule.cpp.

References IRValueType::booleanObject, and HOSHI_COMPILER_CTX_GLOB_ID_CONST.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getCharObject()

yoi::IRValueType getCharObject ( )

Definition at line 44 of file builtinModule.cpp.

References IRValueType::characterObject, and HOSHI_COMPILER_CTX_GLOB_ID_CONST.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getCharObjectDefinition()

static yoi::IRStructDefinition getCharObjectDefinition ( )
staticprivate

◆ getDecimalObjectDefinition()

static yoi::IRStructDefinition getDecimalObjectDefinition ( )
staticprivate

◆ getDeciObject()

yoi::IRValueType getDeciObject ( )

Definition at line 24 of file builtinModule.cpp.

References IRValueType::decimalObject, and HOSHI_COMPILER_CTX_GLOB_ID_CONST.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getForeignFloatObject()

yoi::IRValueType getForeignFloatObject ( )

Definition at line 60 of file builtinModule.cpp.

References IRValueType::foreignFloatType, and HOSHI_COMPILER_CTX_GLOB_ID_CONST.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getForeignInt32Object()

yoi::IRValueType getForeignInt32Object ( )

Definition at line 52 of file builtinModule.cpp.

References IRValueType::foreignInt32Type, and HOSHI_COMPILER_CTX_GLOB_ID_CONST.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getIntObject()

yoi::IRValueType getIntObject ( )

Definition at line 8 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::integerObject.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getIntObjectDefinition()

static std::shared_ptr< IRModule > yoi::IRStructDefinition getIntObjectDefinition ( )
staticprivate

◆ getNoneObject()

yoi::IRValueType getNoneObject ( )

Definition at line 40 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::none.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getNullInterfaceInstanceDefinition()

yoi::IRInterfaceInstanceDefinition getNullInterfaceInstanceDefinition ( )
staticprivate

Definition at line 120 of file builtinModule.cpp.

◆ getPointerDefinition()

yoi::IRValueType getPointerDefinition ( )

Definition at line 68 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::pointer.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getShortObject()

yoi::IRValueType getShortObject ( )

Definition at line 142 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::shortObject.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getShortObjectDefinition()

static yoi::IRStructDefinition getShortObjectDefinition ( )
staticprivate

◆ getStringObjectDefinition()

static yoi::IRStructDefinition getStringObjectDefinition ( )
staticprivate

◆ getStrObject()

yoi::IRValueType getStrObject ( )

Definition at line 32 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::stringObject.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getUnsignedObject()

yoi::IRValueType getUnsignedObject ( )

Definition at line 134 of file builtinModule.cpp.

References HOSHI_COMPILER_CTX_GLOB_ID_CONST, and IRValueType::unsignedObject.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().

Here is the caller graph for this function:

◆ getUnsignedObjectDefinition()

static yoi::IRStructDefinition getUnsignedObjectDefinition ( )
staticprivate

◆ initializeSharedObjectDefinitions()

void initializeSharedObjectDefinitions ( )
private

Definition at line 76 of file builtinModule.cpp.

Referenced by BuiltinModuleBuilder::build().

Here is the caller graph for this function:

◆ initializeSharedObjects()

Member Data Documentation

◆ sharedValueType

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

Definition at line 36 of file builtinModule.hpp.

Referenced by BuiltinModuleBuilder::initializeSharedObjects().


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