hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
IRBuildConfig::Builder Struct Reference

#include <IR.h>

Public Member Functions

 Builder ()=default
 
BuildersetBuildType (BuildType buildType)
 
BuildersetBuildMode (BuildMode buildMode)
 
BuildersetUseObjectLinker (UseObjectLinker useObjectLinker)
 
BuildersetBuildPlatform (const yoi::wstr &buildPlatform)
 
BuildersetBuildArch (const yoi::wstr &buildArch)
 
BuildersetTargetTriple (const yoi::wstr &targetTriple)
 
BuildersetPreserveIntermediateFiles (bool preserveIntermediateFiles)
 
BuilderaddSearchPath (const yoi::wstr &searchPath)
 
BuildersetSearchPaths (const yoi::vec< yoi::wstr > &searchPaths)
 
BuildersetMarco (const yoi::wstr &name, const yoi::wstr &value)
 
BuildersetAdditionalLinkingFiles (const yoi::vec< yoi::wstr > &additionalLinkingFiles)
 
BuildersetAdditionalLinkerOptions (const yoi::vec< yoi::wstr > &additionalLinkerOptions)
 
BuildersetBuildCachePath (const yoi::wstr &buildCachePath)
 
BuildersetImmediatelyClearupCache (bool immediatelyClearupCache)
 
std::shared_ptr< IRBuildConfigyield ()
 

Public Attributes

BuildType buildType {BuildType::executable}
 
BuildMode buildMode {BuildMode::debug}
 
UseObjectLinker useObjectLinker {UseObjectLinker::cc}
 
yoi::wstr buildPlatform
 
yoi::wstr buildArch
 
yoi::wstr targetTriple
 
bool preserveIntermediateFiles {false}
 
yoi::vec< yoi::wstrsearchPaths {L""}
 
yoi::vec< yoi::wstradditionalLinkingFiles
 
yoi::vec< yoi::wstradditionalLinkerOptions
 
std::map< yoi::wstr, yoi::wstrmarcos
 
yoi::wstr buildCachePath
 
bool immediatelyClearupCache {true}
 

Detailed Description

Definition at line 35 of file IR.h.

Constructor & Destructor Documentation

◆ Builder()

Builder ( )
default

Member Function Documentation

◆ addSearchPath()

IRBuildConfig::Builder & addSearchPath ( const yoi::wstr searchPath)

Definition at line 1067 of file IR.cpp.

◆ setAdditionalLinkerOptions()

IRBuildConfig::Builder & setAdditionalLinkerOptions ( const yoi::vec< yoi::wstr > &  additionalLinkerOptions)

Definition at line 1553 of file IR.cpp.

References IRBuildConfig::additionalLinkerOptions.

Referenced by main().

Here is the caller graph for this function:

◆ setAdditionalLinkingFiles()

IRBuildConfig::Builder & setAdditionalLinkingFiles ( const yoi::vec< yoi::wstr > &  additionalLinkingFiles)

Definition at line 1548 of file IR.cpp.

References IRBuildConfig::Builder::additionalLinkingFiles.

Referenced by main().

Here is the caller graph for this function:

◆ setBuildArch()

IRBuildConfig::Builder & setBuildArch ( const yoi::wstr buildArch)

Definition at line 900 of file IR.cpp.

References IRBuildConfig::buildArch.

Referenced by LspServer::LspServer().

Here is the caller graph for this function:

◆ setBuildCachePath()

IRBuildConfig::Builder & setBuildCachePath ( const yoi::wstr buildCachePath)

Definition at line 1620 of file IR.cpp.

References IRBuildConfig::Builder::buildCachePath.

Referenced by main().

Here is the caller graph for this function:

◆ setBuildMode()

IRBuildConfig::Builder & setBuildMode ( BuildMode  buildMode)

Definition at line 921 of file IR.cpp.

References IRBuildConfig::buildMode.

Referenced by LspServer::LspServer().

Here is the caller graph for this function:

◆ setBuildPlatform()

IRBuildConfig::Builder & setBuildPlatform ( const yoi::wstr buildPlatform)

Definition at line 895 of file IR.cpp.

References IRBuildConfig::buildPlatform.

Referenced by LspServer::LspServer().

Here is the caller graph for this function:

◆ setBuildType()

IRBuildConfig::Builder & setBuildType ( BuildType  buildType)

Definition at line 890 of file IR.cpp.

References IRBuildConfig::Builder::buildType.

Referenced by LspServer::LspServer().

Here is the caller graph for this function:

◆ setImmediatelyClearupCache()

IRBuildConfig::Builder & setImmediatelyClearupCache ( bool  immediatelyClearupCache)

Definition at line 1627 of file IR.cpp.

References IRBuildConfig::immediatelyClearupCache.

◆ setMarco()

IRBuildConfig::Builder & setMarco ( const yoi::wstr name,
const yoi::wstr value 
)

Definition at line 1478 of file IR.cpp.

References IROperand::value.

Referenced by main().

Here is the caller graph for this function:

◆ setPreserveIntermediateFiles()

IRBuildConfig::Builder & setPreserveIntermediateFiles ( bool  preserveIntermediateFiles)

Definition at line 931 of file IR.cpp.

References IRBuildConfig::preserveIntermediateFiles.

◆ setSearchPaths()

IRBuildConfig::Builder & setSearchPaths ( const yoi::vec< yoi::wstr > &  searchPaths)

Definition at line 1062 of file IR.cpp.

Referenced by LspServer::LspServer(), and main().

Here is the caller graph for this function:

◆ setTargetTriple()

IRBuildConfig::Builder & setTargetTriple ( const yoi::wstr targetTriple)

Definition at line 1721 of file IR.cpp.

◆ setUseObjectLinker()

IRBuildConfig::Builder & setUseObjectLinker ( UseObjectLinker  useObjectLinker)

Definition at line 926 of file IR.cpp.

References IRBuildConfig::useObjectLinker.

◆ yield()

Member Data Documentation

◆ additionalLinkerOptions

yoi::vec<yoi::wstr> additionalLinkerOptions

Definition at line 45 of file IR.h.

◆ additionalLinkingFiles

yoi::vec<yoi::wstr> additionalLinkingFiles

Definition at line 44 of file IR.h.

Referenced by IRBuildConfig::Builder::setAdditionalLinkingFiles().

◆ buildArch

yoi::wstr buildArch

Definition at line 40 of file IR.h.

◆ buildCachePath

yoi::wstr buildCachePath
Initial value:
{
(std::filesystem::temp_directory_path() /
(L"hanabi-" + std::to_wstring(std::chrono::system_clock::now().time_since_epoch().count()))).wstring()}

Definition at line 47 of file IR.h.

Referenced by IRBuildConfig::Builder::setBuildCachePath().

◆ buildMode

Definition at line 37 of file IR.h.

◆ buildPlatform

yoi::wstr buildPlatform

Definition at line 39 of file IR.h.

◆ buildType

Definition at line 36 of file IR.h.

Referenced by IRBuildConfig::Builder::setBuildType().

◆ immediatelyClearupCache

bool immediatelyClearupCache {true}

Definition at line 50 of file IR.h.

◆ marcos

std::map<yoi::wstr, yoi::wstr> marcos

Definition at line 46 of file IR.h.

◆ preserveIntermediateFiles

bool preserveIntermediateFiles {false}

Definition at line 42 of file IR.h.

◆ searchPaths

yoi::vec<yoi::wstr> searchPaths {L""}

Definition at line 43 of file IR.h.

◆ targetTriple

yoi::wstr targetTriple

Definition at line 41 of file IR.h.

◆ useObjectLinker

Definition at line 38 of file IR.h.


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