top | up | prev | next

BoundCompileUnit Class

Definition at line 32 of BoundCompileUnit.hpp

Constructors

BoundCompileUnit(Module& module_, CompileUnitNode* compileUnitNode_, AttributeBinder* attributeBinder_)
BoundCompileUnit(const BoundCompileUnit&) delete

Member Functions

void Accept(BoundNodeVisitor& visitor) override
void AddBoundNode(std::unique_ptr<BoundNode>&& boundNode)
void AddConstantArray(ConstantSymbol* constantArraySymbol)
void AddConstantStructure(ConstantSymbol* constantStructureSymbol)
void AddCopyConstructorFor(const boost::uuids::uuid& typeId, std::unique_ptr<FunctionSymbol>&& copyConstructor)
void AddCopyConstructorToMap(const boost::uuids::uuid& typeId, FunctionSymbol* copyConstructor)
void AddFileScope(FileScope* fileScope)
void AddGlobalNs(std::unique_ptr<NamespaceNode>&& globalNs)
const std::vector<std::unique_ptr<FunctionSymbol>>& AllCompileUnitInitFunctionSymbols() const
const std::string& BCFilePath() const
bool BindingTypes() const
const std::vector<std::unique_ptr<BoundNode>>& BoundNodes() const
bool CanReuse(FunctionSymbol* functionSymbol) const
bool CodeGenerated(FunctionSymbol* functionSymbol) const
void CollectViableFunctions(const std::u32string& groupName, ContainerScope* containerScope, std::vector<std::unique_ptr<BoundExpression>>& arguments, BoundFunction* currentFunction, ViableFunctionSet& viableFunctions, std::unique_ptr<Exception>& exception, const Span& span, const boost::uuids::uuid& moduleId, CollectFlags flags)
const std::string& CppFilePath() const
const std::vector<std::unique_ptr<FileScope>>& FileScopes() const
void FinalizeBinding(ClassTemplateSpecializationSymbol* classTemplateSpecialization)
FileScope* FirstFileScope() const
void GenerateCompileUnitInitialization()
void GenerateCopyConstructorFor(ClassTypeSymbol* classTypeSymbol, ContainerScope* containerScope, BoundFunction* currentFunction, const Span& span, const boost::uuids::uuid& moduleId)
void GenerateCopyConstructorFor(InterfaceTypeSymbol* interfaceTypeSymbol, ContainerScope* containerScope, BoundFunction* currentFunction, const Span& span, const boost::uuids::uuid& moduleId)
void GenerateGlobalInitializationFunction()
void GenerateInitUnwindInfoFunctionSymbol()
AttributeBinder* GetAttributeBinder() const
ClassTemplateRepository& GetClassTemplateRepository()
CompileUnitNode* GetCompileUnitNode() const
GlobalVariableSymbol* GetCompileUnitUnwindInfoVarSymbol() const
ConceptRepository& GetConceptRepository()
ConstantArrayRepository& GetConstantArrayRepository()
ConstantStructureRepository& GetConstantStructureRepository()
FunctionSymbol* GetConversion(TypeSymbol* sourceType, TypeSymbol* targetType, ContainerScope* containerScope, BoundFunction* currentFunction, const Span& span, const boost::uuids::uuid& moduleId, ArgumentMatch& argumentMatch)
FunctionSymbol* GetCopyConstructorFor(const boost::uuids::uuid& typeId) const
FunctionNode* GetFunctionNodeFor(FunctionSymbol* constExprFunctionSymbol)
FunctionSymbol* GetGlobalInitializationFunctionSymbol() const
FunctionSymbol* GetInitCompileUnitFunctionSymbol() const
TypeSymbol* GetInitUnwindInfoDelegateType() const
FunctionSymbol* GetInitUnwindInfoFunctionSymbol() const
IdentifierNode* GetLatestIdentifier()
Module& GetModule()
int GetNextExitEntryIndex()
FunctionSymbol* GetPushCompileUnitUnwindInfoInitFunctionSymbol() const
SymbolTable& GetSymbolTable()
FunctionSymbol* GetSystemRuntimeAddCompileUnitFunctionSymbol() const
TypeSymbol* GetSystemRuntimeUnwindInfoSymbol() const
const char16_t* GetUtf16CharPtr(int stringId) const
const std::u16string& GetUtf16String(int stringId) const
const char32_t* GetUtf32CharPtr(int stringId) const
const std::u32string& GetUtf32String(int stringId) const
const unsigned char* GetUtf8CharPtr(int stringId) const
const std::string& GetUtf8String(int stringId) const
const boost::uuids::uuid& GetUuid(int uuidId) const
bool HasCopyConstructorFor(const boost::uuids::uuid& typeId) const
bool HasGotos() const
const std::string& Id() const
bool Immutable() const
int Install(const boost::uuids::uuid& uuid)
int Install(const std::string& str)
int Install(const std::u16string& str)
int Install(const std::u32string& str)
bool InstantiateClassTemplateMemberFunction(FunctionSymbol* memberFunction, ContainerScope* containerScope, BoundFunction* currentFunction, const Span& span, const boost::uuids::uuid& moduleId)
FunctionSymbol* InstantiateFunctionTemplate(FunctionSymbol* functionTemplate, const std::unordered_map<TemplateParameterSymbol*, TypeSymbol*>& templateParameterMapping, const Span& span, const boost::uuids::uuid& moduleId)
FunctionSymbol* InstantiateInlineFunction(FunctionSymbol* inlineFunction, ContainerScope* containerScope, const Span& span, const boost::uuids::uuid& moduleId)
bool IsGeneratedDestructorInstantiated(DestructorSymbol* generatedDestructorSymbol) const
const std::string& LLFilePath() const
void Load(Emitter& emitter, OperationFlags flags) override
const std::string& ObjectFilePath() const
const std::string& OptBCFilePath() const
const std::string& OptLLFilePath() const
void PopBindingTypes()
void PopNamespace()
void PushBindingTypes()
void PushNamespace(BoundNamespace* ns)
FileScope* ReleaseLastFileScope()
void RemoveLastFileScope()
void SetCanReuse(FunctionSymbol* functionSymbol)
void SetCodeGenerated(FunctionSymbol* functionSymbol)
void SetGeneratedDestructorInstantiated(DestructorSymbol* generatedDestructorSymbol)
void SetHasGotos()
void SetImmutable()
void SetLatestIdentifier(IdentifierNode* latestIdentifierNode_)
void SetSystemRuntimeAddCompileUnitFunctionSymbol(FunctionSymbol* systemRuntimeAddCompileUnitFunctionSymbol_)
void SetSystemRuntimeUnwindInfoSymbol(TypeSymbol* systemRuntimeUnwindInfoSymbol_)
const std::string& SourceFilePath() const
void Store(Emitter& emitter, OperationFlags flags) override
BoundCompileUnit& operator=(const BoundCompileUnit&) delete

