top | up | prev | next

StringLengthFunction Class

Definition at line 25 of StringFunctions.hpp

Constructors

StringLengthFunction(TypeSymbol* parentType)
StringLengthFunction(const Span& span_, const boost::uuids::uuid& sourceModuleId_, const std::u32string& name_)

Member Functions

std::unique_ptr<Value> ConstructValue(const std::vector<std::unique_ptr<Value>>& argumentValues, const Span& span, const boost::uuids::uuid& moduleId, Value* receiver) const override
void GenerateCall(Emitter& emitter, std::vector<GenObject*>& genObjects, OperationFlags flags, const Span& span, const boost::uuids::uuid& moduleId) override
bool IsBasicTypeOperation() const override
bool IsCompileTimePrimitiveFunction() const override
void Read(SymbolReader& reader) override
void Write(SymbolWriter& writer) override

Constructor Details

StringLengthFunction Constructor

cmajor::symbols::StringLengthFunction::StringLengthFunction(TypeSymbol * parentType)

Definition at line 42 of StringFunctions.cpp
Declaration at line 28 of StringFunctions.hpp


StringLengthFunction Constructor

cmajor::symbols::StringLengthFunction::StringLengthFunction(const Span& span_, const boost::uuids::uuid& sourceModuleId_, const std::u32string& name_)

Definition at line 55 of StringFunctions.cpp :
 55 : FunctionSymbol(span_sourceModuleId_name_)
 56 {
 57 }


Declaration at line 29 of StringFunctions.hpp


Member Function Details

ConstructValue Member Function

std::unique_ptr<Value > cmajor::symbols::StringLengthFunction::ConstructValue(const std::vector<std::unique_ptr<Value >>& argumentValues, const Span& span, const boost::uuids::uuid& moduleId, Value * receiver) const override

Definition at line 74 of StringFunctions.cpp
Declaration at line 33 of StringFunctions.hpp

Base class overridden functions: cmajor::symbols::FunctionSymbol::ConstructValue

Calls: cmajor::symbols::StringValue::Str , cmajor::symbols::UStringValue::Str , cmajor::symbols::Value::GetSubject , cmajor::symbols::Value::GetValueType , cmajor::symbols::Value::IsScopedValue , cmajor::symbols::Value::IsStringReferenceValue , cmajor::symbols::WStringValue::Str


GenerateCall Member Function

void cmajor::symbols::StringLengthFunction::GenerateCall(Emitter& emitter, std::vector<GenObject*>& genObjects, OperationFlags flags, const Span& span, const boost::uuids::uuid& moduleId) override

Definition at line 69 of StringFunctions.cpp :
 70 {
 71     Assert(false"string length is compile time function only");
 72 }


Declaration at line 32 of StringFunctions.hpp


IsBasicTypeOperation Member Function

bool cmajor::symbols::StringLengthFunction::IsBasicTypeOperation() const override

Definition at line 34 of StringFunctions.hpp :
34 { return true; }

Base class overridden functions: cmajor::symbols::FunctionSymbol::IsBasicTypeOperation


IsCompileTimePrimitiveFunction Member Function

bool cmajor::symbols::StringLengthFunction::IsCompileTimePrimitiveFunction() const override

Definition at line 35 of StringFunctions.hpp :
35 { return true; }

Base class overridden functions: cmajor::symbols::FunctionSymbol::IsCompileTimePrimitiveFunction


Read Member Function

void cmajor::symbols::StringLengthFunction::Read(SymbolReader & reader) override

Definition at line 64 of StringFunctions.cpp :
 65 {
 66     FunctionSymbol::Read(reader);
 67 }


Declaration at line 31 of StringFunctions.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::Read , cmajor::symbols::FunctionSymbol::Read , cmajor::symbols::Symbol::Read

Calls: cmajor::symbols::FunctionSymbol::Read


Write Member Function

void cmajor::symbols::StringLengthFunction::Write(SymbolWriter & writer) override

Definition at line 59 of StringFunctions.cpp :
 60 {
 61     FunctionSymbol::Write(writer);
 62 }


Declaration at line 30 of StringFunctions.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::Write , cmajor::symbols::FunctionSymbol::Write , cmajor::symbols::Symbol::Write

Calls: cmajor::symbols::FunctionSymbol::Write


top | up | prev | next