top | up | prev | next

CharacterPointerLiteralToStringFunctionContainerConversion Class

Definition at line 235 of BoundCompileUnit.cpp

Constructors

CharacterPointerLiteralToStringFunctionContainerConversion(TypeSymbol* characterPtrType_, TypeSymbol* stringFunctionContainerType_)

Member Functions

const char* ClassName() const override
uint8_t ConversionDistance() const override
std::unique_ptr<Value> ConvertValue(const std::unique_ptr<Value>& value) const override
void GenerateCall(Emitter& emitter, std::vector<GenObject*>& genObjects, OperationFlags flags, const Span& span, const boost::uuids::uuid& moduleId) override
ConversionType GetConversionType() const override
bool IsBasicTypeOperation() const override

Member Variables

TypeSymbol* characterPtrType
TypeSymbol* stringFunctionContainerType

Constructor Details

CharacterPointerLiteralToStringFunctionContainerConversion Constructor

cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::CharacterPointerLiteralToStringFunctionContainerConversion(TypeSymbol* characterPtrType_, TypeSymbol* stringFunctionContainerType_)

Definition at line 250 of BoundCompileUnit.cpp :
 250 :
 251 FunctionSymbol(Span()boost::uuids::nil_uuid()U"charlit2stringFun")characterPtrType(characterPtrType_)stringFunctionContainerType(stringFunctionContainerType_)
 252 {
 253     SetConversion();
 254     SetGroupName(U"@conversion");
 255     SetAccess(SymbolAccess::public_);
 256     SetConversionSourceType(characterPtrType->PlainType(GetSpan()SourceModuleId()));
 257     SetConversionTargetType(stringFunctionContainerType->PlainType(GetSpan()SourceModuleId()));
 258 }


Declaration at line 238 of BoundCompileUnit.cpp


Member Function Details

ClassName Member Function

const char * cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::ClassName() const override

Definition at line 244 of BoundCompileUnit.cpp :
 244 { return "CharacterPointerLiteralToStringFunctionContainerConversion"; }


ConversionDistance Member Function

uint8_t cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::ConversionDistance() const override

Definition at line 240 of BoundCompileUnit.cpp :
 240 { return 1; }


ConvertValue Member Function

std::unique_ptr<Value> cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::ConvertValue(const std::unique_ptr<Value>& value) const override

Definition at line 265 of BoundCompileUnit.cpp :
 266 {
 267     return std::unique_ptr<Value>();
 268 }


Declaration at line 243 of BoundCompileUnit.cpp


GenerateCall Member Function

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

Definition at line 260 of BoundCompileUnit.cpp :
 261 {
 262     throw std::runtime_error(ToUtf8(Name()) + " function provides compile time calls only");
 263 }


Declaration at line 242 of BoundCompileUnit.cpp


GetConversionType Member Function

ConversionType cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::GetConversionType() const override

Definition at line 239 of BoundCompileUnit.cpp :
 239 { return ConversionType::implicit_; }


IsBasicTypeOperation Member Function

bool cmajor::binder::CharacterPointerLiteralToStringFunctionContainerConversion::IsBasicTypeOperation() const override

Definition at line 241 of BoundCompileUnit.cpp :
 241 { return true; }


top | up | prev | next