top | up | prev | next

NullValue Abstract Class

Definition at line 371 of Value.hpp

Constructors

NullValue(const Span& span_, const boost::uuids::uuid& moduleId_, TypeSymbol* nullPtrType_)

Member Functions

Value* As(TypeSymbol* targetType, bool cast, const Span& span, const boost::uuids::uuid& moduleId, bool dontThrow) const
const char* ClassName() const override
Value* Clone() const override
TypeSymbol* GetType(SymbolTable* symbolTable) override
void* IrValue(Emitter& emitter)
void Read(BinaryReader& reader) override
std::string ToString() const override
void Write(BinaryWriter& writer) override

Member Variables

TypeSymbol* nullPtrType

Constructor Details

NullValue Constructor

cmajor::symbols::NullValue::NullValue(const Span& span_, const boost::uuids::uuid& moduleId_, TypeSymbol * nullPtrType_)

Definition at line 3794 of Value.cpp :
3794 : Value(span_moduleId_ValueType::nullValue)nullPtrType(nullPtrType_)
3795 {
3796 }



Member Function Details

As Member Function

Value * cmajor::symbols::NullValue::As(TypeSymbol * targetType, bool cast, const Span& span, const boost::uuids::uuid& moduleId, bool dontThrow) const

Definition at line 3811 of Value.cpp

Calls: cmajor::symbols::TypeSymbol::GetValueType , cmajor::symbols::TypeSymbol::IsPointerType , cmajor::symbols::Value::GetValueType


ClassName Member Function

const char * cmajor::symbols::NullValue::ClassName() const override

Definition at line 382 of Value.hpp :
382 { return "NullValue"; }

Base class overridden functions: cmajor::symbols::Value::ClassName


Clone Member Function

Value * cmajor::symbols::NullValue::Clone() const override

Definition at line 375 of Value.hpp :
375 { return new NullValue(GetSpan()ModuleId()nullPtrType); }

Base class overridden functions: cmajor::symbols::Value::Clone

Calls: cmajor::symbols::Value::GetSpan , cmajor::symbols::Value::ModuleId


GetType Member Function

TypeSymbol * cmajor::symbols::NullValue::GetType(SymbolTable * symbolTable) override

Definition at line 3851 of Value.cpp :
3852 {
3853     return nullPtrType;
3854 }


Declaration at line 381 of Value.hpp

Base class overridden functions: cmajor::symbols::Value::GetType


IrValue Member Function

void * cmajor::symbols::NullValue::IrValue(Emitter& emitter)

Definition at line 3798 of Value.cpp :
3799 {
3800     return emitter.CreateDefaultIrValueForPtrType(nullPtrType->IrType(emitter));
3801 }


Calls: cmajor::symbols::TypeSymbol::IrType


Read Member Function

void cmajor::symbols::NullValue::Read(BinaryReader& reader) override

Definition at line 3807 of Value.cpp :
3808 {
3809 }


Declaration at line 378 of Value.hpp

Base class overridden functions: cmajor::symbols::Value::Read


ToString Member Function

std::string cmajor::symbols::NullValue::ToString() const override

Definition at line 380 of Value.hpp :
380 { return "null"; }

Base class overridden functions: cmajor::symbols::Value::ToString


Write Member Function

void cmajor::symbols::NullValue::Write(BinaryWriter& writer) override

Definition at line 3803 of Value.cpp :
3804 {
3805 }


Declaration at line 377 of Value.hpp

Base class overridden functions: cmajor::symbols::Value::Write


top | up | prev | next