top | up | prev | next

build Namespace

Classes

class AddServerClientCommand
class AddServerServerCommand
struct BuildData
class BuildProjectClientCommand
struct BuildProjectRequest
struct BuildProjectResponse
class ClientCommand
class ClientExecutionContext
struct CloseConnectionRequest
struct CompileData
class CompileQueue
class Connection
class CoutLog
struct CurrentSolutionGuard
class DebugProjectClientCommand
struct ErrorResponse
class ExecutionContext
class FiberClient
class FiberConnection
class FiberExecutionContext
class FiberServer
class Host
class InstallProjectClientCommand
class LocalExecutionContext
class Log
class MessageHandler
struct ParserData
class ProjectQueue
class PushProjectClientCommand
struct PushProjectFileContentRequest
struct PushProjectFileContentResponse
struct PushProjectFileRequest
struct PushProjectFileResponse
struct PushProjectRequest
struct PushProjectResponse
class RemoveProjectClientCommand
class RemoveServerClientCommand
class RemoveServerServerCommand
class RequestHandler
class Requester
class RunServerServerCommand
class ServerCommand
class ServerConfig
class ServerExecutionContext
class ServerInfo
struct ShowBuildMessageRequest
struct ShowBuildMessageResponse
class ShowConfigurationClientCommand
class ShowConfigurationServerCommand
class SocketClient
class SocketConnection
class SocketServer

Functions

void BindStatements(BoundCompileUnit& boundCompileUnit)
std::vector<std::unique_ptr<BoundCompileUnit>> BindTypes(Module& module, const std::vector<std::unique_ptr<CompileUnitNode>>& compileUnits, AttributeBinder* attributeBinder, bool& stop)
void BuildMsBuildProject(const std::string& projectName, const std::string& projectDirectory, const std::string& target, const std::vector<std::string>& sourceFiles, const std::vector<std::string>& resourceFiles, const std::vector<std::string>& referenceFiles, std::unique_ptr<Module>& rootModule)
void BuildProject(Project* project, std::unique_ptr<Module>& rootModule, bool& stop, bool resetRootModule, std::set<std::string>& builtProjects)
void BuildProject(const std::string& projectFilePath, std::unique_ptr<Module>& rootModule, std::set<std::string>& builtProjects)
void BuildServerMessageDone()
void BuildServerMessageInit()
void BuildSolution(const std::string& solutionFilePath, std::vector<std::unique_ptr<Module>>& rootModules)
void BuildSolution(const std::string& solutionFilePath, std::vector<std::unique_ptr<Module>>& rootModules, std::u32string& solutionName, std::vector<std::u32string>& moduleNames)
void CheckMainFunctionSymbol(Module& module)
void CleanProject(Project* project)
std::string CmajorConfigDir()
std::string CmajorServerConfigFilePath()
void CompileMultiThreaded(Project* project, Module* rootModule, std::vector<std::unique_ptr<BoundCompileUnit>>& boundCompileUnits, std::vector<std::string>& objectFilePaths, bool& stop)
void CompileSingleThreaded(Project* project, Module* rootModule, std::vector<std::unique_ptr<BoundCompileUnit>>& boundCompileUnits, EmittingContext& emittingContext, std::vector<std::string>& objectFilePaths, std::unordered_map<int, cmdoclib::File>& docFileMap, bool& stop)
std::unique_ptr<Log> CreateCoutLog()
void CreateCppProjectFile(Project* project, Module& module, const std::string& mainSourceFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths)
void CreateCppSolutionFile(Solution* solution, const std::vector<Project*>& projects)
void CreateDynamicListFile(const std::string& dynamicListFilePath, Module& module)
std::unique_ptr<ExecutionContext> CreateExecutionContext(const std::string& serverName)
std::unique_ptr<FiberConnection> CreateFiberConnection(Log* log)
void CreateJsonRegistrationUnit(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder)
void CreateMainUnitCpp(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder, std::string& mainObjectFilePath, std::string& mainSourceFilePath)
void CreateMainUnitCppWindowsGUI(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder, std::string& mainObjectFilePath, std::string& mainSourceFilePath)
void CreateMainUnitLlvm(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder, std::string& mainObjectFilePath)
void CreateMainUnitLlvmWindowsGUI(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder, std::string& mainObjectFilePath)
void CreateMainUnitSystemX(std::vector<std::string>& objectFilePaths, Module& module, EmittingContext& emittingContext, AttributeBinder* attributeBinder, std::string& mainObjectFilePath)
std::unique_ptr<MessageBase> CreateMessage(JsonObject* messageObject)
std::unique_ptr<ExecutionContext> CreateServerExecutionContext(const std::string& serverName)
void CreateSymbols(SymbolTable& symbolTable, const std::vector<std::unique_ptr<CompileUnitNode>>& compileUnits, bool& stop)
std::string CurrentCompileDebugMsStr()
std::string CurrentProjectDebugMsStr()
void Done()
void Done()
void GenerateCode(CompileData* data, int threadId)
void GenerateLibrary(Module* module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)
void GenerateLibraryCpp(Module* module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)
void GenerateLibraryLlvm(Module* module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)
void GenerateProjectInfoFile(Project* project)
std::string GetBoostLibDirFromCompilerConfigXml()
std::string GetCppSolutionDirectoryPath(Project* project)
int GetDefaultLocalPort()
std::string GetDefaultToolChainForCurrentPlatform()
std::string GetFilePath(const std::string& path)
void Init()
void Init()
void InstallSystemLibraries(Module* systemInstallModule)
void InstallSystemWindowsLibraries(Module* systemInstallWindowsModule)
bool IsProjectInfoUpToDate(Project* project, const std::string& projectInfoFilePath)
void Link(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module& module)
void LinkCpp(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module& module)
void LinkLlvm(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module& module)
std::string MakeGccLibraryName(const std::string& libraryFilePath)
void MessageDone()
MessageFactory()
void MessageInit()
std::unique_ptr<ClientCommand> ParseClientCommand(const std::string& command)
std::unique_ptr<ServerCommand> ParseServerCommand(const std::string& command)
void ParseSourceFile(ParserData* parserData)
std::vector<std::unique_ptr<CompileUnitNode>> ParseSources(Module* module, const std::vector<std::string>& sourceFilePaths, bool& stop)
std::vector<std::unique_ptr<CompileUnitNode>> ParseSourcesConcurrently(Module* module, const std::vector<std::string>& sourceFilePaths, int numThreads, bool& stop)
std::vector<std::unique_ptr<CompileUnitNode>> ParseSourcesInMainThread(Module* module, const std::vector<std::string>& sourceFilePaths, bool& stop)
void Preprocess(Project* project, std::vector<std::unique_ptr<CompileUnitNode>>& compileUnits)
void ProjectBuilder(BuildData* buildData)
ProjectInfo ReadPojectInfo(Project* project, const std::string& projectInfoFilePath)
std::unique_ptr<Project> ReadProject(const std::string& projectFilePath)
void Register(const char* messageId, MessageCreator* messageCreator)
void ResetStopBuild()
void RunContinuousSocketServer(SocketServer* socketServer)
void RunSocketServer(SocketServer* server)
void ServerDone()
void ServerInit()
void SetBuildLogWriter(LogFileWriter* buildLogWriter_)
void SetDefines(Module* module, const std::string& definesFilePath)
bool SolutionContainsSystemModule(const std::string& solutionFilePath)
void StopBuild()
void WriteProjectInfo(Project* project, std::vector<std::unique_ptr<CompileUnitNode>>& compileUnits)
~MessageBase()
~MessageCreator()