Member Variables

std::vector<std::unique_ptr<FunctionSymbol>> allCompileUnitInitFunctionSymbols
AttributeBinder* attributeBinder
std::string bcFilePath
bool bindingTypes
std::stack<bool> bindingTypesStack
std::vector<std::unique_ptr<BoundNode>> boundNodes
std::set<FunctionSymbol*> canReuse
ClassTemplateRepository classTemplateRepository
std::set<FunctionSymbol*> codeGenerated
int32_t compileUnitIndex
CompileUnitNode* compileUnitNode
std::unique_ptr<GlobalVariableSymbol> compileUnitUnwindInfoVarSymbol
ConceptRepository conceptRepository
ConstExprFunctionRepository constExprFunctionRepository
ConstantArrayRepository constantArrayRepository
ConstantStructureRepository constantStructureRepository
ConversionTable conversionTable
std::unordered_map<boost::uuids::uuid, FunctionSymbol*, boost::hash<boost::uuids::uuid>> copyConstructorMap
std::vector<std::unique_ptr<FunctionSymbol>> copyConstructors
std::string cppFilePath
BoundNamespace* currentNamespace
std::vector<std::unique_ptr<FileScope>> fileScopes
FunctionTemplateRepository functionTemplateRepository
FunctionSymbol* globalInitFunctionSymbol
std::vector<std::unique_ptr<NamespaceNode>> globalNamespaceNodes
bool hasGotos
bool immutable
std::unique_ptr<FunctionSymbol> initCompileUnitFunctionSymbol
TypeSymbol* initUnwindInfoDelegateType
std::unique_ptr<FunctionSymbol> initUnwindInfoFunctionSymbol
InlineFunctionRepository inlineFunctionRepository
std::set<DestructorSymbol*> instantiatedGeneratedDestructors
IdentifierNode* latestIdentifierNode
std::string llFilePath
Module& module
std::stack<BoundNamespace*> namespaceStack
int nextExitEntryIndex
std::string objectFilePath
OperationRepository operationRepository
std::string optBCFilePath
std::string optLLFilePath
FunctionSymbol* pushCompileUnitUnwindInfoInitFunctionSymbol
SymbolTable& symbolTable
FunctionSymbol* systemRuntimeAddCompileUnitFunctionSymbol
TypeSymbol* systemRuntimeUnwindInfoSymbol
StringRepository<std::u16string, const char16_t*> utf16StringRepository
StringRepository<std::u32string, const char32_t*> utf32StringRepository
StringRepository<std::string, const unsigned char*> utf8StringRepository
UuidRepository uuidRepository

Constructor Details

BoundCompileUnit Constructor

cmajor::binder::BoundCompileUnit::BoundCompileUnit(Module& module_, CompileUnitNode* compileUnitNode_, AttributeBinder * attributeBinder_)

Definition at line 270 of BoundCompileUnit.cpp


BoundCompileUnit Constructor

cmajor::binder::BoundCompileUnit::BoundCompileUnit(const BoundCompileUnit &) delete

Definition at line 36 of BoundCompileUnit.hpp


Member Function Details

Accept Member Function

void cmajor::binder::BoundCompileUnit::Accept(BoundNodeVisitor & visitor) override

Definition at line 327 of BoundCompileUnit.cpp :
 328 {
 329     visitor.Visit(*this);
 330 }


Declaration at line 40 of BoundCompileUnit.hpp

Base class overridden functions: cmajor::binder::BoundNode::Accept

Calls: cmajor::binder::BoundNodeVisitor::Visit

Called by: cmajor::binder::BoundCompileUnit::FinalizeBinding


AddBoundNode Member Function

void cmajor::binder::BoundCompileUnit::AddBoundNode(std::unique_ptr<BoundNode >&& boundNode)

Definition at line 357 of BoundCompileUnit.cpp
Declaration at line 49 of BoundCompileUnit.hpp

Calls: cmajor::binder::BoundNamespace::AddMember

Called by: cmajor::binder::BoundCompileUnit::GenerateCompileUnitInitialization , cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::ClassCopyAssignmentOperation::GenerateImplementation , cmajor::binder::ClassCopyConstructorOperation::GenerateImplementation , cmajor::binder::ClassDefaultConstructorOperation::GenerateImplementation , cmajor::binder::ClassMoveAssignmentOperation::GenerateImplementation , cmajor::binder::ClassMoveConstructorOperation::GenerateImplementation , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::TypeBinder::Visit


AddConstantArray Member Function

void cmajor::binder::BoundCompileUnit::AddConstantArray(ConstantSymbol* constantArraySymbol)

Definition at line 809 of BoundCompileUnit.cpp :
 810 {
 811     constantArrayRepository.AddConstantArray(constantArraySymbol);
 812 }


Calls: cmajor::binder::ConstantArrayRepository::AddConstantArray

Called by: cmajor::binder::TypeBinder::Visit


AddConstantStructure Member Function

void cmajor::binder::BoundCompileUnit::AddConstantStructure(ConstantSymbol* constantStructureSymbol)

Definition at line 814 of BoundCompileUnit.cpp :
 815 {
 816     constantStructureRepository.AddConstantStructure(constantStructureSymbol);
 817 }


Calls: cmajor::binder::ConstantStructureRepository::AddConstantStructure

Called by: cmajor::binder::TypeBinder::Visit


AddCopyConstructorFor Member Function

void cmajor::binder::BoundCompileUnit::AddCopyConstructorFor(const boost::uuids::uuid& typeId, std::unique_ptr<FunctionSymbol>&& copyConstructor)

