top | up | prev | next

Value Abstract Class

Definition at line 33 of Value.hpp

Constructors

Value(const Span& span_, const boost::uuids::uuid& moduleId_, ValueType valueType_)

Member Functions

Value* As(TypeSymbol* targetType, bool cast, const Span& span, const boost::uuids::uuid& moduleId, bool dontThrow) const pure virtual
const char* ClassName() const virtual
Value* Clone() const pure virtual
const Span& GetSpan() const
Value* GetSubject() virtual
TypeSymbol* GetType(SymbolTable* symbolTable) pure virtual
ValueType GetValueType() const
void* IrValue(Emitter& emitter) pure virtual
bool IsArrayReferenceValue() const virtual
bool IsComplete() const virtual
bool IsComplexValue() const virtual
bool IsFunctionGroupValue() const virtual
bool IsScopedValue() const virtual
bool IsStringReferenceValue() const virtual
bool IsStructuredReferenceValue() const virtual
const boost::uuids::uuid& ModuleId() const
void Read(BinaryReader& reader) pure virtual
void SetType(TypeSymbol* type_) virtual
std::unique_ptr<Element> ToDomElement()
std::string ToString() const virtual
void Write(BinaryWriter& writer) pure virtual

Member Variables

boost::uuids::uuid moduleId
Span span
ValueType valueType

Constructor Details

Value Constructor

cmajor::symbols::Value::Value(const Span& span_, const boost::uuids::uuid& moduleId_, ValueType valueType_)

Definition at line 242 of Value.cpp :
 242 : span(span_)moduleId(moduleId_)valueType(valueType_)
 243 {
 244 }



Member Function Details

As Member Function

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

Definition at line 39 of Value.hpp

Called by: cmajor::symbols::EnumTypeSymbol::CreateDIType


ClassName Member Function

const char * cmajor::symbols::Value::ClassName() const virtual

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

Derived class overrides: cmajor::symbols::ArrayValue::ClassName , cmajor::symbols::BoolValue::ClassName , cmajor::symbols::ByteValue::ClassName , cmajor::symbols::CharValue::ClassName , cmajor::symbols::DoubleValue::ClassName , cmajor::symbols::FloatValue::ClassName , cmajor::symbols::IntValue::ClassName , cmajor::symbols::LongValue::ClassName , cmajor::symbols::NullValue::ClassName , cmajor::symbols::PointerValue::ClassName , cmajor::symbols::SByteValue::ClassName , cmajor::symbols::ShortValue::ClassName , cmajor::symbols::StringValue::ClassName , cmajor::symbols::StructuredValue::ClassName , cmajor::symbols::UCharValue::ClassName , cmajor::symbols::UIntValue::ClassName , cmajor::symbols::ULongValue::ClassName , cmajor::symbols::UShortValue::ClassName , cmajor::symbols::UStringValue::ClassName , cmajor::symbols::UuidValue::ClassName , cmajor::symbols::WCharValue::ClassName , cmajor::symbols::WStringValue::ClassName

Called by: cmajor::symbols::Value::ToDomElement


Clone Member Function

Value * cmajor::symbols::Value::Clone() const pure virtual

Definition at line 38 of Value.hpp

Derived class overrides: cmajor::symbols::ArrayValue::Clone , cmajor::symbols::BoolValue::Clone , cmajor::symbols::ByteValue::Clone , cmajor::symbols::CharValue::Clone , cmajor::symbols::DoubleValue::Clone , cmajor::symbols::FloatValue::Clone , cmajor::symbols::IntValue::Clone , cmajor::symbols::LongValue::Clone , cmajor::symbols::NullValue::Clone , cmajor::symbols::PointerValue::Clone , cmajor::symbols::SByteValue::Clone , cmajor::symbols::ShortValue::Clone , cmajor::symbols::StringValue::Clone , cmajor::symbols::StructuredValue::Clone , cmajor::symbols::UCharValue::Clone , cmajor::symbols::UIntValue::Clone , cmajor::symbols::ULongValue::Clone , cmajor::symbols::UShortValue::Clone , cmajor::symbols::UStringValue::Clone , cmajor::symbols::UuidValue::Clone , cmajor::symbols::WCharValue::Clone , cmajor::symbols::WStringValue::Clone