Variables

bool buildDebug
int64_t buildDebugStart
const int buildGetTimeoutSecs
LogFileWriter* buildLogWriter
const char* buildProjectRequestId
const char* buildProjectResponseId
const char* closeConnectionRequestId
int64_t compileDebugStart
int compileGetTimeoutSecs
Solution* currentSolution
const char* dynamicDebugRuntimeArg
const char* dynamicRuntimeArg
const char* errorResponseId
std::unique_ptr<MessageFactory> instance
const char* pushProjectFileContentRequestId
const char* pushProjectFileContentResponseId
const char* pushProjectFileRequestId
const char* pushProjectFileResponseId
const char* pushProjectRequestId
const char* pushProjectResponseId
const char* showBuildMessageRequestId
const char* showBuildMessageResponseId
bool stopBuild

Function Details

BindStatements Function

void cmajor::build::BindStatements(BoundCompileUnit & boundCompileUnit)

Definition at line 436 of Build.cpp :
 437 {
 438     StatementBinder statementBinder(boundCompileUnit);
 439     boundCompileUnit.GetCompileUnitNode()->Accept(statementBinder);
 440 }


Calls: cmajor::binder::BoundCompileUnit::GetCompileUnitNode


BindTypes Function

std::vector<std::unique_ptr<BoundCompileUnit >> cmajor::build::BindTypes(Module & module, const std::vector<std::unique_ptr<CompileUnitNode >>& compileUnits, AttributeBinder * attributeBinder, bool & stop)

Definition at line 416 of Build.cpp


BuildMsBuildProject Function

void cmajor::build::BuildMsBuildProject(const std::string& projectName, const std::string& projectDirectory, const std::string& target, const std::vector<std::string>& sourceFiles, const std::vector<std::string>& resourceFiles, const std::vector<std::string>& referenceFiles, std::unique_ptr<Module >& rootModule)

Definition at line 3626 of Build.cpp
Declaration at line 25 of Build.hpp

Calls: soulng::util::Path::Combine


BuildProject Function

