Class StrType

Inheritance Relationships

Base Type

Class Documentation

class seq::types::StrType : public seq::types::BaseSeqType

Public Functions

llvm::Value *memb(llvm::Value *self, const std::string &name, llvm::BasicBlock *block) override

Extract a given member (field or method) from this type.

Return

member value

Parameters
  • self: a value of this type

  • name: name of the member

  • block: where to codegen the member

llvm::Value *setMemb(llvm::Value *self, const std::string &name, llvm::Value *val, llvm::BasicBlock *block) override

Sets the specified member of this type.

Return

value (possibly self) containing new member

Parameters
  • self: a value of this type

  • name: name of the member

  • val: value to assign to member

  • block: where to codegen the assignment

void initOps() override

Performs a one-time initialization of this type’s methods, including magic methods.

llvm::Value *make(llvm::Value *ptr, llvm::Value *len, llvm::BasicBlock *block) override

Public Static Functions

StrType *get() noexcept