top | up | prev | next

FunctionGroupValue Class

Definition at line 65 of Evaluator.cpp

Constructors

FunctionGroupValue(FunctionGroupSymbol* functionGroup_, ContainerScope* qualifiedScope_)

Member Functions

Value* As(TypeSymbol* targetType, bool cast, const Span& span, const boost::uuids::uuid& moduleId_, bool dontThrow) const override
Value* Clone() const override
FunctionGroupSymbol* FunctionGroup()
TypeSymbol* GetType(SymbolTable* symbolTable) override
void* IrValue(Emitter& emitter) override
bool IsComplete() const override
bool IsFunctionGroupValue() const override
ContainerScope* QualifiedScope()
void Read(BinaryReader& reader) override
Value* Receiver()
void SetReceiver(std::unique_ptr<Value>&& receiver_)
void SetTemplateTypeArguments(std::vector<TypeSymbol*>&& templateTypeArguments_)
std::vector<TypeSymbol*> TemplateTypeArguments()
void Write(BinaryWriter& writer) override

Member Variables

FunctionGroupSymbol* functionGroup
ContainerScope* qualifiedScope
std::unique_ptr<Value> receiver
std::vector<TypeSymbol*> templateTypeArguments

Constructor Details

FunctionGroupValue Constructor

cmajor::binder::FunctionGroupValue::FunctionGroupValue(FunctionGroupSymbol* functionGroup_, ContainerScope* qualifiedScope_)

Definition at line 90 of Evaluator.cpp :
  90 : Value(Span()boost::uuids::nil_uuid()ValueType::none)functionGroup(functionGroup_)qualifiedScope(qualifiedScope_)
  91 {
  92 }


Declaration at line 68 of Evaluator.cpp


Member Function Details

As Member Function

Value* cmajor::binder::FunctionGroupValue::As(TypeSymbol* targetType, bool cast, const Span& span, const boost::uuids::uuid& moduleId_, bool dontThrow) const override

Definition at line 74 of Evaluator.cpp :
  74 { Assert(false"function group value cannot be converted"); return nullptr; }


Clone Member Function

Value* cmajor::binder::FunctionGroupValue::Clone() const override

Definition at line 71 of Evaluator.cpp :
  71 { Assert(false"function group value cannot be cloned"); return nullptr; }


FunctionGroup Member Function

FunctionGroupSymbol* cmajor::binder::FunctionGroupValue::FunctionGroup()

Definition at line 76 of Evaluator.cpp :
  76 { return functionGroup; }

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


GetType Member Function

TypeSymbol* cmajor::binder::FunctionGroupValue::GetType(SymbolTable* symbolTable) override

Definition at line 78 of Evaluator.cpp :
  78 { return nullptr; }


IrValue Member Function

void * cmajor::binder::FunctionGroupValue::IrValue(Emitter& emitter) override

Definition at line 75 of Evaluator.cpp :
  75 { Assert(false"function group value does not have ir value"); return nullptr; }


IsComplete Member Function

bool cmajor::binder::FunctionGroupValue::IsComplete() const override

Definition at line 69 of Evaluator.cpp :
  69 { return false; }


IsFunctionGroupValue Member Function

bool cmajor::binder::FunctionGroupValue::IsFunctionGroupValue() const override

Definition at line 70 of Evaluator.cpp :
  70 { return true; }


QualifiedScope Member Function

ContainerScope* cmajor::binder::FunctionGroupValue::QualifiedScope()

Definition at line 77 of Evaluator.cpp :
  77 { return qualifiedScope; }

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


Read Member Function

void cmajor::binder::FunctionGroupValue::Read(BinaryReader& reader) override

Definition at line 73 of Evaluator.cpp :
  73 {}


Receiver Member Function

Value* cmajor::binder::FunctionGroupValue::Receiver()

Definition at line 82 of Evaluator.cpp :
  82 { return receiver.get(); }

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


SetReceiver Member Function

void cmajor::binder::FunctionGroupValue::SetReceiver(std::unique_ptr<Value>&& receiver_)

Definition at line 81 of Evaluator.cpp :
  81 { receiver = std::move(receiver_); }

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


SetTemplateTypeArguments Member Function

void cmajor::binder::FunctionGroupValue::SetTemplateTypeArguments(std::vector<TypeSymbol*>&& templateTypeArguments_)

Definition at line 79 of Evaluator.cpp :
  79 { templateTypeArguments = std::move(templateTypeArguments_); }

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


TemplateTypeArguments Member Function

std::vector<TypeSymbol*> cmajor::binder::FunctionGroupValue::TemplateTypeArguments()

Definition at line 80 of Evaluator.cpp :
  80 { return std::move(templateTypeArguments); }

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


Write Member Function

void cmajor::binder::FunctionGroupValue::Write(BinaryWriter& writer) override

Definition at line 72 of Evaluator.cpp :
  72 {}


top | up | prev | next