void cmajor::build::BuildProject(Project * project, std::unique_ptr<Module >& rootModule, bool & stop, bool resetRootModule, std::set<std::string>& builtProjects)

Definition at line 2914 of Build.cpp
Declaration at line 22 of Build.hpp

Calls: cmajor::symbols::SymbolWriter::SetLexers , cmajor::symbols::SymbolWriter::SetSpanConversionModuleId , sngcm::ast::Project::AddDependsOnId , sngcm::ast::Project::ExecutableFilePath , sngcm::ast::Project::FilePath , sngcm::ast::Project::GetTarget , sngcm::ast::Project::IsUpToDate , sngcm::ast::Project::LibraryFilePath , sngcm::ast::Project::LogStreamId , sngcm::ast::Project::ModuleFilePath , sngcm::ast::Project::Name , sngcm::ast::Project::ReferencedProjectFilePaths , sngcm::ast::Project::References , sngcm::ast::Project::SetLibraryFilePath , sngcm::ast::Project::SetModuleFilePath , sngcm::ast::Project::SetSystemProject , sngcm::ast::Project::SourceFilePaths , soulng::util::CodeFormatter::SetIndentSize , soulng::util::Path::ChangeExtension


BuildProject Function

void cmajor::build::BuildProject(const std::string& projectFilePath, std::unique_ptr<Module >& rootModule, std::set<std::string>& builtProjects)

Definition at line 3235 of Build.cpp
Declaration at line 21 of Build.hpp


BuildServerMessageDone Function

void cmajor::build::BuildServerMessageDone()

Definition at line 196 of BuildServerMessage.cpp :
197 {
198 }


Declaration at line 123 of BuildServerMessage.hpp


BuildServerMessageInit Function

void cmajor::build::BuildServerMessageInit()

Definition at line 180 of BuildServerMessage.cpp
Declaration at line 122 of BuildServerMessage.hpp


BuildSolution Function

void cmajor::build::BuildSolution(const std::string& solutionFilePath, std::vector<std::unique_ptr<Module >>& rootModules)

Definition at line 3420 of Build.cpp :
3421 {
3422     std::u32string solutionName;
3423     std::vector<std::u32string> moduleNames;
3424     BuildSolution(solutionFilePathrootModulessolutionNamemoduleNames);
3425 }


Declaration at line 23 of Build.hpp


BuildSolution Function

void cmajor::build::BuildSolution(const std::string& solutionFilePath, std::vector<std::unique_ptr<Module >>& rootModules, std::u32string& solutionName, std::vector<std::u32string>& moduleNames)

Definition at line 3427 of Build.cpp
Declaration at line 24 of Build.hpp

Calls: SolutionFileParser::Parse , cmajor::build::ProjectQueue::Get , cmajor::build::ProjectQueue::Put , sngcm::ast::Project::GetTarget , sngcm::ast::Project::Name , sngcm::ast::Project::Ready , sngcm::ast::Project::SetBuilt , sngcm::ast::Project::SetIndex , sngcm::ast::Project::SetLogStreamId , soulng::util::LogFileWriter::WriteCurrentDateTime , soulng::util::LogFileWriter::WriteLine , soulng::util::MappedInputFile::Begin , soulng::util::MappedInputFile::End


CheckMainFunctionSymbol Function

void cmajor::build::CheckMainFunctionSymbol(Module & module)

Definition at line 1584 of Build.cpp

Calls: cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::SourceModuleId , cmajor::symbols::SymbolTable::GetTypeByName , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::TypeSymbol::AddConst , cmajor::symbols::TypeSymbol::AddPointer , cmajor::symbols::TypeSymbol::IsVoidType


CleanProject Function

void cmajor::build::CleanProject(Project * project)

Definition at line 1561 of Build.cpp

Calls: sngcm::ast::Project::ExecutableFilePath , sngcm::ast::Project::FilePath , sngcm::ast::Project::GetTarget , sngcm::ast::Project::LogStreamId , sngcm::ast::Project::ModuleFilePath , sngcm::ast::Project::Name


CmajorConfigDir Function

std::string cmajor::build::CmajorConfigDir()

Definition at line 77 of ServerConfig.cpp :
 78 {
 79     return Path::Combine(CmajorRootDir()"config");
 80 }



CmajorServerConfigFilePath Function

std::string cmajor::build::CmajorServerConfigFilePath()

Definition at line 82 of ServerConfig.cpp :
 83 {
 84     return Path::Combine(CmajorConfigDir()"server-config.xml");
 85 }


Called by: cmajor::build::ServerConfig::GetServerInfo , cmajor::build::ServerConfig::Read , cmajor::build::ServerConfig::Write


CompileMultiThreaded Function

void cmajor::build::CompileMultiThreaded(Project * project, Module * rootModule, std::vector<std::unique_ptr<BoundCompileUnit >>& boundCompileUnits, std::vector<std::string>& objectFilePaths, bool & stop)

