top | up | prev | next

Operation Abstract Class

Definition at line 39 of OperationRepository.hpp

Constructors

Operation(const std::u32string& groupName_, int arity_, BoundCompileUnit& boundCompileUnit_)

Member Functions

int Arity() const
void CollectViableFunctions(ContainerScope* containerScope_, const 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) pure virtual
BoundCompileUnit& GetBoundCompileUnit()
SymbolTable* GetSymbolTable()
const std::u32string& GroupName() const

Member Variables

int arity
BoundCompileUnit& boundCompileUnit
std::u32string groupName

Constructor Details

Operation Constructor

cmajor::binder::Operation::Operation(const std::u32string& groupName_, int arity_, BoundCompileUnit & boundCompileUnit_)

Definition at line 3955 of OperationRepository.cpp :
3955 : groupName(groupName_)arity(arity_)boundCompileUnit(boundCompileUnit_)
3956 {
3957 }


Declaration at line 42 of OperationRepository.hpp


Member Function Details

Arity Member Function

int cmajor::binder::Operation::Arity() const

Definition at line 47 of OperationRepository.hpp :
 47 { return arity; }

Called by: cmajor::binder::OperationGroup::Add


CollectViableFunctions Member Function

void cmajor::binder::Operation::CollectViableFunctions(ContainerScope * containerScope_, const 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) pure virtual

Definition at line 44 of OperationRepository.hpp

Called by: cmajor::binder::ArityOperation::CollectViableFunctions


GetBoundCompileUnit Member Function

BoundCompileUnit & cmajor::binder::Operation::GetBoundCompileUnit()

Definition at line 3968 of OperationRepository.cpp :
3969 {
3970     return boundCompileUnit;
3971 }


Declaration at line 49 of OperationRepository.hpp

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::ClassCopyAssignmentOperation::GenerateImplementation , cmajor::binder::ClassCopyConstructorOperation::CollectViableFunctions , cmajor::binder::ClassCopyConstructorOperation::GenerateImplementation , cmajor::binder::ClassDefaultConstructorOperation::CollectViableFunctions , cmajor::binder::ClassDefaultConstructorOperation::GenerateImplementation , cmajor::binder::ClassMoveAssignmentOperation::CollectViableFunctions , cmajor::binder::ClassMoveAssignmentOperation::GenerateImplementation , cmajor::binder::ClassMoveConstructorOperation::CollectViableFunctions , cmajor::binder::ClassMoveConstructorOperation::GenerateImplementation , 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


GetSymbolTable Member Function

SymbolTable* cmajor::binder::Operation::GetSymbolTable()

Definition at line 3963 of OperationRepository.cpp :
3964 {
3965     return &boundCompileUnit.GetSymbolTable();
3966 }


Declaration at line 48 of OperationRepository.hpp

Calls: cmajor::binder::BoundCompileUnit::GetSymbolTable

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::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


GroupName Member Function

const std::u32string& cmajor::binder::Operation::GroupName() const

Definition at line 46 of OperationRepository.hpp :
 46 { return groupName; }

Called by: cmajor::binder::ClassDefaultConstructorOperation::GenerateImplementation , cmajor::binder::OperationRepository::Add


top | up | prev | next