Definition at line 882 of BoundCompileUnit.cpp :
 883 {
 884     copyConstructorMap[typeId] = copyConstructor.get();
 885     copyConstructors.push_back(std::move(copyConstructor));
 886 }


Called by: cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::OperationRepository::GenerateCopyConstructorFor


AddCopyConstructorToMap Member Function

void cmajor::binder::BoundCompileUnit::AddCopyConstructorToMap(const boost::uuids::uuid& typeId, FunctionSymbol* copyConstructor)

Definition at line 888 of BoundCompileUnit.cpp :
 889 {
 890     copyConstructorMap[typeId] = copyConstructor;
 891 }


Called by: cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceCopyConstructorOperation::CollectViableFunctions


AddFileScope Member Function

void cmajor::binder::BoundCompileUnit::AddFileScope(FileScope* fileScope)

Definition at line 332 of BoundCompileUnit.cpp :
 333 {
 334     fileScopes.push_back(std::unique_ptr<FileScope>(fileScope));
 335 }


Called by: cmajor::binder::BoundCompileUnit::FinalizeBinding , cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::ClassTemplateRepository::ResolveDefaultTemplateArguments , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::FunctionTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::JsonAttributeProcessor::GenerateJsonConstructorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateJsonCreatorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonJsonObjectImplementation , cmajor::binder::TypeBinder::Visit , cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation , cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation


AddGlobalNs Member Function

void cmajor::binder::BoundCompileUnit::AddGlobalNs(std::unique_ptr<NamespaceNode>&& globalNs)

Definition at line 893 of BoundCompileUnit.cpp :
 894 {
 895     globalNamespaceNodes.push_back(std::move(globalNs));
 896 }


Declaration at line 101 of BoundCompileUnit.hpp

Called by: cmajor::binder::FunctionTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate


AllCompileUnitInitFunctionSymbols Member Function

const std::vector<std::unique_ptr<FunctionSymbol >>& cmajor::binder::BoundCompileUnit::AllCompileUnitInitFunctionSymbols() const

Definition at line 118 of BoundCompileUnit.hpp :
118 { return allCompileUnitInitFunctionSymbols; }


BCFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::BCFilePath() const

Definition at line 79 of BoundCompileUnit.hpp :
 79 { return bcFilePath; }


BindingTypes Member Function

bool cmajor::binder::BoundCompileUnit::BindingTypes() const

Definition at line 90 of BoundCompileUnit.hpp :
 90 { return bindingTypes; }

Called by: cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization


BoundNodes Member Function

const std::vector<std::unique_ptr<BoundNode >>& cmajor::binder::BoundCompileUnit::BoundNodes() const

Definition at line 50 of BoundCompileUnit.hpp :
 50 { return boundNodes; }

Called by: cmajor::binder::ControlFlowAnalyzer::Visit


CanReuse Member Function

bool cmajor::binder::BoundCompileUnit::CanReuse(FunctionSymbol* functionSymbol) const

Definition at line 1034 of BoundCompileUnit.cpp :
1035 {
1036     return canReuse.find(functionSymbol) != canReuse.cend();
1037 }



CodeGenerated Member Function

bool cmajor::binder::BoundCompileUnit::CodeGenerated(FunctionSymbol* functionSymbol) const

Definition at line 1024 of BoundCompileUnit.cpp :
1025 {
1026     return codeGenerated.find(functionSymbol) != codeGenerated.cend();
1027 }



CollectViableFunctions Member Function

void cmajor::binder::BoundCompileUnit::CollectViableFunctions(const std::u32string& groupName, ContainerScope* containerScope, std::vector<std::unique_ptr<BoundExpression >>& arguments, BoundFunction * currentFunction, ViableFunctionSet& viableFunctions, std::unique_ptr<Exception>& exception, const Span& span, const boost::uuids::uuid& moduleId, CollectFlags flags)

Definition at line 717 of BoundCompileUnit.cpp :
 719 {
 720     operationRepository.CollectViableFunctions(groupNamecontainerScopeargumentscurrentFunctionviableFunctionsexceptionspanmoduleIdflags);
 721 }


Calls: cmajor::binder::OperationRepository::CollectViableFunctions


CppFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::CppFilePath() const

Definition at line 78 of BoundCompileUnit.hpp :
 78 { return cppFilePath; }


FileScopes Member Function

const std::vector<std::unique_ptr<FileScope >>& cmajor::binder::BoundCompileUnit::FileScopes() const

Definition at line 48 of BoundCompileUnit.hpp :
 48 { return fileScopes; }

Called by: cmajor::binder::ConceptIdResolver::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::TypeResolver::Visit


FinalizeBinding Member Function

void cmajor::binder::BoundCompileUnit::FinalizeBinding(ClassTemplateSpecializationSymbol* classTemplateSpecialization)

Definition at line 831 of BoundCompileUnit.cpp

Calls: cmajor::binder::BoundCompileUnit::Accept , cmajor::binder::BoundCompileUnit::AddFileScope , cmajor::binder::BoundCompileUnit::GetModule , cmajor::binder::BoundCompileUnit::RemoveLastFileScope

Called by: cmajor::binder::ArrayCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ArrayCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ArrayDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ArrayElementAccessOperation::CollectViableFunctions , cmajor::binder::ArrayMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ArrayMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ClassDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::InterfaceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::InterfaceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::InterfaceMoveConstructorOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceReturnOperation::CollectViableFunctions , cmajor::binder::OffsetPlusPointerOperation::CollectViableFunctions , cmajor::binder::PointerArrowOperation::CollectViableFunctions , cmajor::binder::PointerCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::PointerCopyConstructorOperation::CollectViableFunctions , cmajor::binder::PointerDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::PointerEqualOperation::CollectViableFunctions , cmajor::binder::PointerLessOperation::CollectViableFunctions , cmajor::binder::PointerMinusOffsetOperation::CollectViableFunctions , cmajor::binder::PointerMinusPointerOperation::CollectViableFunctions , cmajor::binder::PointerMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::PointerMoveConstructorOperation::CollectViableFunctions , cmajor::binder::PointerPlusOffsetOperation::CollectViableFunctions , cmajor::binder::PointerReturnOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceReturnOperation::CollectViableFunctions


FirstFileScope Member Function

FileScope * cmajor::binder::BoundCompileUnit::FirstFileScope() const

