top | up | prev | next

PointerArrow Class

Definition at line 963 of OperationRepository.cpp

Constructors

PointerArrow(TypeSymbol* type_, const Span& span, const boost::uuids::uuid& moduleId)

Member Functions

const char* ClassName() const override
SymbolAccess DeclaredAccess() 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

Member Variables

TypeSymbol* type

Constructor Details

PointerArrow Constructor

cmajor::binder::PointerArrow::PointerArrow(TypeSymbol* type_, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 975 of OperationRepository.cpp :
 975 : FunctionSymbol(spanmoduleIdU"operator->")type(type_)
 976 {
 977     SetGroupName(U"operator->");
 978     SetAccess(SymbolAccess::public_);
 979     ParameterSymbol* operandParam = new ParameterSymbol(spanmoduleIdU"operand");
 980     operandParam->SetType(type->AddPointer(spanmoduleId));
 981     AddMember(operandParam);
 982     SetReturnType(type);
 983     ComputeName();
 984 }


Declaration at line 966 of OperationRepository.cpp


Member Function Details

ClassName Member Function

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

Definition at line 970 of OperationRepository.cpp :
 970 { return "PointerArrow"; }


DeclaredAccess Member Function

SymbolAccess cmajor::binder::PointerArrow::DeclaredAccess() const override

Definition at line 967 of OperationRepository.cpp :
 967 { return SymbolAccess::public_; }


GenerateCall Member Function

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

Definition at line 986 of OperationRepository.cpp :
 987 {
 988     Assert(genObjects.size() == 1"return needs one object");
 989     genObjects[0]->Load(emitterOperationFlags::none);
 990 }


Declaration at line 968 of OperationRepository.cpp


IsBasicTypeOperation Member Function

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

Definition at line 969 of OperationRepository.cpp :
 969 { return true; }


top | up | prev | next