Definition at line 2680 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::GetCompileUnitNode , cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::SetImmutable , cmajor::build::CompileQueue::Get , cmajor::build::CompileQueue::NotifyAll , cmajor::build::CompileQueue::Put , cmajor::symbols::Module::GetBuildTimeMs , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::Name , cmajor::symbols::Module::StartBuild , cmajor::symbols::Module::StopBuild , sngcm::ast::Project::LogStreamId


CompileSingleThreaded Function

void cmajor::build::CompileSingleThreaded(Project * project, Module * rootModule, std::vector<std::unique_ptr<BoundCompileUnit >>& boundCompileUnits, EmittingContext & emittingContext, std::vector<std::string>& objectFilePaths, std::unordered_map<int , cmdoclib::File>& docFileMap, bool & stop)

Definition at line 2498 of Build.cpp

Calls: cmajor::symbols::Module::GetBuildTimeMs , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::Name , cmajor::symbols::Module::StartBuild , cmajor::symbols::Module::StopBuild , sngcm::ast::Project::LogStreamId , soulng::util::CodeFormatter::SetIndentSize , soulng::util::Path::ChangeExtension


CreateCoutLog Function

std::unique_ptr<Log > cmajor::build::CreateCoutLog()

Definition at line 39 of Log.cpp :
40 {
41     return std::unique_ptr<Log>(new CoutLog());
42 }


Declaration at line 24 of Log.hpp


CreateCppProjectFile Function

void cmajor::build::CreateCppProjectFile(Project * project, Module & module, const std::string& mainSourceFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths)

Definition at line 945 of Build.cpp

Calls: cmajor::symbols::Module::LogStreamId , sngcm::ast::Project::GetTarget , sngcm::ast::Project::Name , sngcm::ast::Project::RelativeSourceFilePaths , sngcm::ast::Project::SourceBasePath , soulng::util::Path::ChangeExtension , soulng::util::Path::Combine , soulng::util::Path::GetDirectoryName , soulng::util::Path::GetFileName , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


CreateCppSolutionFile Function

void cmajor::build::CreateCppSolutionFile(Solution * solution, const std::vector<Project *>& projects)

Definition at line 1156 of Build.cpp

Calls: sngcm::ast::Solution::FilePath , sngcm::ast::Solution::Name , sngcm::ast::Solution::RelativeProjectFilePaths , soulng::util::Path::ChangeExtension , soulng::util::Path::Combine , soulng::util::Path::GetDirectoryName , soulng::util::Path::GetFileName , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


CreateDynamicListFile Function

void cmajor::build::CreateDynamicListFile(const std::string& dynamicListFilePath, Module & module)

Definition at line 1433 of Build.cpp

Calls: cmajor::symbols::Module::AllExportedData , cmajor::symbols::Module::AllExportedFunctions , cmajor::symbols::Module::ExportedData , cmajor::symbols::Module::ExportedFunctions , soulng::util::CodeFormatter::DecIndent , soulng::util::CodeFormatter::IncIndent , soulng::util::CodeFormatter::WriteLine


CreateExecutionContext Function

std::unique_ptr<ExecutionContext > cmajor::build::CreateExecutionContext(const std::string& serverName)

Definition at line 44 of ClientCommand.cpp
Declaration at line 17 of ClientCommand.hpp

Called by: cmajor::build::BuildProjectClientCommand::Execute , cmajor::build::PushProjectClientCommand::Execute


CreateFiberConnection Function

std::unique_ptr<FiberConnection > cmajor::build::CreateFiberConnection(Log * log)

Definition at line 130 of FiberConnection.cpp :
131 {
132     return std::unique_ptr<FiberConnection>(new FiberConnection(log));
133 }


Declaration at line 56 of FiberConnection.hpp


CreateJsonRegistrationUnit Function

void cmajor::build::CreateJsonRegistrationUnit(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder)

Definition at line 1616 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::JsonClasses , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember


CreateMainUnitCpp Function

void cmajor::build::CreateMainUnitCpp(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder, std::string& mainObjectFilePath, std::string& mainSourceFilePath)

Definition at line 1804 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::LLFilePath , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::ClassesHavingStaticConstructor , cmajor::symbols::SymbolTable::JsonClasses , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::SymbolTable::PolymorphicClasses , cmajor::symbols::TypeSymbol::IsVoidType , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetProgramMainUnit , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::ConstructionStatementNode::AddArgument , sngcm::ast::FunctionNode::AddParameter , sngcm::ast::FunctionNode::SetBody , sngcm::ast::FunctionNode::SetProgramMain , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember , sngcm::ast::TryStatementNode::AddCatch , soulng::util::Path::ChangeExtension


CreateMainUnitCppWindowsGUI Function