Definition at line 47 of BoundCompileUnit.hpp :
 47 { Assert(!fileScopes.empty()"file scopes empty");  return fileScopes.front().get(); }

Called by: cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::UsingNodeAdder::Visit , cmajor::binder::UsingNodeAdder::Visit


GenerateCompileUnitInitialization Member Function

void cmajor::binder::BoundCompileUnit::GenerateCompileUnitInitialization()

Definition at line 930 of BoundCompileUnit.cpp
Declaration at line 109 of BoundCompileUnit.hpp

Calls: cmajor::binder::BoundCompileUnit::AddBoundNode , cmajor::binder::BoundCompileUnit::Id , cmajor::binder::BoundNode::GetSpan , cmajor::ir::GenObject::SetType , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Module::IsCore , cmajor::symbols::SymbolTable::GetTypeByName , cmajor::symbols::SymbolTable::GlobalNs , cmajor::symbols::SymbolTable::SetFunctionIdFor

Called by: cmajor::binder::StatementBinder::Visit


GenerateCopyConstructorFor Member Function

void cmajor::binder::BoundCompileUnit::GenerateCopyConstructorFor(ClassTypeSymbol* classTypeSymbol, ContainerScope* containerScope, BoundFunction * currentFunction, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 744 of BoundCompileUnit.cpp :
 745 {
 746     operationRepository.GenerateCopyConstructorFor(classTypeSymbolcontainerScopecurrentFunctionspanmoduleId);
 747 }


Calls: cmajor::binder::OperationRepository::GenerateCopyConstructorFor


GenerateCopyConstructorFor Member Function

void cmajor::binder::BoundCompileUnit::GenerateCopyConstructorFor(InterfaceTypeSymbol* interfaceTypeSymbol, ContainerScope* containerScope, BoundFunction * currentFunction, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 749 of BoundCompileUnit.cpp :
 750 {
 751     operationRepository.GenerateCopyConstructorFor(interfaceTypeSymbolcontainerScopecurrentFunctionspanmoduleId);
 752 }


Calls: cmajor::binder::OperationRepository::GenerateCopyConstructorFor


GenerateGlobalInitializationFunction Member Function

void cmajor::binder::BoundCompileUnit::GenerateGlobalInitializationFunction()

Definition at line 992 of BoundCompileUnit.cpp
Declaration at line 116 of BoundCompileUnit.hpp

Calls: cmajor::symbols::ContainerSymbol::AddMember , cmajor::symbols::FunctionSymbol::ComputeMangledName , cmajor::symbols::FunctionSymbol::SetCDecl , cmajor::symbols::FunctionSymbol::SetGroupName , cmajor::symbols::FunctionSymbol::SetReturnType , cmajor::symbols::Module::AllCompileUnitIds , cmajor::symbols::Symbol::SetNothrow , cmajor::symbols::Symbol::SetParent , cmajor::symbols::SymbolTable::GetModule , cmajor::symbols::SymbolTable::GetTypeByName , cmajor::symbols::SymbolTable::GlobalNs , cmajor::symbols::SymbolTable::SetFunctionIdFor

Called by: cmajor::binder::TypeBinder::Visit


GenerateInitUnwindInfoFunctionSymbol Member Function

void cmajor::binder::BoundCompileUnit::GenerateInitUnwindInfoFunctionSymbol()

Definition at line 913 of BoundCompileUnit.cpp
Declaration at line 107 of BoundCompileUnit.hpp

Calls: cmajor::binder::BoundCompileUnit::Id , cmajor::symbols::SymbolTable::GetTypeByName , cmajor::symbols::SymbolTable::GlobalNs , cmajor::symbols::SymbolTable::SetFunctionIdFor

Called by: cmajor::binder::StatementBinder::GenerateEnterAndExitFunctionCode


GetAttributeBinder Member Function

AttributeBinder * cmajor::binder::BoundCompileUnit::GetAttributeBinder() const

Definition at line 92 of BoundCompileUnit.hpp :
 92 { return attributeBinder; }

Called by: cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::TypeBinder::BindClass , cmajor::binder::TypeBinder::BindInterface , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit , cmajor::binder::TypeBinder::Visit


GetClassTemplateRepository Member Function

ClassTemplateRepository & cmajor::binder::BoundCompileUnit::GetClassTemplateRepository()

Definition at line 86 of BoundCompileUnit.hpp :
 86 { return classTemplateRepository; }

Called by: cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::TypeBinder::BindClassTemplate , cmajor::binder::TypeBinder::Visit


GetCompileUnitNode Member Function

CompileUnitNode* cmajor::binder::BoundCompileUnit::GetCompileUnitNode() const

Definition at line 43 of BoundCompileUnit.hpp :
 43 { return compileUnitNode; }

Called by: cmajor::binder::ClassCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ClassDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::ExpressionBinder::BindSymbol , cmajor::binder::FunctionTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::OperationRepository::GenerateCopyConstructorFor


GetCompileUnitUnwindInfoVarSymbol Member Function

GlobalVariableSymbol * cmajor::binder::BoundCompileUnit::GetCompileUnitUnwindInfoVarSymbol() const

Definition at line 112 of BoundCompileUnit.hpp :
112 { return compileUnitUnwindInfoVarSymbol.get(); }


GetConceptRepository Member Function

ConceptRepository & cmajor::binder::BoundCompileUnit::GetConceptRepository()

Definition at line 87 of BoundCompileUnit.hpp :
 87 { return conceptRepository; }

Called by: cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit


GetConstantArrayRepository Member Function

ConstantArrayRepository & cmajor::binder::BoundCompileUnit::GetConstantArrayRepository()

Definition at line 73 of BoundCompileUnit.hpp :
 73 { return constantArrayRepository; }


GetConstantStructureRepository Member Function

ConstantStructureRepository & cmajor::binder::BoundCompileUnit::GetConstantStructureRepository()

Definition at line 75 of BoundCompileUnit.hpp :
 75 { return constantStructureRepository; }


GetConversion Member Function

FunctionSymbol* cmajor::binder::BoundCompileUnit::GetConversion(TypeSymbol* sourceType, TypeSymbol* targetType, ContainerScope* containerScope, BoundFunction * currentFunction, const Span& span, const boost::uuids::uuid& moduleId, ArgumentMatch & argumentMatch)

Definition at line 373 of BoundCompileUnit.cpp

Calls: cmajor::binder::BoundCompileUnit::GetModule , cmajor::binder::BoundCompileUnit::InstantiateClassTemplateMemberFunction , cmajor::binder::BoundCompileUnit::InstantiateFunctionTemplate , cmajor::binder::BoundCompileUnit::InstantiateInlineFunction , cmajor::binder::BoundFunctionGroupExpression::FunctionGroup , cmajor::binder::BoundFunctionGroupExpression::TemplateArgumentTypes , cmajor::binder::BoundMemberExpression::Member , cmajor::binder::BoundMemberExpression::ResetClassPtr , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization , cmajor::ir::GenObject::GetType , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::ConversionTable::AddConversion , cmajor::symbols::ConversionTable::AddGeneratedConversion , cmajor::symbols::ConversionTable::GetConversion , cmajor::symbols::Module::GetLock , cmajor::symbols::SymbolTable::CopyClassTemplateSpecialization , cmajor::symbols::SymbolTable::GetConversion , cmajor::symbols::SymbolTable::GetCurrentClassTemplateSpecialization , cmajor::symbols::SymbolTable::GetModule , cmajor::symbols::SymbolTable::GetTypeByName , cmajor::symbols::SymbolTable::GlobalNs , cmajor::symbols::TypeSymbol::AddPointer

Called by: cmajor::binder::ArrayElementAccessOperation::CollectViableFunctions , cmajor::binder::ClassCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassCopyAssignmentOperation::GenerateImplementation , cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ClassCopyConstructorOperation::GenerateImplementation , cmajor::binder::ClassDefaultConstructorOperation::GenerateImplementation , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::GenerateImplementation , cmajor::binder::ClassMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassMoveConstructorOperation::GenerateImplementation , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ExpressionBinder::BindArrow , cmajor::binder::ExpressionBinder::BindSymbol , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::OffsetPlusPointerOperation::CollectViableFunctions , cmajor::binder::PointerMinusOffsetOperation::CollectViableFunctions , cmajor::binder::PointerPlusOffsetOperation::CollectViableFunctions , cmajor::binder::StatementBinder::Visit


GetCopyConstructorFor Member Function

FunctionSymbol* cmajor::binder::BoundCompileUnit::GetCopyConstructorFor(const boost::uuids::uuid& typeId) const

Definition at line 869 of BoundCompileUnit.cpp
Declaration at line 96 of BoundCompileUnit.hpp

Called by: cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceCopyConstructorOperation::CollectViableFunctions


GetFunctionNodeFor Member Function

FunctionNode* cmajor::binder::BoundCompileUnit::GetFunctionNodeFor(FunctionSymbol* constExprFunctionSymbol)

Definition at line 739 of BoundCompileUnit.cpp :
 740 {
 741     return constExprFunctionRepository.GetFunctionNodeFor(constExprFunctionSymbol);
 742 }


Calls: cmajor::binder::ConstExprFunctionRepository::GetFunctionNodeFor

Called by: cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit


GetGlobalInitializationFunctionSymbol Member Function

FunctionSymbol * cmajor::binder::BoundCompileUnit::GetGlobalInitializationFunctionSymbol() const

Definition at line 117 of BoundCompileUnit.hpp :
117 { return globalInitFunctionSymbol; }


GetInitCompileUnitFunctionSymbol Member Function

FunctionSymbol * cmajor::binder::BoundCompileUnit::GetInitCompileUnitFunctionSymbol() const

Definition at line 110 of BoundCompileUnit.hpp :
110 { return initCompileUnitFunctionSymbol.get(); }

Called by: cmajor::binder::StatementBinder::Visit


GetInitUnwindInfoDelegateType Member Function

TypeSymbol * cmajor::binder::BoundCompileUnit::GetInitUnwindInfoDelegateType() const

Definition at line 113 of BoundCompileUnit.hpp :
113 { return initUnwindInfoDelegateType; }


GetInitUnwindInfoFunctionSymbol Member Function

FunctionSymbol * cmajor::binder::BoundCompileUnit::GetInitUnwindInfoFunctionSymbol() const

Definition at line 108 of BoundCompileUnit.hpp :
108 { return initUnwindInfoFunctionSymbol.get(); }

Called by: cmajor::binder::StatementBinder::GenerateEnterAndExitFunctionCode


GetLatestIdentifier Member Function

IdentifierNode* cmajor::binder::BoundCompileUnit::GetLatestIdentifier()

Definition at line 124 of BoundCompileUnit.hpp :
124 { return latestIdentifierNode; }

Called by: cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::TypeResolver::Visit


GetModule Member Function

Module & cmajor::binder::BoundCompileUnit::GetModule()

Definition at line 41 of BoundCompileUnit.hpp :
 41 { return module; }

Called by: cmajor::binder::ArrayCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ArrayCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ArrayDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ArrayElementAccessOperation::CollectViableFunctions , cmajor::binder::ArrayMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ArrayMoveConstructorOperation::CollectViableFunctions , cmajor::binder::BoundCompileUnit::FinalizeBinding , cmajor::binder::BoundCompileUnit::GetConversion , cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::ClassCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ClassDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::ControlFlowAnalyzer::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::InterfaceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::InterfaceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::InterfaceMoveConstructorOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::LvalueReferenceReturnOperation::CollectViableFunctions , cmajor::binder::OffsetPlusPointerOperation::CollectViableFunctions , cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::PointerArrowOperation::CollectViableFunctions , cmajor::binder::PointerCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::PointerCopyConstructorOperation::CollectViableFunctions , cmajor::binder::PointerDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::PointerEqualOperation::CollectViableFunctions , cmajor::binder::PointerLessOperation::CollectViableFunctions , cmajor::binder::PointerMinusOffsetOperation::CollectViableFunctions , cmajor::binder::PointerMinusPointerOperation::CollectViableFunctions , cmajor::binder::PointerMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::PointerMoveConstructorOperation::CollectViableFunctions , cmajor::binder::PointerPlusOffsetOperation::CollectViableFunctions , cmajor::binder::PointerReturnOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::RvalueReferenceReturnOperation::CollectViableFunctions , cmajor::binder::TypeResolver::Visit , cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorSymbol , cmajor::binder::XmlAttributeProcessor::GenerateToXmlSymbol


GetNextExitEntryIndex Member Function

int cmajor::binder::BoundCompileUnit::GetNextExitEntryIndex()

Definition at line 102 of BoundCompileUnit.hpp :
102 { return nextExitEntryIndex++; }


GetPushCompileUnitUnwindInfoInitFunctionSymbol Member Function

FunctionSymbol * cmajor::binder::BoundCompileUnit::GetPushCompileUnitUnwindInfoInitFunctionSymbol() const

Definition at line 111 of BoundCompileUnit.hpp :
111 { return pushCompileUnitUnwindInfoInitFunctionSymbol; }


GetSymbolTable Member Function

SymbolTable & cmajor::binder::BoundCompileUnit::GetSymbolTable()

Definition at line 42 of BoundCompileUnit.hpp :
 42 { return symbolTable; }

Called by: cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::ClassCopyAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::ClassTemplateRepository::ResolveDefaultTemplateArguments , cmajor::binder::ConstExprFunctionRepository::GetFunctionNodeFor , cmajor::binder::ConstraintChecker::GetType , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::ConstraintChecker::Visit , cmajor::binder::Evaluator::EvaluateEnumConstantSymbol , cmajor::binder::Evaluator::Visit , cmajor::binder::FunctionTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::JsonAttributeProcessor::GenerateJsonConstructorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateJsonCreatorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonJsonObjectImplementation , cmajor::binder::Operation::GetSymbolTable , cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::StatementBinder::GenerateEnterAndExitFunctionCode , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::TypeResolver::Visit , cmajor::binder::TypeResolver::Visit , cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation , cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation


GetSystemRuntimeAddCompileUnitFunctionSymbol Member Function

FunctionSymbol * cmajor::binder::BoundCompileUnit::GetSystemRuntimeAddCompileUnitFunctionSymbol() const

Definition at line 114 of BoundCompileUnit.hpp :
114 { return systemRuntimeAddCompileUnitFunctionSymbol; }


GetSystemRuntimeUnwindInfoSymbol Member Function

TypeSymbol * cmajor::binder::BoundCompileUnit::GetSystemRuntimeUnwindInfoSymbol() const

Definition at line 106 of BoundCompileUnit.hpp :
106 { return systemRuntimeUnwindInfoSymbol; }

Called by: cmajor::binder::StatementBinder::GenerateEnterAndExitFunctionCode


GetUtf16CharPtr Member Function

const char16_t * cmajor::binder::BoundCompileUnit::GetUtf16CharPtr(int stringId) const

Definition at line 794 of BoundCompileUnit.cpp :
 795 {
 796     return utf16StringRepository.CharPtr(stringId);
 797 }


Declaration at line 69 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::CharPtr<StringT, CharPtrT>


GetUtf16String Member Function

const std::u16string& cmajor::binder::BoundCompileUnit::GetUtf16String(int stringId) const

Definition at line 779 of BoundCompileUnit.cpp :
 780 {
 781     return utf16StringRepository.GetString(stringId);
 782 }


Declaration at line 66 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::GetString<StringT, CharPtrT>


GetUtf32CharPtr Member Function

const char32_t * cmajor::binder::BoundCompileUnit::GetUtf32CharPtr(int stringId) const

Definition at line 799 of BoundCompileUnit.cpp :
 800 {
 801     return utf32StringRepository.CharPtr(stringId);
 802 }


Declaration at line 70 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::CharPtr<StringT, CharPtrT>


GetUtf32String Member Function

const std::u32string& cmajor::binder::BoundCompileUnit::GetUtf32String(int stringId) const

Definition at line 784 of BoundCompileUnit.cpp :
 785 {
 786     return utf32StringRepository.GetString(stringId);
 787 }


Declaration at line 67 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::GetString<StringT, CharPtrT>


GetUtf8CharPtr Member Function

const unsigned char * cmajor::binder::BoundCompileUnit::GetUtf8CharPtr(int stringId) const

Definition at line 789 of BoundCompileUnit.cpp :
 790 {
 791     return utf8StringRepository.CharPtr(stringId);
 792 }


Declaration at line 68 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::CharPtr<StringT, CharPtrT>


GetUtf8String Member Function

const std::string& cmajor::binder::BoundCompileUnit::GetUtf8String(int stringId) const

Definition at line 774 of BoundCompileUnit.cpp :
 775 {
 776     return utf8StringRepository.GetString(stringId);
 777 }


Declaration at line 65 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::GetString<StringT, CharPtrT>


GetUuid Member Function

const boost::uuids::uuid& cmajor::binder::BoundCompileUnit::GetUuid(int uuidId) const

Definition at line 804 of BoundCompileUnit.cpp :
 805 {
 806     return uuidRepository.GetUuid(uuidId);
 807 }


Declaration at line 71 of BoundCompileUnit.hpp

Calls: cmajor::binder::UuidRepository::GetUuid


HasCopyConstructorFor Member Function

bool cmajor::binder::BoundCompileUnit::HasCopyConstructorFor(const boost::uuids::uuid& typeId) const

Definition at line 864 of BoundCompileUnit.cpp :
 865 {
 866     return copyConstructorMap.find(typeId) != copyConstructorMap.cend();
 867 }


Declaration at line 95 of BoundCompileUnit.hpp

Called by: cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::InterfaceCopyConstructorOperation::CollectViableFunctions , cmajor::binder::OperationRepository::GenerateCopyConstructorFor , cmajor::binder::OperationRepository::GenerateCopyConstructorFor


HasGotos Member Function

bool cmajor::binder::BoundCompileUnit::HasGotos() const

Definition at line 85 of BoundCompileUnit.hpp :
 85 { return hasGotos; }


Id Member Function

const std::string& cmajor::binder::BoundCompileUnit::Id() const

Definition at line 83 of BoundCompileUnit.hpp :
 83 { return compileUnitNode->Id(); }

Calls: cmajor::binder::BoundCompileUnit::Id

Called by: cmajor::binder::BoundCompileUnit::GenerateCompileUnitInitialization , cmajor::binder::BoundCompileUnit::GenerateInitUnwindInfoFunctionSymbol , cmajor::binder::BoundCompileUnit::Id


Immutable Member Function

bool cmajor::binder::BoundCompileUnit::Immutable() const

Definition at line 99 of BoundCompileUnit.hpp :
 99 { return immutable; }


Install Member Function

int cmajor::binder::BoundCompileUnit::Install(const boost::uuids::uuid& uuid)

Definition at line 769 of BoundCompileUnit.cpp :
 770 {
 771     return uuidRepository.Install(uuid);
 772 }


Declaration at line 64 of BoundCompileUnit.hpp

Calls: cmajor::binder::UuidRepository::Install

Called by: cmajor::binder::ExpressionBinder::Visit


Install Member Function

int cmajor::binder::BoundCompileUnit::Install(const std::string& str)

Definition at line 754 of BoundCompileUnit.cpp :
 755 {
 756     return utf8StringRepository.Install(str);
 757 }


Declaration at line 61 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::Install<StringT, CharPtrT>

Called by: cmajor::binder::ExpressionBinder::Visit , cmajor::binder::StatementBinder::Visit


Install Member Function

int cmajor::binder::BoundCompileUnit::Install(const std::u16string& str)

Definition at line 759 of BoundCompileUnit.cpp :
 760 {
 761     return utf16StringRepository.Install(str);
 762 }


Declaration at line 62 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::Install<StringT, CharPtrT>

Called by: cmajor::binder::ExpressionBinder::Visit


Install Member Function

int cmajor::binder::BoundCompileUnit::Install(const std::u32string& str)

Definition at line 764 of BoundCompileUnit.cpp :
 765 {
 766     return utf32StringRepository.Install(str);
 767 }


Declaration at line 63 of BoundCompileUnit.hpp

Calls: cmajor::binder::StringRepository::Install<StringT, CharPtrT>

Called by: cmajor::binder::ExpressionBinder::Visit


InstantiateClassTemplateMemberFunction Member Function

bool cmajor::binder::BoundCompileUnit::InstantiateClassTemplateMemberFunction(FunctionSymbol* memberFunction, ContainerScope* containerScope, BoundFunction * currentFunction, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 729 of BoundCompileUnit.cpp :
 730 {
 731     return classTemplateRepository.Instantiate(memberFunctioncontainerScopecurrentFunctionspanmoduleId);
 732 }


Calls: cmajor::binder::ClassTemplateRepository::Instantiate

Called by: cmajor::binder::BoundCompileUnit::GetConversion , cmajor::binder::BoundFunction::AddTemporaryDestructorCall


InstantiateFunctionTemplate Member Function

FunctionSymbol* cmajor::binder::BoundCompileUnit::InstantiateFunctionTemplate(FunctionSymbol* functionTemplate, const std::unordered_map<TemplateParameterSymbol*, TypeSymbol*>& templateParameterMapping, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 723 of BoundCompileUnit.cpp :
 725 {
 726     return functionTemplateRepository.Instantiate(functionTemplatetemplateParameterMappingspanmoduleId);
 727 }


Calls: cmajor::binder::FunctionTemplateRepository::Instantiate

Called by: cmajor::binder::BoundCompileUnit::GetConversion


InstantiateInlineFunction Member Function

FunctionSymbol* cmajor::binder::BoundCompileUnit::InstantiateInlineFunction(FunctionSymbol* inlineFunction, ContainerScope* containerScope, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 734 of BoundCompileUnit.cpp :
 735 {
 736     return inlineFunctionRepository.Instantiate(inlineFunctioncontainerScopespanmoduleId);
 737 }


Calls: cmajor::binder::InlineFunctionRepository::Instantiate

Called by: cmajor::binder::BoundCompileUnit::GetConversion


IsGeneratedDestructorInstantiated Member Function

bool cmajor::binder::BoundCompileUnit::IsGeneratedDestructorInstantiated(DestructorSymbol* generatedDestructorSymbol) const

Definition at line 898 of BoundCompileUnit.cpp :
 899 {
 900     return instantiatedGeneratedDestructors.find(generatedDestructorSymbol) != instantiatedGeneratedDestructors.cend();
 901 }


Called by: cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit


LLFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::LLFilePath() const

Definition at line 77 of BoundCompileUnit.hpp :
 77 { return llFilePath; }


Load Member Function

void cmajor::binder::BoundCompileUnit::Load(Emitter & emitter, OperationFlags flags) override

Definition at line 317 of BoundCompileUnit.cpp :
 318 {
 319     throw Exception("cannot load from compile unit"GetSpan()module.Id());
 320 }


Declaration at line 38 of BoundCompileUnit.hpp

Base class overridden functions: cmajor::ir::GenObject::Load

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::symbols::Module::Id


ObjectFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::ObjectFilePath() const

Definition at line 82 of BoundCompileUnit.hpp :
 82 { return objectFilePath; }


OptBCFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::OptBCFilePath() const

Definition at line 81 of BoundCompileUnit.hpp :
 81 { return optBCFilePath; }


OptLLFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::OptLLFilePath() const

Definition at line 80 of BoundCompileUnit.hpp :
 80 { return optLLFilePath; }


PopBindingTypes Member Function

void cmajor::binder::BoundCompileUnit::PopBindingTypes()

Definition at line 825 of BoundCompileUnit.cpp :
 826 {
 827     bindingTypes = bindingTypesStack.top();
 828     bindingTypesStack.pop();
 829 }


Declaration at line 89 of BoundCompileUnit.hpp


PopNamespace Member Function

void cmajor::binder::BoundCompileUnit::PopNamespace()

Definition at line 858 of BoundCompileUnit.cpp :
 859 {
 860     currentNamespace = namespaceStack.top();
 861     namespaceStack.pop();
 862 }


Declaration at line 94 of BoundCompileUnit.hpp

Called by: cmajor::binder::NamespaceVisitor::destructor , cmajor::binder::StatementBinder::Visit


PushBindingTypes Member Function

void cmajor::binder::BoundCompileUnit::PushBindingTypes()

Definition at line 819 of BoundCompileUnit.cpp :
 820 {
 821     bindingTypesStack.push(bindingTypes);
 822     bindingTypes = true;
 823 }


Declaration at line 88 of BoundCompileUnit.hpp


PushNamespace Member Function

void cmajor::binder::BoundCompileUnit::PushNamespace(BoundNamespace * ns)

Definition at line 852 of BoundCompileUnit.cpp :
 853 {
 854     namespaceStack.push(currentNamespace);
 855     currentNamespace = ns;
 856 }


Declaration at line 93 of BoundCompileUnit.hpp

Called by: cmajor::binder::StatementBinder::Visit


ReleaseLastFileScope Member Function

FileScope* cmajor::binder::BoundCompileUnit::ReleaseLastFileScope()

Definition at line 346 of BoundCompileUnit.cpp :
 347 {
 348     if (fileScopes.empty())
 349     {
 350         throw Exception("file scopes of bound compile unit is empty"GetSpan()module.Id());
 351     }
 352     FileScope* fileScope = fileScopes.back().release();
 353     RemoveLastFileScope();
 354     return fileScope;
 355 }


Declaration at line 46 of BoundCompileUnit.hpp

Calls: cmajor::binder::BoundCompileUnit::RemoveLastFileScope , cmajor::binder::BoundNode::GetSpan , cmajor::symbols::Module::Id

Called by: cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization


RemoveLastFileScope Member Function

void cmajor::binder::BoundCompileUnit::RemoveLastFileScope()

Definition at line 337 of BoundCompileUnit.cpp :
 338 {
 339     if (fileScopes.empty())
 340     {
 341         throw Exception("file scopes of bound compile unit is empty"GetSpan()module.Id());
 342     }
 343     fileScopes.erase(fileScopes.end() - 1);
 344 }


Declaration at line 45 of BoundCompileUnit.hpp

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::symbols::Module::Id

Called by: cmajor::binder::BoundCompileUnit::FinalizeBinding , cmajor::binder::BoundCompileUnit::ReleaseLastFileScope , cmajor::binder::ClassTemplateRepository::BindClassTemplateSpecialization , cmajor::binder::ClassTemplateRepository::Instantiate , cmajor::binder::ClassTemplateRepository::ResolveDefaultTemplateArguments , cmajor::binder::ConstraintChecker::destructor , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::Evaluator::Visit , cmajor::binder::FunctionTemplateRepository::Instantiate , cmajor::binder::InlineFunctionRepository::Instantiate , cmajor::binder::JsonAttributeProcessor::GenerateJsonConstructorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateJsonCreatorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonJsonObjectImplementation , cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation , cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation


SetCanReuse Member Function

void cmajor::binder::BoundCompileUnit::SetCanReuse(FunctionSymbol* functionSymbol)

Definition at line 1039 of BoundCompileUnit.cpp :
1040 {
1041     canReuse.insert(functionSymbol);
1042 }


Called by: cmajor::binder::FunctionTemplateRepository::Instantiate


SetCodeGenerated Member Function

void cmajor::binder::BoundCompileUnit::SetCodeGenerated(FunctionSymbol* functionSymbol)

Definition at line 1029 of BoundCompileUnit.cpp :
1030 {
1031     codeGenerated.insert(functionSymbol);
1032 }



SetGeneratedDestructorInstantiated Member Function

void cmajor::binder::BoundCompileUnit::SetGeneratedDestructorInstantiated(DestructorSymbol* generatedDestructorSymbol)

Definition at line 903 of BoundCompileUnit.cpp :
 904 {
 905     instantiatedGeneratedDestructors.insert(generatedDestructorSymbol);
 906 }


Called by: cmajor::binder::BoundFunction::AddTemporaryDestructorCall , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit


SetHasGotos Member Function

void cmajor::binder::BoundCompileUnit::SetHasGotos()

Definition at line 84 of BoundCompileUnit.hpp :
 84 { hasGotos = true; }

Called by: cmajor::binder::StatementBinder::Visit


SetImmutable Member Function

void cmajor::binder::BoundCompileUnit::SetImmutable()

Definition at line 100 of BoundCompileUnit.hpp :
100 { immutable = true; }


SetLatestIdentifier Member Function

void cmajor::binder::BoundCompileUnit::SetLatestIdentifier(IdentifierNode* latestIdentifierNode_)

Definition at line 123 of BoundCompileUnit.hpp :
123 { latestIdentifierNode = latestIdentifierNode_; }

Called by: cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::ExpressionBinder::Visit , cmajor::binder::TypeResolver::Visit , cmajor::binder::TypeResolver::Visit


SetSystemRuntimeAddCompileUnitFunctionSymbol Member Function

void cmajor::binder::BoundCompileUnit::SetSystemRuntimeAddCompileUnitFunctionSymbol(FunctionSymbol * systemRuntimeAddCompileUnitFunctionSymbol_)

Definition at line 115 of BoundCompileUnit.hpp :
115 { systemRuntimeAddCompileUnitFunctionSymbol = systemRuntimeAddCompileUnitFunctionSymbol_; }

Called by: cmajor::binder::StatementBinder::Visit


SetSystemRuntimeUnwindInfoSymbol Member Function

void cmajor::binder::BoundCompileUnit::SetSystemRuntimeUnwindInfoSymbol(TypeSymbol* systemRuntimeUnwindInfoSymbol_)

Definition at line 908 of BoundCompileUnit.cpp :
 909 {
 910     systemRuntimeUnwindInfoSymbol = systemRuntimeUnwindInfoSymbol_;
 911 }


Called by: cmajor::binder::StatementBinder::GenerateEnterAndExitFunctionCode


SourceFilePath Member Function

const std::string& cmajor::binder::BoundCompileUnit::SourceFilePath() const

Definition at line 76 of BoundCompileUnit.hpp :
 76 { return compileUnitNode->FilePath(); }


Store Member Function

void cmajor::binder::BoundCompileUnit::Store(Emitter & emitter, OperationFlags flags) override

Definition at line 322 of BoundCompileUnit.cpp :
 323 {
 324     throw Exception("cannot store to compile unit"GetSpan()module.Id());
 325 }


Declaration at line 39 of BoundCompileUnit.hpp

Base class overridden functions: cmajor::ir::GenObject::Store

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::symbols::Module::Id


operator= Member Function

BoundCompileUnit & cmajor::binder::BoundCompileUnit::operator=(const BoundCompileUnit &) delete

Definition at line 37 of BoundCompileUnit.hpp


top | up | prev | next