Class Assign

Inheritance Relationships

Base Type

Class Documentation

class seq::Assign : public seq::Stmt

Public Functions

Assign(Var *var, Expr *value, bool atomic = false)
void setAtomic()
void resolveTypes() override

Performs type resolution on this statement and all sub-expressions/statements/etc. This is called prior to Expr::getType().

void codegen0(llvm::BasicBlock *&block) override

Performs code generation for this statement.

Parameters
  • block: reference to block where code should be generated; possibly modified to point to a new block where codegen should resume

Assign *clone(Generic *ref) override

Clones this statement. ref is used internally to keep track of cloned objects, and to make sure we don’t clone certain objects twice.

Return

cloned statement

Parameters
  • ref: generic object that is being cloned