void cmajor::build::CreateMainUnitCppWindowsGUI(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder, std::string& mainObjectFilePath, std::string& mainSourceFilePath)

Definition at line 2211 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::LLFilePath , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::ClassesHavingStaticConstructor , cmajor::symbols::SymbolTable::JsonClasses , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::SymbolTable::PolymorphicClasses , cmajor::symbols::TypeSymbol::IsVoidType , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetProgramMainUnit , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::ConstructionStatementNode::AddArgument , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember , sngcm::ast::TryStatementNode::AddCatch , soulng::util::Path::ChangeExtension


CreateMainUnitLlvm Function

void cmajor::build::CreateMainUnitLlvm(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder, std::string& mainObjectFilePath)

Definition at line 1654 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::ClassesHavingStaticConstructor , cmajor::symbols::SymbolTable::JsonClasses , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::SymbolTable::PolymorphicClasses , cmajor::symbols::TypeSymbol::IsVoidType , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetProgramMainUnit , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember , sngcm::ast::TryStatementNode::AddCatch


CreateMainUnitLlvmWindowsGUI Function

void cmajor::build::CreateMainUnitLlvmWindowsGUI(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder, std::string& mainObjectFilePath)

Definition at line 2069 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::ClassesHavingStaticConstructor , cmajor::symbols::SymbolTable::JsonClasses , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::SymbolTable::PolymorphicClasses , cmajor::symbols::TypeSymbol::IsVoidType , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetProgramMainUnit , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::ConstructionStatementNode::AddArgument , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember , sngcm::ast::TryStatementNode::AddCatch


CreateMainUnitSystemX Function

void cmajor::build::CreateMainUnitSystemX(std::vector<std::string>& objectFilePaths, Module & module, EmittingContext & emittingContext, AttributeBinder * attributeBinder, std::string& mainObjectFilePath)

Definition at line 1990 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::HasGotos , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::PopBindingTypes , cmajor::binder::BoundCompileUnit::PushBindingTypes , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::FunctionSymbol::ReturnType , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::OriginalFilePath , cmajor::symbols::SymbolTable::MainFunctionSymbol , cmajor::symbols::TypeSymbol::IsVoidType , sngcm::ast::CompileUnitNode::Accept , sngcm::ast::CompileUnitNode::GlobalNs , sngcm::ast::CompileUnitNode::SetProgramMainUnit , sngcm::ast::CompileUnitNode::SetSynthesizedUnit , sngcm::ast::CompoundStatementNode::AddStatement , sngcm::ast::InvokeNode::AddArgument , sngcm::ast::NamespaceNode::AddMember , sngcm::ast::TryStatementNode::AddCatch


CreateMessage Function

std::unique_ptr<MessageBase> cmajor::build::CreateMessage(JsonObject * messageObject)

Definition at line 40 of Message.cpp

Calls: soulng::util::JsonObject::GetField , soulng::util::JsonString::Value , soulng::util::JsonValue::Type

Called by: cmajor::build::Connection::Receive


CreateServerExecutionContext Function

std::unique_ptr<ExecutionContext > cmajor::build::CreateServerExecutionContext(const std::string& serverName)

Definition at line 21 of ServerCommand.cpp :
 22 {
 23     if (serverName == "local")
 24     {
 25         throw std::runtime_error("cannot run 'local' server in server execution context");
 26     }
 27     return std::unique_ptr<ExecutionContext>(new ServerExecutionContext(serverName));
 28 }


Called by: cmajor::build::RunServerServerCommand::Execute


CreateSymbols Function

void cmajor::build::CreateSymbols(SymbolTable & symbolTable, const std::vector<std::unique_ptr<CompileUnitNode >>& compileUnits, bool & stop)

Definition at line 402 of Build.cpp

Calls: cmajor::symbols::SymbolTable::SetCurrentCompileUnit


CurrentCompileDebugMsStr Function

std::string cmajor::build::CurrentCompileDebugMsStr()

Definition at line 2555 of Build.cpp :
2556 {
2557     return FormatTimeMs(static_cast<int32_t>(CurrentMs() - compileDebugStart));
2558 }



CurrentProjectDebugMsStr Function

std::string cmajor::build::CurrentProjectDebugMsStr()

Definition at line 3270 of Build.cpp :
3271 {
3272     return FormatTimeMs(static_cast<int32_t>(CurrentMs() - buildDebugStart));
3273 }


Called by: cmajor::build::ProjectQueue::Get , cmajor::build::ProjectQueue::Put


Done Function

void cmajor::build::Done()

Definition at line 29 of Message.cpp :
30 {
31     instance.reset();
32 }


Declaration at line 13 of InitDone.hpp


Done Function

void cmajor::build::Done()

Definition at line 20 of InitDone.cpp
Declaration at line 13 of InitDone.hpp


GenerateCode Function