GetSpan Member Function

const Span & cmajor::symbols::Value::GetSpan() const

Definition at line 54 of Value.hpp :
 54 { return span; }

Called by: cmajor::symbols::ArrayValue::Clone , cmajor::symbols::BoolValue::Clone , cmajor::symbols::ByteValue::Clone , cmajor::symbols::CharValue::Clone , cmajor::symbols::DoubleValue::Clone , cmajor::symbols::FloatValue::Clone , cmajor::symbols::IntValue::Clone , cmajor::symbols::LongValue::Clone , cmajor::symbols::NullValue::Clone , cmajor::symbols::PointerValue::Add , cmajor::symbols::PointerValue::Clone , cmajor::symbols::PointerValue::Deref , cmajor::symbols::PointerValue::PointeeType , cmajor::symbols::PointerValue::Sub , cmajor::symbols::PointerValue::Sub , cmajor::symbols::SByteValue::Clone , cmajor::symbols::ShortValue::Clone , cmajor::symbols::StringValue::Clone , cmajor::symbols::StringValue::GetType , cmajor::symbols::StructuredValue::Clone , cmajor::symbols::UCharValue::Clone , cmajor::symbols::UIntValue::Clone , cmajor::symbols::ULongValue::Clone , cmajor::symbols::UShortValue::Clone , cmajor::symbols::UStringValue::Clone , cmajor::symbols::UStringValue::GetType , cmajor::symbols::UuidValue::Clone , cmajor::symbols::UuidValue::GetType , cmajor::symbols::WCharValue::Clone , cmajor::symbols::WStringValue::Clone , cmajor::symbols::WStringValue::GetType


GetSubject Member Function

Value * cmajor::symbols::Value::GetSubject() virtual

Definition at line 50 of Value.hpp :
 50 { return this; }

Called by: cmajor::symbols::StringLengthFunction::ConstructValue


GetType Member Function

TypeSymbol * cmajor::symbols::Value::GetType(SymbolTable * symbolTable) pure virtual

Definition at line 52 of Value.hpp

Derived class overrides: cmajor::symbols::ArrayValue::GetType , cmajor::symbols::BoolValue::GetType , cmajor::symbols::ByteValue::GetType , cmajor::symbols::CharValue::GetType , cmajor::symbols::DoubleValue::GetType , cmajor::symbols::FloatValue::GetType , cmajor::symbols::IntValue::GetType , cmajor::symbols::LongValue::GetType , cmajor::symbols::NullValue::GetType , cmajor::symbols::PointerValue::GetType , cmajor::symbols::SByteValue::GetType , cmajor::symbols::ShortValue::GetType , cmajor::symbols::StringValue::GetType , cmajor::symbols::StructuredValue::GetType , cmajor::symbols::UCharValue::GetType , cmajor::symbols::UIntValue::GetType , cmajor::symbols::ULongValue::GetType , cmajor::symbols::UShortValue::GetType , cmajor::symbols::UStringValue::GetType , cmajor::symbols::UuidValue::GetType , cmajor::symbols::WCharValue::GetType , cmajor::symbols::WStringValue::GetType


GetValueType Member Function

ValueType cmajor::symbols::Value::GetValueType() const

Definition at line 56 of Value.hpp :
 56 { return valueType; }

Called by: cmajor::symbols::ArrayValue::As , cmajor::symbols::BoolValue::As , cmajor::symbols::ByteValue::As , cmajor::symbols::CharValue::As , cmajor::symbols::DoubleValue::As , cmajor::symbols::FloatValue::As , cmajor::symbols::IntValue::As , cmajor::symbols::IntegralValueHash::operator() , cmajor::symbols::LongValue::As , cmajor::symbols::NullValue::As , cmajor::symbols::PointerValue::As , cmajor::symbols::SByteValue::As , cmajor::symbols::ShortValue::As , cmajor::symbols::StringLengthFunction::ConstructValue , cmajor::symbols::StringValue::As , cmajor::symbols::StructuredValue::As , cmajor::symbols::UCharValue::As , cmajor::symbols::UIntValue::As , cmajor::symbols::ULongValue::As , cmajor::symbols::UShortValue::As , cmajor::symbols::UStringValue::As , cmajor::symbols::UuidValue::As , cmajor::symbols::WCharValue::As , cmajor::symbols::WStringValue::As