void cmajor::build::GenerateCode(CompileData * data, int threadId)

Definition at line 2637 of Build.cpp

Calls: cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::build::CompileQueue::Get , cmajor::build::CompileQueue::NotifyAll , cmajor::build::CompileQueue::Put


GenerateLibrary Function

void cmajor::build::GenerateLibrary(Module * module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)

Definition at line 705 of Build.cpp
Declaration at line 28 of Build.hpp


GenerateLibraryCpp Function

void cmajor::build::GenerateLibraryCpp(Module * module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)

Definition at line 442 of Build.cpp

Calls: cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::SetCurrentToolName , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


GenerateLibraryLlvm Function

void cmajor::build::GenerateLibraryLlvm(Module * module, const std::vector<std::string>& objectFilePaths, const std::string& libraryFilePath)

Definition at line 645 of Build.cpp

Calls: cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::SetCurrentToolName , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


GenerateProjectInfoFile Function

void cmajor::build::GenerateProjectInfoFile(Project * project)

Definition at line 2874 of Build.cpp

Calls: sngcm::ast::Project::AddDependsOnId , sngcm::ast::Project::ReferencedProjectFilePaths , sngcm::ast::Project::SourceFilePaths


GetBoostLibDirFromCompilerConfigXml Function

std::string cmajor::build::GetBoostLibDirFromCompilerConfigXml()

Definition at line 723 of Build.cpp

Calls: sngxml::dom::Element::GetAttribute , sngxml::dom::Node::GetNodeType , sngxml::xpath::XPathNodeSet::Length , soulng::util::Path::Combine


GetCppSolutionDirectoryPath Function

std::string cmajor::build::GetCppSolutionDirectoryPath(Project * project)

Definition at line 937 of Build.cpp :
 938 {
 939     if (currentSolution == nullptr) return std::string();
 940     const Tool& libraryManagerTool = GetLibraryManagerTool(GetPlatform()GetToolChain());
 941     const Configuration& configuration = GetToolConfiguration(libraryManagerToolGetConfig());
 942     return GetFullPath(Path::Combine(Path::Combine(Path::Combine(Path::Combine(Path::GetDirectoryName(currentSolution->FilePath())"cpp")GetToolChain())GetConfig())configuration.outputDirectory));
 943 }


Calls: sngcm::ast::Solution::FilePath , soulng::util::Path::Combine , soulng::util::Path::GetDirectoryName


GetDefaultLocalPort Function

int cmajor::build::GetDefaultLocalPort()

Definition at line 37 of ServerConfig.cpp :
 38 {
 39     return 52360;
 40 }


Declaration at line 20 of ServerConfig.hpp


GetDefaultToolChainForCurrentPlatform Function

std::string cmajor::build::GetDefaultToolChainForCurrentPlatform()

Definition at line 28 of ServerConfig.cpp :
 29 {
 33     return "gcc";
 35 }


Declaration at line 19 of ServerConfig.hpp


GetFilePath Function

std::string cmajor::build::GetFilePath(const std::string& path)

Definition at line 32 of ClientCommand.cpp :
 33 {
 34     Assert(path.size() >= 2"invalid path");
 35     Assert(path[0] == '<' && path[path.size() - 1] == '>'"invalid path");
 36     std::string p = path.substr(1path.size() - 2);
 37     if (p == "system")
 38     {
 39         return GetFullPath(Path::Combine(Path::Combine(Path::Combine(CmajorRootDir()"system")"System.Install")"System.Install.cmp"));
 40     }
 41     return GetFullPath(p);
 42 }



Init Function

void cmajor::build::Init()

Definition at line 24 of Message.cpp :
25 {
26     instance.reset(new MessageFactory());
27 }


Declaration at line 12 of InitDone.hpp


Init Function

void cmajor::build::Init()

Definition at line 13 of InitDone.cpp
Declaration at line 12 of InitDone.hpp


InstallSystemLibraries Function

void cmajor::build::InstallSystemLibraries(Module * systemInstallModule)

Definition at line 2386 of Build.cpp

Calls: cmajor::symbols::Module::AllReferencedModules , cmajor::symbols::Module::LibraryFilePath , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::OriginalFilePath


InstallSystemWindowsLibraries Function

void cmajor::build::InstallSystemWindowsLibraries(Module * systemInstallWindowsModule)

Definition at line 2442 of Build.cpp

Calls: cmajor::symbols::Module::AllReferencedModules , cmajor::symbols::Module::LibraryFilePath , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::OriginalFilePath


IsProjectInfoUpToDate Function

bool cmajor::build::IsProjectInfoUpToDate(Project * project, const std::string& projectInfoFilePath)

Definition at line 2851 of Build.cpp

Calls: sngcm::ast::Project::FilePath , sngcm::ast::Project::SourceFilePaths


void cmajor::build::Link(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module & module)