IrValue Member Function

void * cmajor::symbols::Value::IrValue(Emitter & emitter) pure virtual

Definition at line 40 of Value.hpp


IsArrayReferenceValue Member Function

bool cmajor::symbols::Value::IsArrayReferenceValue() const virtual

Definition at line 46 of Value.hpp :
 46 { return false; }


IsComplete Member Function

bool cmajor::symbols::Value::IsComplete() const virtual

Definition at line 43 of Value.hpp :
 43 { return true; }


IsComplexValue Member Function

bool cmajor::symbols::Value::IsComplexValue() const virtual

Definition at line 49 of Value.hpp :
 49 { return false; }

Derived class overrides: cmajor::symbols::ArrayValue::IsComplexValue , cmajor::symbols::StructuredValue::IsComplexValue


IsFunctionGroupValue Member Function

bool cmajor::symbols::Value::IsFunctionGroupValue() const virtual

Definition at line 45 of Value.hpp :
 45 { return false; }


IsScopedValue Member Function

bool cmajor::symbols::Value::IsScopedValue() const virtual

Definition at line 44 of Value.hpp :
 44 { return false; }

Called by: cmajor::symbols::StringLengthFunction::ConstructValue


IsStringReferenceValue Member Function

bool cmajor::symbols::Value::IsStringReferenceValue() const virtual

Definition at line 48 of Value.hpp :
 48 { return false; }

Called by: cmajor::symbols::StringLengthFunction::ConstructValue


IsStructuredReferenceValue Member Function

bool cmajor::symbols::Value::IsStructuredReferenceValue() const virtual

Definition at line 47 of Value.hpp :
 47 { return false; }


ModuleId Member Function

const boost::uuids::uuid& cmajor::symbols::Value::ModuleId() const

Definition at line 55 of Value.hpp :
 55 { return moduleId; }

Called by: cmajor::symbols::ArrayValue::Clone , cmajor::symbols::BoolValue::Clone , cmajor::symbols::ByteValue::Clone , cmajor::symbols::CharValue::Clone , cmajor::symbols::DoubleValue::Clone , cmajor::symbols::FloatValue::Clone , cmajor::symbols::IntValue::Clone , cmajor::symbols::LongValue::Clone , cmajor::symbols::NullValue::Clone , cmajor::symbols::PointerValue::Add , cmajor::symbols::PointerValue::Clone , cmajor::symbols::PointerValue::Deref , cmajor::symbols::PointerValue::PointeeType , cmajor::symbols::PointerValue::Sub , cmajor::symbols::PointerValue::Sub , cmajor::symbols::SByteValue::Clone , cmajor::symbols::ShortValue::Clone , cmajor::symbols::StringValue::Clone , cmajor::symbols::StringValue::GetType , cmajor::symbols::StructuredValue::Clone , cmajor::symbols::UCharValue::Clone , cmajor::symbols::UIntValue::Clone , cmajor::symbols::ULongValue::Clone , cmajor::symbols::UShortValue::Clone , cmajor::symbols::UStringValue::Clone , cmajor::symbols::UStringValue::GetType , cmajor::symbols::UuidValue::Clone , cmajor::symbols::UuidValue::GetType , cmajor::symbols::WCharValue::Clone , cmajor::symbols::WStringValue::Clone , cmajor::symbols::WStringValue::GetType


Read Member Function

void cmajor::symbols::Value::Read(BinaryReader& reader) pure virtual

Definition at line 42 of Value.hpp