Definition at line 1543 of Build.cpp
Declaration at line 29 of Build.hpp


LinkCpp Function

void cmajor::build::LinkCpp(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module & module)

Definition at line 768 of Build.cpp

Calls: cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::ResourceFilePath , soulng::util::Path::ChangeExtension , soulng::util::Path::Combine , soulng::util::Path::GetDirectoryName , soulng::util::Path::HasExtension , soulng::util::Process::ExitCode , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


LinkLlvm Function

void cmajor::build::LinkLlvm(Target target, const std::string& executableFilePath, const std::string& libraryFilePath, const std::vector<std::string>& libraryFilePaths, const std::string& mainObjectFilePath, Module & module)

Definition at line 1459 of Build.cpp

Calls: cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::SetCurrentToolName , soulng::util::Path::Combine , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


MakeGccLibraryName Function

std::string cmajor::build::MakeGccLibraryName(const std::string& libraryFilePath)

Definition at line 756 of Build.cpp :
 757 {
 758     if (StartsWith(libraryFilePath"lib") && EndsWith(libraryFilePath".a"))
 759     {
 760         return "-l" + Path::GetFileName(libraryFilePath.substr(3libraryFilePath.length() - (3 + 2)));
 761     }
 762     return libraryFilePath;
 763 }


Calls: soulng::util::Path::GetFileName


MessageDone Function

void cmajor::build::MessageDone()

Definition at line 76 of Message.cpp :
77 {
78     MessageFactory::Done();
79 }



MessageFactory Function

cmajor::build::MessageFactory()

Definition at line 18 of Message.cpp :
19 {
20 }



MessageInit Function

void cmajor::build::MessageInit()

Definition at line 71 of Message.cpp :
72 {
73     MessageFactory::Init();
74 }



ParseClientCommand Function

std::unique_ptr<ClientCommand > cmajor::build::ParseClientCommand(const std::string& command)

Definition at line 204 of ClientCommand.cpp :
205 {
206     BuildLangLexer lexer(ToUtf32(command)""0);
207     BuildOptionSetter optionSetter;
208     return BuildLangClientParser::Parse(lexer&optionSetter);
209 }


Declaration at line 106 of ClientCommand.hpp

Calls: BuildLangClientParser::Parse


ParseServerCommand Function

std::unique_ptr<ServerCommand > cmajor::build::ParseServerCommand(const std::string& command)

Definition at line 96 of ServerCommand.cpp :
 97 {
 98     BuildLangLexer lexer(ToUtf32(command)""0);
 99     BuildOptionSetter optionSetter;
100     return BuildLangServerParser::Parse(lexer&optionSetter);
101 }


Declaration at line 57 of ServerCommand.hpp

Calls: BuildLangServerParser::Parse


ParseSourceFile Function

void cmajor::build::ParseSourceFile(ParserData * parserData)

Definition at line 215 of Build.cpp

Calls: CompileUnitParser::Parse , soulng::util::CodeFormatter::SetIndentSize , soulng::util::MappedInputFile::Begin , soulng::util::MappedInputFile::End , soulng::util::Path::ChangeExtension


ParseSources Function

std::vector<std::unique_ptr<CompileUnitNode >> cmajor::build::ParseSources(Module * module, const std::vector<std::string>& sourceFilePaths, bool & stop)

Definition at line 354 of Build.cpp

Calls: cmajor::symbols::Module::Name , sngcm::ast::AttributeNotUniqueException::GetSpan , sngcm::ast::AttributeNotUniqueException::ModuleId , sngcm::ast::AttributeNotUniqueException::PrevModuleId , sngcm::ast::AttributeNotUniqueException::PrevSpan , soulng::lexer::ParsingException::SetModule , soulng::lexer::ParsingException::SetProject


ParseSourcesConcurrently Function

std::vector<std::unique_ptr<CompileUnitNode >> cmajor::build::ParseSourcesConcurrently(Module * module, const std::vector<std::string>& sourceFilePaths, int numThreads, bool & stop)

Definition at line 282 of Build.cpp

Calls: cmajor::symbols::FileTable::RegisterFilePath , cmajor::symbols::Module::GetFileTable , cmajor::symbols::Module::Id , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::SetLexers


ParseSourcesInMainThread Function

std::vector<std::unique_ptr<CompileUnitNode >> cmajor::build::ParseSourcesInMainThread(Module * module, const std::vector<std::string>& sourceFilePaths, bool & stop)

Definition at line 108 of Build.cpp

Calls: CompileUnitParser::Parse , cmajor::symbols::FileTable::RegisterFilePath , cmajor::symbols::Module::GetFileTable , cmajor::symbols::Module::Id , cmajor::symbols::Module::LogStreamId , cmajor::symbols::Module::SetLexers , soulng::util::CodeFormatter::SetIndentSize , soulng::util::MappedInputFile::Begin , soulng::util::MappedInputFile::End , soulng::util::Path::ChangeExtension