Derived class overrides: cmajor::symbols::ArrayValue::Read , cmajor::symbols::BoolValue::Read , cmajor::symbols::ByteValue::Read , cmajor::symbols::CharValue::Read , cmajor::symbols::DoubleValue::Read , cmajor::symbols::FloatValue::Read , cmajor::symbols::IntValue::Read , cmajor::symbols::LongValue::Read , cmajor::symbols::NullValue::Read , cmajor::symbols::PointerValue::Read , cmajor::symbols::SByteValue::Read , cmajor::symbols::ShortValue::Read , cmajor::symbols::StringValue::Read , cmajor::symbols::StructuredValue::Read , cmajor::symbols::UCharValue::Read , cmajor::symbols::UIntValue::Read , cmajor::symbols::ULongValue::Read , cmajor::symbols::UShortValue::Read , cmajor::symbols::UStringValue::Read , cmajor::symbols::UuidValue::Read , cmajor::symbols::WCharValue::Read , cmajor::symbols::WStringValue::Read

Called by: cmajor::symbols::ArrayValue::Read , cmajor::symbols::StructuredValue::Read


SetType Member Function

void cmajor::symbols::Value::SetType(TypeSymbol * type_) virtual

Definition at line 53 of Value.hpp :
 53 {}

Derived class overrides: cmajor::symbols::ArrayValue::SetType , cmajor::symbols::PointerValue::SetType , cmajor::symbols::StructuredValue::SetType


ToDomElement Member Function

std::unique_ptr<Element > cmajor::symbols::Value::ToDomElement()

Definition at line 250 of Value.cpp :
 251 {
 252     std::u32string className = ToUtf32(ClassName());
 253     std::unique_ptr<sngxml::dom::Element> element(new sngxml::dom::Element(className));
 254     element->SetAttribute(U"info"ToUtf32(ToString()));
 255     return element;
 256 }


Declaration at line 57 of Value.hpp

Calls: cmajor::symbols::Value::ClassName , cmajor::symbols::Value::ToString


ToString Member Function

std::string cmajor::symbols::Value::ToString() const virtual

Definition at line 51 of Value.hpp :
 51 { return std::string(); }

Derived class overrides: cmajor::symbols::BoolValue::ToString , cmajor::symbols::ByteValue::ToString , cmajor::symbols::CharValue::ToString , cmajor::symbols::DoubleValue::ToString , cmajor::symbols::FloatValue::ToString , cmajor::symbols::IntValue::ToString , cmajor::symbols::LongValue::ToString , cmajor::symbols::NullValue::ToString , cmajor::symbols::SByteValue::ToString , cmajor::symbols::ShortValue::ToString , cmajor::symbols::UCharValue::ToString , cmajor::symbols::UIntValue::ToString , cmajor::symbols::ULongValue::ToString , cmajor::symbols::UShortValue::ToString , cmajor::symbols::WCharValue::ToString

Called by: cmajor::symbols::TypeIndex::AddType , cmajor::symbols::Value::ToDomElement


Write Member Function

void cmajor::symbols::Value::Write(BinaryWriter& writer) pure virtual

Definition at line 41 of Value.hpp

Derived class overrides: cmajor::symbols::ArrayValue::Write , cmajor::symbols::BoolValue::Write , cmajor::symbols::ByteValue::Write , cmajor::symbols::CharValue::Write , cmajor::symbols::DoubleValue::Write , cmajor::symbols::FloatValue::Write , cmajor::symbols::IntValue::Write , cmajor::symbols::LongValue::Write , cmajor::symbols::NullValue::Write , cmajor::symbols::PointerValue::Write , cmajor::symbols::SByteValue::Write , cmajor::symbols::ShortValue::Write , cmajor::symbols::StringValue::Write , cmajor::symbols::StructuredValue::Write , cmajor::symbols::UCharValue::Write , cmajor::symbols::UIntValue::Write , cmajor::symbols::ULongValue::Write , cmajor::symbols::UShortValue::Write , cmajor::symbols::UStringValue::Write , cmajor::symbols::UuidValue::Write , cmajor::symbols::WCharValue::Write , cmajor::symbols::WStringValue::Write

Called by: cmajor::symbols::ArrayValue::Write


top | up | prev | next