Preprocess Function

void cmajor::build::Preprocess(Project * project, std::vector<std::unique_ptr<CompileUnitNode >>& compileUnits)

Definition at line 384 of Build.cpp

Calls: sngcm::ast::Project::DependsOnIds , sngcm::ast::Project::SetHash


ProjectBuilder Function

void cmajor::build::ProjectBuilder(BuildData * buildData)

Definition at line 3361 of Build.cpp

Calls: cmajor::build::ProjectQueue::Get , cmajor::build::ProjectQueue::Put , cmajor::build::ProjectQueue::Stop , sngcm::ast::Project::Index , sngcm::ast::Project::IsSystemProject


ReadPojectInfo Function

ProjectInfo cmajor::build::ReadPojectInfo(Project * project, const std::string& projectInfoFilePath)

Definition at line 2887 of Build.cpp
Declaration at line 34 of Build.hpp


ReadProject Function

std::unique_ptr<Project > cmajor::build::ReadProject(const std::string& projectFilePath)

Definition at line 2790 of Build.cpp
Declaration at line 33 of Build.hpp

Calls: ProjectFileParser::Parse , soulng::util::MappedInputFile::Begin , soulng::util::MappedInputFile::End


Register Function

void cmajor::build::Register(const char * messageId, MessageCreator* messageCreator)

Definition at line 34 of Message.cpp :
35 {
36     creatorMap[messageId] = messageCreator;
37     creators.push_back(std::unique_ptr<MessageCreator>(messageCreator));
38 }



ResetStopBuild Function

void cmajor::build::ResetStopBuild()

Definition at line 101 of Build.cpp :
 102 {
 103     stopBuild = false;
 104 }


Declaration at line 32 of Build.hpp


RunContinuousSocketServer Function

void cmajor::build::RunContinuousSocketServer(SocketServer * socketServer)

Definition at line 10 of ServerExecutionContext.cpp

Calls: cmajor::build::Log::Write , cmajor::build::SocketServer::GetLog , cmajor::build::SocketServer::Run


RunSocketServer Function

void cmajor::build::RunSocketServer(SocketServer * server)

Definition at line 12 of LocalExecutionContext.cpp

Calls: cmajor::build::Log::Write , cmajor::build::SocketServer::GetLog , cmajor::build::SocketServer::Run


ServerDone Function

void cmajor::build::ServerDone()

Definition at line 316 of ServerConfig.cpp :
317 {
318     ServerConfig::Done();
319 }


Declaration at line 66 of ServerConfig.hpp

Calls: cmajor::build::ServerConfig::Done


ServerInit Function

void cmajor::build::ServerInit()

Definition at line 311 of ServerConfig.cpp :
312 {
313     ServerConfig::Init();
314 }


Declaration at line 65 of ServerConfig.hpp

Calls: cmajor::build::ServerConfig::Init


SetBuildLogWriter Function

void cmajor::build::SetBuildLogWriter(LogFileWriter * buildLogWriter_)

Definition at line 89 of Build.cpp :
  90 {
  91     buildLogWriter = buildLogWriter_;
  92 }


Declaration at line 36 of Build.hpp


SetDefines Function

void cmajor::build::SetDefines(Module * module, const std::string& definesFilePath)

Definition at line 2354 of Build.cpp

Calls: cmajor::symbols::Module::ClearDefines , cmajor::symbols::Module::DefineSymbol


SolutionContainsSystemModule Function

bool cmajor::build::SolutionContainsSystemModule(const std::string& solutionFilePath)

Definition at line 3403 of Build.cpp
Declaration at line 35 of Build.hpp

Calls: SolutionFileParser::Parse , soulng::util::MappedInputFile::Begin , soulng::util::MappedInputFile::End


StopBuild Function

void cmajor::build::StopBuild()

Definition at line 96 of Build.cpp :
  97 {
  98     stopBuild = true;
  99 }


Declaration at line 31 of Build.hpp


WriteProjectInfo Function

void cmajor::build::WriteProjectInfo(Project * project, std::vector<std::unique_ptr<CompileUnitNode >>& compileUnits)

Definition at line 2815 of Build.cpp

Calls: ProjectInfo::ToJson , sngcm::ast::Project::DependsOnIds , sngcm::ast::Project::FilePath , sngcm::ast::Project::GetTarget , sngcm::ast::Project::Hash , sngcm::ast::Project::Id , sngcm::ast::Project::LogStreamId , sngcm::ast::Project::Name , soulng::util::Path::ChangeExtension


~MessageBase Function

cmajor::build::~MessageBase()

Definition at line 10 of Message.cpp :
11 {
12 }



~MessageCreator Function

cmajor::build::~MessageCreator()

Definition at line 14 of Message.cpp :
15 {
16 }



top | up | prev | next